MCPcopy Index your code
hub / github.com/changyeyu/LLM-RL-Visualized

github.com/changyeyu/LLM-RL-Visualized @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
6 symbols 20 edges 2 files 5 documented · 83% updated 10d ago★ 4,6063 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

图解大模型算法:LLM / RL / VLM 核心技术图谱

English Version    Chinese 中文版本


简 介

🎉 原创 100+ 架构图,系统讲解大模型、强化学习,涵盖:LLM / VLM 等大模型原理、训练算法(RL、RLHF、GRPO、DPO、SFT 与 CoT 蒸馏等)、效果优化与 RAG 等。

🎉 关于架构图更详细的解读可参考:《大模型算法:强化学习、微调与对齐》 (豆瓣高分,多次京东AI图书Top 5 !)

🎉 本仓库长期勘误、追加,欢迎点击仓库顶部的 Star ⭐ 关注,感谢鼓励✨

🎉 单击图片可看高清大图,或浏览仓库目录中的 .svg 格式矢量图(活图,可无限缩放、可选择文字)

Featured|HelloGitHub


目 录

第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(前馈网络)部分引入了多个专家网络。 【LLM基础】LLM结构全视图

策略梯度(Policy Gradient)-强化学习(PPO&GRPO等)之根基.pdf

  • 手撕推导 RL 核心理论之一 ,图灵奖得主 Sutton 提出。
  • 大模型训练算法之根基(被ChatGPT、DeepSeek 等广泛使用的 PPO 和 GRPO 算法都是基于策略梯度)。
  • 很重要 但常常被混淆的一部分内容,我重新推导公式、画原理图解释了一下(窄版排版) : 策略梯度(Policy Gradient)-强化学习(PPO&GRPO等)之根基.pdf

【LLM基础】LLM(Large Language Model)结构

  • LLM主要有Decoder-Only(仅解码器)或MoE(Mixture of Experts, 专家混合模型)两种形式,两者在整体架构上较为相似,主要区别为MoE在FFN(前馈网络)部分引入了多个专家网络。
  • 一个典型的LLM结构,可分为三部分——输入层、多层Decoder堆叠结构和输出层(包括语言模型头与解码模块)

【LLM基础】LLM结构

【LLM基础】LLM生成与解码(Decoding)过程

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

【LLM基础】LLM输入层

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

【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基础】LLM输出层

【LLM基础】多模态模型结构(VLM、MLLM ...)

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

【LLM基础】LLM训练流程

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

【SFT】微调(Fine-Tuning)技术分类

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

【SFT】LoRA(1 of 2)

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

【SFT】LoRA(1 of 2)

【SFT】LoRA(2 of 2)

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

【SFT】Prefix-Tuning

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

【SFT】Prefix-Tuning

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

Core symbols most depended-on inside this repo

add_column_to_excel
called by 1
src/rename_images.py
rename_images
called by 1
src/rename_images.py
main
called by 1
src/rename_images.py
trim_whitespace
called by 1
src/clip_images.py
process_directory
called by 1
src/clip_images.py
copy_tmp_to_source
called by 1
src/clip_images.py

Shape

Function 6

Languages

Python100%

Modules by API surface

src/rename_images.py3 symbols
src/clip_images.py3 symbols

For agents

$ claude mcp add LLM-RL-Visualized \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact