当前位置: 首页 > news >正文

(2025,LLM,下一 token 预测,扩散微调,L2D,推理增强,可扩展计算)从大语言模型到扩散微调

Large Language Models to Diffusion Finetuning

目录

1. 概述

2. 研究背景

3. 方法

3.1 用于 LM 微调的高斯扩散

3.2 架构

4. 主要实验结果

5. 结论


1. 概述

本文提出了一种新的微调方法——LM to Diffusion (L2D),旨在赋予预训练的大语言模型(Large Language Models, LLMs)测试时可扩展计算能力。

研究发现,通过在推理过程中增加扩散步数,模型的准确性可以单调增加,从而提高在数学、编程和推理等下游任务中的性能。

此外,该方法可以结合强大的引导技术,优化计算资源的动态分配,同时保持语言模型的单步生成能力。

本文的主要贡献包括:

  • 提出 L2D 微调方法,结合语言模型的自回归能力和扩散模型的多步推理能力,利用语言模型的预测来更新扩散状态。
  • 证明 L2D 可扩展计算能力,通过增加计算资源提高推理质量。
  • 提升 LMs 在数学、编程和推理任务上的表现,同时保留其单步生成能力。
  • 实现高效微调:L2D 不修改模型原始参数,仅需修改少量参数,即可在多个任务上取得显著提升。  

2. 研究背景

当前自回归(autoregressive)大语言模型在推理能力上存在一定的局限性,主要体现在:

  • 无法根据任务的复杂度调整计算资源。
  • 生成结果的质量受限于单步预测,而无法进行多步优化。

扩散模型(Diffusion Models)在视觉领域的成功启发了研究人员尝试将其应用于语言建模,以引入多步推理的能力。然而,由于离散文本数据的特殊性,现有的扩散语言模型在性能上落后于自回归模型。

3. 方法

3.1 用于 LM 微调的高斯扩散

L2D 通过将 LMs 视为单步扩散模型,并在其基础上扩展多步推理能力,从而增强 LLM 的推理能力,而不会影响其原始的单步生成能力。

语言建模在有限词汇表 V 上定义的目标分布 p_1 上运行。给定一个由标签 y 索引的 token x_1,该 token 与来自目标数据分布 p_1 的先前 token c 的上下文一起采样,我们的扩散损失公式如下:

使用公式 3 训练扩散模型可以解释为标准的下一个 token 预测,其中为模型提供了一个额外的扩散 token x_t,包含有关目标 y 的一定程度的知识,范围从无信息(t = 0)到完美信息(t = 1)。

  • 当 t = 0 时,LM 本质上是用与 L2D 相同的预测目标进行训练的,此时 x_0 与目标 y 完全不相关。
  • 遵循算法 1 的推理涉及从模型的 logit 中迭代采样越来越准确的下一个 token ˆx,直到采样预算 T。
  • 传统的 LM 推理可以再次被视为此过程的特例(T = 1),其中仅使用模型的第一个样本来预测 y。

这些设计选择的目的是 L2D 旨在通过微调方法扩展预先训练的 LM,而不是从头开始学习新模型。

虽然从一开始就完全采用扩散训练可能看起来更为普遍,但我们认为这可能会失去传统自回归建模所固有的一些训练可扩展性和强大的归纳偏差。正是这些偏差使传统自回归建模在语言领域得到广泛确立。

3.2 架构

L2D 的实现设计为预训练 transformer 的模块化扩展,以有效利用扩散的多步扩展能力,同时保留其原始的单步生成能力。

L2D 在其架构中引入了一条 并行扩散路径,其中传播扩散 token x_t 的隐藏表示,仅在最后一层影响冻结的主 LM 路径

  • L2D 使用 transformer 架构以及与主路径 f_{θ_l} 相同数量的块来实现扩散路径 f_{θ_d} 。为了充分利用预训练 LM 的知识,扩散路径中的所有层也都使用来自 θ_l 的权重进行初始化。
  • 扩散路径中的 transformer 由一系列残差 MLP 和交叉注意模块组成。虽然 MLP 模块遵循与 f_{θ_l} 中相应模块相同的结构,但交叉注意模块专门参数化 query 和输出线性层。具体而言,在交叉注意期间,目标 token y_k 的扩散 token x^k_t 会关注从 f_{θ_l} 中相应的自注意模块计算出的所有先前的 key 和 value。
  • 最终,只在所有块之后,即 LM 的线性头之前,将 f_θ 中处理的信息整合回主路径。具体来说, 将这两条路径与元素加权和 f_{θ_l} + w_d·f_{θ_d} 合并,其中扩散 token x^k_t 的重新缩放潜变量被添加到前一个 token x^{k−1} 的潜变量中。

4. 主要实验结果

研究者在多个基准测试(benchmark)上对 L2D 进行了实验,包括:数学任务(GSM8K、MATH),编程任务(HumanEval、MBPP),知识推理任务(MMLU、MMLU-Pro)

增加扩散步数(计算量)能显著提高推理能力,但性能提升在一定步数后趋于稳定。 

L2D 在所有测试集上均提升了语言模型的性能,特别是在数学和编程任务上,表现尤为明显。

L2D 兼容现有的微调方法(如 LoRA 和全参数微调),且比传统微调方法更高效。

引导技术(Classifier-Free Guidance) 使 L2D 在特定任务上的表现进一步提升,允许用户在生成过程中指定任务需求。

5. 结论

L2D 通过结合扩散模型的推理增强能力,使大语言模型能够更高效地利用计算资源,提高复杂任务的推理能力。这项研究为未来的大语言模型微调提供了一条新的方向,通过引入扩散计算框架,使模型能够智能调整计算资源,提高推理质量,在多个领域展现出了良好的潜力。

【一个比较关心且重要的问题,新添加的扩散路径导致的额外计算开销是多少?原文并未提及】

论文地址:https://arxiv.org/abs/2501.15781

进 Q 学术交流群:922230617

相关文章:

(2025,LLM,下一 token 预测,扩散微调,L2D,推理增强,可扩展计算)从大语言模型到扩散微调

