
简 介
🎉 原创 100+ 架构图,系统讲解大模型、强化学习,涵盖:LLM / VLM 等大模型原理、训练算法(RL、RLHF、GRPO、DPO、SFT 与 CoT 蒸馏等)、效果优化与 RAG 等。
🎉 关于架构图更详细的解读可参考:《大模型算法:强化学习、微调与对齐》 (豆瓣高分,多次京东AI图书Top 5 !)
🎉 本仓库长期勘误、追加,欢迎点击仓库顶部的 Star ⭐ 关注,感谢鼓励✨
🎉 单击图片可看高清大图,或浏览仓库目录中的 .svg 格式矢量图(活图,可无限缩放、可选择文字)

目 录
第1部分:大模型、强化学习的技术全景图
第2部分:大模型基础
第3部分:SFT(有监督微调)
第4部分:DPO(直接偏好优化)
第5部分:免训练的大模型优化技术
第6部分:强化学习(RL)基础
第7部分:策略优化架构及衍生算法
第8部分:RLHF 与 RLAIF
第9部分:逻辑推理(Reasoning)能力优化
第10部分:大模型基础拓展
第11部分:附录与引用
大模型算法总体架构(以LLM、VLM为主)

强化学习算法图谱 (rl-algo-map).pdf——全网最大!
【LLM基础】LLM结构总图——全网最大!
- 本人历时几十个小时、呕心沥血之作,点击本仓库右上角 ↗ 的 Star ⭐ ,就是对我最大的鼓励啦!
- LLM主要有Decoder-Only(仅解码器)或MoE(Mixture of Experts, 专家混合模型)两种形式,两者在整体架构上较为相似,主要区别为MoE在FFN(前馈网络)部分引入了多个专家网络。

策略梯度(Policy Gradient)-强化学习(PPO&GRPO等)之根基.pdf
【LLM基础】LLM(Large Language Model)结构
- LLM主要有Decoder-Only(仅解码器)或MoE(Mixture of Experts, 专家混合模型)两种形式,两者在整体架构上较为相似,主要区别为MoE在FFN(前馈网络)部分引入了多个专家网络。
- 一个典型的LLM结构,可分为三部分——输入层、多层Decoder堆叠结构和输出层(包括语言模型头与解码模块)

【LLM基础】LLM生成与解码(Decoding)过程
- 解码策略是决定最终输出文本流畅性、多样性及整体表现的核心因素。常见的解码算法包括:贪婪搜索、波束搜索(Beam Search)及其衍生算法、多项式采样、Top-K采样、Top-P采样、对比搜索(Contrastive Search)、投机解码(Speculative Decoding)、前瞻解码(Lookahead Decoding)、DoLa解码等。
- LLM的输出层负责根据概率分布,应用解码算法确定最终预测的下一个/N个词元。
- 根据概率分布,应用解码策略(例如随机采样或选择最大概率)确定最终预测的下一个词元。例如,在贪婪搜索解码策略下,选择概率最高的词元“我”作为预测结果。
- 每一个token(词元)的生成都需要重新走一遍所有层Transformer结构。
- 这里只展示了每次预测一个词元的方案,也有一次性预测多个词元的方案,详见《大模型算法:强化学习、微调与对齐》第四章。

【LLM基础】LLM输入层
- LLM的输入层将输入文本转换为多维数值矩阵(Tensor,张量),以便送往模型主体结构进行计算。

【LLM基础】LLM输出层
LLM的输出层负责根据隐藏状态(多维数值矩阵)预测下一个词元(文本)。处理流程如图所示:
- (1)输入隐藏状态:Decoder最后一层的隐藏状态(Hidden States)作为LLM输出层的输入。如图中所示维度为3×896的数值矩阵,包含了前缀序列的所有语义信息。
- (2)语言模型头(LM Head):通常是一个全连接层,用于将隐藏状态转换为Logits(推理时只计算最后一个位置的Logits)。如图所示,Logits的形状为3×151936,对应于词表中每个词元的得分。
- (3)提取最后位置的Logits:预测下一个词元仅依赖于前缀序列最后一个位置的Logits,因此需要从所有位置的Logits中提取最后一个位置的Logits。如图所示,提取得到一个151936维的向量 [2.0, 3.1, −1.7, ... , −1.7],用于后续预测。
- (4)转换为概率分布(Softmax):通过Softmax函数将Logits转换为概率分布,得到词表中每个词元的概率。例如,生成的151936维概率向量为[0.01, 0.03, 0.001, ... , 0.001],该向量内所有概率之和为1。概率值越大,表示该词元作为下一个词元的可能性越高。例如,“我”的概率为0.34。
- (5)解码(Decoding):根据概率分布,应用解码策略(例如随机采样或选择最大概率)确定最终预测的下一个词元。例如,在贪婪搜索解码策略下,选择概率最高的词元“我”作为预测结果。

【LLM基础】多模态模型结构(VLM、MLLM ...)
多模态模型根据侧重不同,通常有以下多种称呼:
- VLM(Vision-Language Model,视觉语言模型)
- MLLM(Multimodal Large Language Model,多模态大语言模型)
- VLA(Vision-Language-Action Model,视觉语言动作模型)

【LLM基础】LLM训练流程
- 大模型的训练主要分为两个阶段——预训练(Pre-Training)和后训练(Post-Training)。在每个阶段,所使用的训练数据、训练范式(算法)、训练目标和超参数均有所不同。
- 预训练阶段包括初期训练(基于海量数据的短上下文训练)、中期训练(长文本/长上下文训练)以及退火(Annealing)训练等。此阶段以自监督学习为主,使用的数据量最大,同时也是最消耗算力的环节。
- 后训练阶段则包含多种可选的训练范式(算法),包括但不限于SFT(监督微调)、蒸馏、RSFT(拒绝采样微调)、RLHF(基于人类反馈的强化学习)、DPO(直接偏好优化),以及其他强化学习方法,例如GRPO(群体相对策略优化)、PPO(近端策略优化)等。其中,某些环节也可进行多轮迭代训练,例如多轮拒绝采样微调(Rejection Sampling Fine-Tuning, RSFT)。

【SFT】微调(Fine-Tuning)技术分类
- 可用于SFT的微调技术种类多样,如下图的分类图所示:前两种方法仅需基于预训练模型主体进行微调,开发成本较低;而并联低秩微调和Adapter Tuning则需要引入额外的新模块,实施过程相对复杂一些。这些方法均是针对模型参数进行微调,而基于Prompt的微调则另辟蹊径,从模型的输入着手进行微调。

【SFT】LoRA(1 of 2)
- LoRA(Low-Rank Adaptation, 低秩适配微调)由微软的研究团队于2021年发表。由于其高效的微调方式和良好的效果,在各类模型中得到广泛的应用。LoRA的核心思想在于——微调前后模型的参数差异∆W具有低秩性。
- 一个矩阵具有低秩性,意味着它包含较多的冗余信息,将其分解为多个低维矩阵后,不会损失过多有用信息。例如,如图所示,一个1024×1024的矩阵可以被近似分解为一个1024×2矩阵与一个2×1024矩阵的乘积,从而将参数量约减少至原来的0.4%。

【SFT】LoRA(2 of 2)
- A和B的初始化方式:
- (1)矩阵A使用随机数初始化,如kaiming初始化;
- (2)矩阵B使用全0初始化,或使用极小的随机数初始化。
- 目的在于——确保在训练初期,插入的LoRA模块不会对模型整体输出造成过大的扰动。

【SFT】Prefix-Tuning
- Prefix-Tuning由斯坦福大学的研究团队提出,可以用于对语言模型进行轻量级微调。
- 如图所示,该方法在输入的起始位置插入一段连续的、可训练的向量(Embedding),称为前缀(Prefix)。在处理后续的Token时,Transformer将这些向量视为 虚拟Token,并参与Attention计算。

【SFT】TokenID与词元的映射关系