- 博客(475)
- 资源 (2)
- 收藏
- 关注
原创 【AI Infra】【RLHF框架】三、VeRL中的Rollout实现源码解析
verl使用vllm、sglang等推理引擎来优化rollout过程,本文以vllm(<=0.6.3)为例来解析verl中涉及rollout的部分。下面的文章从设计者的视角对verl进行了深入的解析,而本文就当做从学习者视角对rollout部分的补充。
2025-03-27 15:48:47
508
原创 【AI Infra】【RLHF框架】二、VeRL中colocate实现解析
colocate的作用是使多个Worker共享相同的资源池。。这篇博客主要通过例子和源代码理解verl中colocate的实现,需要一些前置知识。建议先阅读。
2025-03-21 15:08:28
548
原创 【AI Infra】【RLHF框架】一、VeRL中基于Ray的执行流程源码解析
Worker并不执行具体的计算任务,因此需要用户继承该类来实现自定义的计算任务。这里展示一个模拟"数据并行(DP)"前向的例子,来更好的理解Ray和Worker如何实现分布式计算。import osimport rayray.init()# 初始化Master Workertime.sleep(10) # 等待register_center_actor创建。
2025-03-14 10:24:20
746
原创 【偏好对齐】Satori:一个DeepSeek-R1的Concurrent Work
论文地址:https://arxiv.org/pdf/2502.02508 论文的目标是利用强化学习(RL)提升语言模型πθ解决数学问题的能力。即给定问题x,期望模型能够生成与真实解y∗相匹配的解y。
2025-02-17 10:06:34
912
原创 【偏好对齐】DivPO:提升LLM响应的多样性
核心思想。基于上面的分析,优化的目标包括:(1) 使得高奖励的响应具有更高的生成概率;(2) 所有高奖励的响应具有类似的概率。DPO的目标是优化奖励间隔,最高奖励响应ycy_cyc作为"chosen",最低奖励响应yry_ryr作为"rejected"。DivPO则添加了挑选chose和rejected的新约束,即并不选择奖励最高的响应作为"chosen",而是选择符合特定奖励阈值且更好多样性的响应;类似地,挑选低于奖励阈值且多样性更低的响应作为"rejected"。具体实现。
2025-02-11 16:39:00
705
原创 【自然语言处理】利用Memory Layer替换Transformer中的FFN
论文地址:https://arxiv.org/pdf/2412.09764 本文提出了一种memory layer用于替换Transformer中的FFN,从而提升模型的知识容量。
2025-02-09 11:48:42
824
原创 【偏好对齐】推理策略感知的微调
论文地址:https://arxiv.org/pdf/2412.15287 推理时提供更多计算资源可以有效改善LLM的性能。但是,目前的推理时计算方式往往作为传统预训练和微调之后的一种附加选项。。这篇论文针对BoN推理策略,提出了一种推理感知的微调方式,实现训练和推理过程的紧密结合。
2025-01-18 19:03:17
1040
原创 【偏好对齐】通过ORM直接推导出PRM
PRM在强化学习中优于ORM,但训练成本高且数据收集困难。通过ORM直接构造PRM,可避免MCTS的高成本和不准确估计,提供更精确的奖励值。
2025-01-04 17:17:52
1164
原创 【偏好对齐】PRM应该奖励单个步骤的正确性吗?
策略模型与问题求解。给定一个数学问题x∈Xx∈X,策略模型π\piπ从集合YY从采样应答y∼π⋅∣xy∼π⋅∣x,应答yyy通常是由多个推理步骤构成,每个步骤会使用一个换行进行分隔,即ya1a2aHya1a2aH。最终的目标是如何优化π\piπ,使得其生成正确的yyy。自回归采样与马尔科夫过程。当前LLM都是自回归的模型。因此,求解过程中的每个步骤可以看作是策略π\piπ。
2024-12-29 22:40:17
993
原创 【极速前进】20240804:Case2Code提升归纳推理能力、归纳推理和演绎推理、LLM Patch-level训练、LLM内部冲突和上下文冲突
大多数LLM擅长演绎(deductive)推理,例如CoT等;本文希望探索LLM的归纳推理能力,即LLM通过示例样本来推断潜在的规则;提出Case2Code任务并利用合成数据探索归纳推理能力;实验显示,通过合成的归纳推理代码数据不但能够提高Case2Code任务上的效果,而且也能增强LLM的代码能力; 推理包含两种类型:演绎(deductive)推理和归纳(inductive)推理。大多数LLM的推理研究都没有清晰区分演绎和归纳两种推理。那么LLM更擅长演绎推理还是归纳推理?
2024-08-25 13:00:21
800
原创 【极速前进】20240706-24240714:用于Agent的树搜、理解LLM的语种困惑、事实知识抽取微调、Quiet-STaR
基于LLM的Agent已经展现出了执行决策任务的能力,但是LM主要是针对自然语言理解和生成进行优化的。在基于多步推理、计划和理解环境反馈来求解现实计算机任务对于LM来说很难。本文为LM agent提出了一种推理时搜索算法,用于在web环境中执行探索和多步计划。 本文研究LLM的局限性:它们无法始终如一地以用户期望的语言生成文本。创建了一个语言困惑基准(Language Confusion Benchmark, LCBl)来评估语言一致性,其覆盖了15种不同类型的语言。
2024-08-04 11:45:16
983
原创 【极速前进】20240615-20240623:Zipper融合模态、VideoLLM视频理解、WebAgent可以自我改善、Nemotron-4、AnyGPT统一模态
将多个不同模态的基础模型合并成优于各个部分的大模型非常有挑战;两个关键挑战:(1) 对齐数据的可用性;(2) 如何在跨领域生成任务中利用单模态表示且不损坏原始能力;本文提出称为Zipper的多塔解码器架构,利用交叉注意力来从独立预训练单模态解码器构成多模态生成模型;在语音和文本融合实验中,本文提出的架构表示非常好;Zipper具有很好的灵活性,冻结相应模态来选择性地保持单模态生成能力; VideoLLM的目标是通过参数高效迁移学习将LLM应用在视频序列理解人物上。
2024-06-23 16:19:05
1625
1
原创 【极速前进】20240608-20240610:评估模型Prometheus 2、CoPE、DITTO:使用示例反馈对齐LLM、CoA:利用多Agent解决长文本、Qwen2在线合并优化器
论文名称:Prometheus 2: An Open Source Language Model Specialized in Evaluating Other论文地址:https://arxiv.org/pdf/2405.01535 GPT-4这样的闭源模型经常被用来评估其他语言模型的效果。开源模型中没有与其完全相当的评估模型,通常要比效果比较差,要么评估任务的形式不够灵活。 直接评估就是将指令i和响应r映射为单个标量分数s,即fdirect:(i,r)→sf_{direct}:(i,r)\right
2024-06-10 19:37:41
921
原创 【自然语言处理】【Scaling Law】Observational Scaling Laws:跨不同模型构建Scaling Law
Scaling Law能够建立模型规模和效果的联系,但是需要跨不同尺寸来训练模型;本文提出的observational scaling law跳过模型训练的过程,而是从80个公开模型上建立scaling law;从多个模型族中构建scaling law非常有挑战,因为训练的计算代码和能力都在变化。然而,本文展示了这些变化普通的scaling law一致,语言模型的效果是低维能力空间的函数,而模型族的变化仅在将训练计算量转换为能力的效果上不同。
2024-06-02 18:25:47
1679
2
原创 【自然语言处理】【Scaling Law】语言模型物理学 第3.3部分:知识容量Scaling Laws
Scaling laws描述了模型尺寸与其能力的关系。不同于先前通过loss或者基准来评估模型能力,本文评估模型存储的知识数量。这里主要是关注以元组方式表示的知识,例如(USA, capital, Washington D.C)。通过多个受控数据集,发现每个参数仅能存储2 bit的知识,即使参数量化为8bit也有相同结论。因此,7B模型能够存储14B bit的指数,超过了英文Wikipedia和教科书的总和。
2024-05-30 23:09:18
1602
原创 【自然语言处理】Transformer中的一种线性特征
本文揭示了transformer decoder独有的一种线性特征。分析相邻层的embedding变换,发现其具有接近完美的线性关系。由于transformer层输出的范数一直很小,当移除残差链接时,线性度下降。实验显示,当移除特别接近于线性的模块或者使用线性近似这些模块,对loss或者模型表现几乎没有影响。通过在预训练中引入基于cosine相似度的正则化项来降低层的线性度,改善了模型在TinyStories和SuperGLUE上的效果。
2024-05-30 21:27:47
979
原创 【极速前进】20240524-20240526:Meta多模态模型Chameleon、参数高效微调MoRA、跨层注意力降低KV Cache、Octopus v4、SimPO
CLA仅计算模型中部分层的key/value投影,没有计算key/value投影的注意力块则重用前一层的KV激活。相比于像GPT-4这样的模型,这种设计方式的优势是回答用户问题时,仅需要激活两个小模型,而不是一个巨大的模型。此外,对于特定的模型,可以在函数的doc string中详细说明所需的prompt模板。使用训练数据的子集来训练新的BPE tokenizer,词表大小为65536,其中包含8192个图像codebook tokens,使用sentencepiece库。:传递执行任务所需要的信息。
2024-05-26 22:04:34
660
原创 【自然语言处理】【大模型】DeepSeek-V2论文解析
论文地址:https://arxiv.org/pdf/2405.04434 传统Transformer采用MHA(Multi-Head Attention),但是kv cache会成为推理瓶颈。MQA(Multi-Query Attention)和GQA(Grouped-Query Attention)可以一定程度减少kv cache,但效果上不如MHA。DeepSeek-V2设计了一种称为MLA(Multi-Head Latent Attention)的注意力机制。MLA通过低秩key-value联合压
2024-05-12 12:15:47
10678
7
原创 【极速前进】20240423-20240428:Phi-3、fDPO、TextSquare多模态合成数据、遵循准则而不是偏好标签、混合LoRA专家
发布了phi-3-mini,一个在3.3T token上训练的3.8B模型。此外,还发布了7B和14B模型phi-3-small和phi-3-medium。SAMI的目标就是在给定X的情况下,最大化C和Y的互信息,即最大化。 低质量数据对DPO有显著影响,fDPO的思路是使用奖励模型RM来过滤DPO的数据。 InfoNCE是条件互信息的下界,因此通过优化InfoNCE来优化互信息,具体为。这种方式会降低对原始模型的影响,但也会导致LoRA带来的特性减弱。会受到影响,降低模型的生成能力。
2024-05-07 18:24:50
950
原创 【极速前进】20240422:预训练RHO-1、合成数据CodecLM、网页到HTML数据集、MLLM消融实验MM1、Branch-Train-Mix
通过分析token级别loss,发现token的损失值有4种模式:持续高损失值(H->H)、损失值增加(L->H)、损失值下降(H->L)、持续低损失值(L->L)。 有两种类型的数据常用于训练MLLM:一种是成对文本和图像的captioning数据,另一种是来自于网络的交错图像文本数据。 早期的Branch-Train-Merge方法在推理时通过确定领域来选择专家,通常多个专家被选择且最终的输出分布是next token的简单平均。通过简单的将每个领域的FF子层划分为更多的块就能增加专家的数量。
2024-04-22 22:36:54
805
原创 【极速前进】20240415-20240421:TR-DPO、压缩与智能的线性关系、模拟伪代码改善算术能力、Many-shot、合成数据综述
数学方面的合成数据主要包括预训练数据合成和微调数据合成。在《我的世界》游戏中,Voyager部署了一些基于GPT-4的Agent与环境交互,发现这些Agent在合成反馈的帮助下更快解锁新技能并完成规划。在RLHF中,近期研究提出将合成数据和人类数据结合的方法来训练更稳健的奖励模型。网络收集的图文对中通常包含噪音且语言描述粒度太粗,在文档、屏幕、图形和图表等领域,可以很方便从图像渲染引擎的合成管道中获得细粒度的对齐。LaMDA的训练数据中包含了众包的交互数据和合成数据,从而使其能够调用合适的工具;
2024-04-21 18:40:40
1141
原创 【自然语言处理】【大模型】BitNet:用1-bit Transformer训练LLM
语言模型的规模不断扩大,这对部署带来了巨大的挑战。本文设计了一种可扩展且稳定的1-bit Transformer架构来实现大语言模型,称为BitNet。具体来说,使用BitLinear作为标准nn的替代品。实验结果表明BitNet能够显著减少存储占用和能力消耗,并且与最先进的8-bit量化和FP16 Transformer能力相当。此外,BitNet也表现出了类似于全精度Transformer的scaling law,这也表明其有潜力在保持效率和性能的同时,能够更加有效的扩展至更大的语言模型。
2024-03-06 21:31:40
2910
原创 【自然语言处理】BitNet b1.58:1bit LLM时代
论文地址:https://arxiv.org/pdf/2402.17764.pdf。
2024-03-03 10:42:15
1462
原创 【深度学习】神经正切核(NTK)理论
本文来自于《Theory of Deep Learning》,主要是对神经正切核(NTK)理论进行介绍。这里主要是补充了一些基本概念以及部分推导过程。作为软件工程出身,数学不是特别好,有些基础知识和推导步骤没办法一次补足。若有机会,后续会逐步补全缺失的部分。 设X1,…,XnX_1,\dots,X_nX1,…,Xn为nnn个独立的随机变量,且XiX_iXi的边界为[ai,bi][a_i,b_i][ai,bi]。令Xˉ=1n∑i=1nXi\bar{X}=\frac{1}{n}\sum_{i=1
2024-01-02 14:48:57
1896
原创 【自然语言处理】【大模型】 ΨPO:一个理解人类偏好学习的统一理论框架
论文地址:https://arxiv.org/pdf/2310.12036.pdf 通过强化学习来学习人类偏好(RLHF)主要依赖于两个重要的近似。第一个假设是成对的偏好可以被单个奖励值所替代;第二个假设是基于奖励值训练的奖励模型能够泛化到分布外的数据上。近期,DPO方法已经可以从收集的数据中直接学习策略,而不需要奖励建模阶段。然而,这个方法严重依赖于第一个假设。 本文中,试图对这些实际中的算法进行更深入的理论理解。特别地,本文推导了一个新的通用目标函数ΨPO\Psi\text{PO}ΨPO来从人类偏好
2023-12-27 22:17:02
1368
原创 【自然语言处理】【大模型】VeRA:可调参数比LoRA小10倍的低秩微调方法
LoRA是降低微调LLM时降低可训练参数的一种方法,但是将其应用在更大的模型仍然面临着挑战。本文提出了了一种基于向量的随机矩阵适配(VeRA,Vector-based Random Matrix Adaptation)。与LoRA相比,其可以将训练参数的数量减少10倍,但保持相同的性能。 LoRA微调两个低秩矩阵的乘积来适应LLM。正式来说,对于预训练权重矩阵W0∈Rm×nW0∈Rm×n,权重更新矩阵被约束为低秩分解,即hW0xΔWxW0xBA。
2023-12-03 17:47:40
1825
原创 【自然语言处理】【大模型】赋予大模型使用工具的能力:Toolformer与ART
本文介绍了两种赋予到模型使用工具能力的方法:Toolformer和ART。Toolformer的思路:通过prompt令语言模型生成一些能够调用工具的样本,然后利用语言模型对文本的困惑度来过滤这些样本,得到高质量的数据集。最后,利用高质量数据集微调语言模型,赋予其使用工具的能力。ART的思路:人工构建一下常见的工具使用样本,然后利用新任务与已有任务的相似性来辅助语言模型使用工具。(ART文章写的真是一言难尽) 两种方法虽然实现思路不同,但是仍然属于prompt工程范畴。
2023-11-19 12:50:58
2088
原创 【自然语言处理】【长文本处理】RMT:能处理长度超过一百万token的Transformer
总的来说,RMT的思路简单。相比Transformer-XL来说,片段间传递的参数会少很多。RMT采用递归的方式传递信息,那么训练时梯度也需要回传,这导致训练时不太能并行。原始论文中采用decoder-only架构,但是在扩展至百万tokens的实验中采用了encoder-only架构,是decoder-only的效果不够好吗?评测的任务总体比较简单,迁移至当前的LLM上效果怎么样还比较难以确定。
2023-10-29 18:56:30
1789
原创 【自然语言处理】【大模型】MPT模型结构源码解析(单机版)
MPT是由MosaicML团队开源出来了英文预训练大模型,共开源了4个模型:MPT-7B Base、MPT-7B-StoryWriter-65k+、MPT-7B-Instruct、MPT-7B-Chat。
2023-09-23 13:11:28
1392
原创 【自然语言处理】【大模型】RWKV:基于RNN的LLM
RWKV:基于RNN的LLM 基于Transformer的LLM已经取得了巨大的成功,但是其在显存消耗和计算复杂度上都很高。RWKV是一个基于RNN的LLM,其能够像Transformer那样高效的并行训练,也能够像RNN那样高效的推理。
2023-09-17 19:23:28
1425
原创 【深度学习】【分布式训练】一文捋顺千亿模型训练技术:流水线并行、张量并行和3D并行
一文捋顺流水线并行、张量并行与3D并行 流水线性并行和张量并行都是对模型本身进行划分,。简单来说,流水线并行划分模型,即按照对模型进行划分;张量并行则是划分模型。3D并行则是将流行线并行、张量并行和数据并行同时应用到模型训练中。
2023-09-03 20:40:44
760
原创 【Megatron-DeepSpeed】张量并行工具代码mpu详解(四):张量并行版Embedding层及交叉熵的实现及测试
张量并行版Embedding层及交叉熵的实现及测试 Megatron-DeepSpeed是DeepSpeed版本的NVIDIA Megatron-LM。像BLOOM、GLM-130B等主流大模型都是基于Megatron-DeepSpeed开发的。这里以BLOOM版本的为例,介绍其模型并行代码mpu的细节(位于megatron/mpu下)。。
2023-08-13 20:55:26
1030
原创 【Megatron-DeepSpeed】张量并行工具代码mpu详解(三):张量并行层的实现及测试
Megatron-DeepSpeed:张量并行的实现及测试 Megatron-DeepSpeed是DeepSpeed版本的NVIDIA Megatron-LM。像BLOOM、GLM-130B等主流大模型都是基于Megatron-DeepSpeed开发的。这里以BLOOM版本的为例,介绍其模型并行代码mpu的细节(位于megatron/mpu下)。。
2023-08-06 21:07:22
1012
原创 【Megatron-DeepSpeed】张量并行工具代码mpu详解(二):Collective通信操作的封装mappings
Collective通信操作的封装mappings Megatron-DeepSpeed是DeepSpeed版本的NVIDIA Megatron-LM。像BLOOM、GLM-130B等主流大模型都是基于Megatron-DeepSpeed开发的。这里以BLOOM版本的为例,介绍其张量并行代码mpu的细节(位于megatron/mpu下)。
2023-07-15 16:48:13
846
原创 【Megatron-DeepSpeed】张量并行工具代码mpu详解(一):并行环境初始化
Megatron-DeepSpeed:并行环境初始化 Megatron-DeepSpeed是DeepSpeed版本的NVIDIA Megatron-LM。像BLOOM、GLM-130B等主流大模型都是基于Megatron-DeepSpeed开发的。这里以BLOOM版本的为例,介绍其张量并行代码mpu的细节(位于megatron/mpu下)。
2023-07-04 21:13:16
1825
3
原创 【深度学习】混合精度训练与显存分析
混合精度训练与显存分析 关于参数精度的介绍可以见文章https://zhuanlan.zhihu.com/p/604338403相关博客。
2023-06-04 11:29:08
1384
原创 【自然语言处理】【大模型】ChatGLM-6B模型结构代码解析(单机版)
ChatGLM-6B模型结构代码解析(单机版) 本文介绍ChatGLM-6B的模型结构,代码来自https://huggingface.co/THUDM/chatglm-6b/blob/main/modeling_chatglm.py。
2023-05-29 22:21:09
6178
3
原创 【自然语言处理】【大模型】BLOOM模型结构源码解析(单机版)
BLOOM模型结构源码解析(单机版) 本文基于transformers中BLOOM模型代码来解析BLOOM的原理及实现。
2023-05-15 22:19:44
1811
3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人