Large Language Models to Diffusion Finetuning 目录 1. 概述 2. 研究背景 3. 方法 3.1 用于 LM 微调的高斯扩散 3.2 架构 4. 主要实验结果 5. 结论 1. 概述 本文提出了一种新的微调方法——LM to Diffusion (L2D),旨在赋予预训练的大语言模型(…...

如何开发一个大语言模型,开发流程及需要的专业知识

开发大型语言模型(LLM)是一个复杂且资源密集的过程,涉及多个阶段和跨学科知识。以下是详细的开发流程和所需专业知识指南: 一、开发流程 1. 需求分析与规划 目标定义:明确模型用途(如对话、翻译、代码生成…...

【数据采集】基于Selenium采集豆瓣电影Top250的详细数据

基于Selenium采集豆瓣电影Top250的详细数据 Selenium官网:https://www.selenium.dev/blog/ 豆瓣电影Top250官网:https://movie.douban.com/top250 写在前面 实验目标:基于Selenium框架采集豆瓣电影Top250的详细数据。 电脑系统:Windows 使用软件:PyCharm、Navicat 技术需求…...

neo4j-在Linux中安装neo4j

目录 切换jdk 安装neo4j 配置neo4j以便其他电脑可以访问 切换jdk 因为我安装的jdk是1.8版本的,而我安装的neo4j版本为5.15,Neo4j Community 5.15.0 不支持 Java 1.8,它要求 Java 17 或更高版本。 所以我需要升级Java到17 安装 OpenJDK 17 sudo yu…...

多无人机--强化学习

这个是我对于我的大创项目的构思,随着时间逐渐更新 项目概要 我们的项目平台来自挑战杯揭绑挂帅的无人机对抗项目,但是在由于时间原因,并未考虑强化学习,所以现在通过大创项目来弥补遗憾 我们项目分为三部分,分为虚…...

UE制作2d游戏

2d免费资产: Free 2D Game Assets - CraftPix.net 需要用到PaperZD插件 官网下载后启用即可 导入png素材 然后全选 - 创建Sprite 创建 人物基类 设置弹簧臂和相机 弹簧臂设置成旋转-90 , 取消碰撞测试 设置子类Sprite 拖到场景中 绑定设置输入映射,让角色移动跳跃 神似卡拉比…...

说一下JVM管理的常见参数

Java虚拟机&#xff08;JVM&#xff09;有许多常见参数&#xff0c;用于控制其行为和性能。以下是一些常见的JVM参数及其说明&#xff1a; 1. 内存管理参数 -Xms<size> START 设置初始堆内存大小。例如&#xff0c;-Xms512m表示初始堆大小为512MB。 -Xmx<size>…...

【FPGA】 MIPS 12条整数指令【2】

目录 仿真 代码 完整代码 实现slt 仿真 ori r1,r0,1100h ori r2,r0,0020h ori r3,r0,ff00h ori r4,r0,ffffh addi r5,r0,ffff slt r6,r5,r4 slt r6,r4,r3 代码 EX Slt:regcData ($signed(regaData)<$signed(regbData))?1b1:1b0; ID Inst_slt:be…...

机器学习--python基础库之Matplotlib (2) 简单易懂!!!

python基础库之Matplotlib&#xff08;2&#xff09; python基础库之Matplotlib0 准备1 散点图的绘制2 柱状图绘制3 其他 python基础库之Matplotlib 上篇文章机器学习–python基础库之Matplotlib (1) 超级详细!!!主要讲解了python的基础库matplotlib中绘图的流程以及折线图的…...

mybatis plus 持久化使用技巧及场景

mybatis plus提供了很多强大的持久化工具&#xff0c;新手容易对这些工具使用困难&#xff0c;下面我总结了一下mybatis plus持久化的使用技巧及使用场景。 一、持久化 官方文档&#xff1a;https://baomidou.com/guides/data-interface/ &#xff08;一&#xff09;通过ser…...

JVM监控和管理工具

基础故障处理工具 jps jps(JVM Process Status Tool)&#xff1a;Java虚拟机进程状态工具 功能 1&#xff1a;列出正在运行的虚拟机进程 2&#xff1a;显示虚拟机执行主类(main()方法所在的类) 3&#xff1a;显示进程ID(PID&#xff0c;Process Identifier) 命令格式 jps […...

记录 | 基于MaxKB的文字生成视频

目录 前言一、安装SDK二、创建视频函数库三、调试更新时间 前言 参考文章&#xff1a;如何利用智谱全模态免费模型&#xff0c;生成大家都喜欢的图、文、视并茂的文章&#xff01; 自己的感想 本文记录了创建文字生成视频的函数库的过程。如果想复现本文&#xff0c;需要你逐一…...

生成式AI安全最佳实践 - 抵御OWASP Top 10攻击 (下)

今天小李哥将开启全新的技术分享系列&#xff0c;为大家介绍生成式AI的安全解决方案设计方法和最佳实践。近年来生成式 AI 安全市场正迅速发展。据IDC预测&#xff0c;到2025年全球 AI 安全解决方案市场规模将突破200亿美元&#xff0c;年复合增长率超过30%&#xff0c;而Gartn…...

现场流不稳定,EasyCVR视频融合平台如何解决RTSP拉流不能播放的问题?

视频汇聚EasyCVR安防监控视频系统采用先进的网络传输技术&#xff0c;支持高清视频的接入和传输&#xff0c;能够满足大规模、高并发的远程监控需求。平台灵活性强&#xff0c;支持国标GB/T 28181协议、部标JT808、GA/T 1400协议、RTMP、RTSP/Onvif协议、海康Ehome、海康SDK、大…...

文献阅读 250205-Global patterns and drivers of tropical aboveground carbon changes

Global patterns and drivers of tropical aboveground carbon changes 来自 <Global patterns and drivers of tropical aboveground carbon changes | Nature Climate Change> 热带地上碳变化的全球模式和驱动因素 ## Abstract: Tropical terrestrial ecosystems play …...

算法与数据结构(括号匹配问题)

思路 从题干可以看出&#xff0c;只要给出的括号对应关系正确&#xff0c;那么就可以返回true,否则返回false。这个题可以使用栈来解决 解题过程 首先从第一个字符开始遍历&#xff0c;如果是括号的左边&#xff08;‘&#xff08;‘&#xff0c;’[‘&#xff0c;’}‘&…...

订单状态监控实战:基于 SQL 的状态机分析与异常检测

目录 1. 背景与问题 2. 数据准备 2.1 表结构设计 3. 场景分析与实现 3.1 场景 1:检测非法状态转换...

C# 中记录(Record)详解

从C#9.0开始&#xff0c;我们有了一个有趣的语法糖&#xff1a;记录(record)   为什么提供记录&#xff1f; 开发过程中&#xff0c;我们往往会创建一些简单的实体&#xff0c;它们仅仅拥有一些简单的属性&#xff0c;可能还有几个简单的方法&#xff0c;比如DTO等等&#xf…...

YOLOv11-ultralytics-8.3.67部分代码阅读笔记-autobackend.py

autobackend.py ultralytics\nn\autobackend.py 目录 autobackend.py 1.所需的库和模块 2.def check_class_names(names): 3.def default_class_names(dataNone): 4.class AutoBackend(nn.Module): 1.所需的库和模块 # Ultralytics &#x1f680; AGPL-3.0 License …...

Docker使用指南(一)——镜像相关操作详解(实战案例教学,适合小白跟学)

目录 1.镜像名的组成 2.镜像操作相关命令 镜像常用命令总结&#xff1a; 1. docker images 2. docker rmi 3. docker pull 4. docker push 5. docker save 6. docker load 7. docker tag 8. docker build 9. docker history 10. docker inspect 11. docker prune…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;百货中心供应链管理系统被用户普遍使用&#xff0c;为方…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来&#xff0c;Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下&#xff0c;无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作&#xff0c;还是游戏直播的画面实时传输&#xff0c;低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架&#xff0c;凭借其灵活的编解码、数据…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...