大模型基础
先懂地基,再动手
统计语言模型 → Transformer → 大模型架构 → 参数高效微调。动手学大模型之前,先花一小时把理论地基打牢。
n-grams 统计语言模型
- 语言是概率的:同样的语义可以用不同词表达,同样的词在不同语境下意义不同——所以语言模型要预测的是「语言符号的概率分布」。
- 核心思想:文本
w₁:N出现的概率,拆成每个词在「上文条件下」出现概率的连乘:P(w₁:N) = Π P(wᵢ | w₁:i-1)(链式法则)。 - 马尔可夫假设:「当前词只与前 n 个词有关」——把无穷长的上文截断成固定窗口,这就是 n 的来历。
- MLE 估计:条件概率用频率比近似:
C(前n个词) / C(前n-1个词),这是极大似然估计的离散形式。 - n 是权衡旋钮:n 越大越贴合语料但越容易「零概率」(没见过的词组合直接概率为 0);n 越小越通用但上下文信息不足。可用平滑(Smoothing)缓解。
n-grams 本质是「n 阶马尔可夫假设 + 离散变量极大似然估计」:把链式法则里的长条件概率 P(wᵢ|w₁:i-1) 用 P(wᵢ|wᵢ₋ₙ:i-1) 近似,再把条件概率用频率比 C(wi-n:i)/C(wi-n:i-1) 估计。简单,但有据可依。
RNN 语言模型
- 螺旋式前进:前馈网络(FNN)只走单向、只看当前输入;RNN 在结构中加环路,把
h(t-1)与当前输入一起编码成h(t),历史信息被「循环累积」。 - 长颈鹿例子:看到「脖子」预测下一个词,FNN 可能猜「短/疼」;RNN 因为记得「长颈鹿」,预测「长」的概率更高——历史信息提升预测。
- 梯度消失/爆炸:RNN 损失对参数求梯度时涉及大量矩阵级联相乘;
W_H最大特征值 < 1 梯度消失、> 1 梯度爆炸,训练困难。 - 门控救星:GRU / LSTM 引入门控结构(遗忘门、输入门、输出门),成为主流 RNN 架构。
- 自回归生成:训练后把输出的词拼回输入、继续预测下一个词,循环迭代就生成了一段文本。
- Teacher Forcing:训练时每轮用「标准答案」拼接而非模型自己的输出,加速收敛;代价是「曝光偏差」(训练与推理不一致),可用 Scheduled Sampling 缓解。
h(t-1) 揉进当前状态,代价是串行计算和梯度问题。① 串行计算:下一个词依赖上一次预测,难以并行加速;② 长序列梯度消失:矩阵级联相乘让梯度指数衰减。这两道坎正是 Transformer 用「并行注意力」解决的——也是本书下一节的主角。
Transformer 语言模型
- 通盘考虑:给定一个序列,Transformer 把「一定数量的历史状态和当前状态」同时输入,按相关性加权相加后再预测未来状态——这是注意力机制的核心思想。
- 两大模块:Transformer 是模块化网络,由注意力模块与全连接前馈模块组合构建;每个模块 = 核心层 + 残差连接 + 层正则化,可反复堆叠。
- 注意力层:输入被编码成
query / key / value三部分,权重α = softmax(sim(qₜ, kᵢ)),输出Attention(xₜ) = Σ αₜ,ᵢ·vᵢ——用加权平均把前文信息叠加到当前状态上。 - 全连接前馈层:占据 Transformer 近 2/3 的参数,是「Key-Value 式」的记忆存储模块:
FFN(v) = max(0, W₁v+b₁)W₂+b₂,两层之间用 ReLU 激活,第一层像 key、第二层像 value。 - 层正则化 + 残差:LN 加速训练、提升泛化:
LN(vᵢ) = α(vᵢ−µ)/δ + β;残差连接把层的输入由一条旁路叠加到层的输出上,有效缓解梯度消失。 - Post-LN vs Pre-LN:层正则化放在残差连接之后叫 Post-LN(抗表征坍塌强、抗梯度消失弱),放在之前叫 Pre-LN(反之);现代大模型普遍倾向 Pre-LN。
- Encoder-Decoder 与三大家族:原始 Transformer 的 Encoder 由 6 个级联层(每层 1 个注意力模块 + 1 个 FFN 模块)构成,Decoder 由 6 个级联层(每层 2 个注意力模块 + 1 个 FFN 模块)构成;Encoder / Decoder 可单独使用,对应 Encoder-Only(BERT 掩词补全)、Encoder-Decoder(T5 截断补全 / 顺序恢复)、Decoder-Only(GPT-3 下一词预测)三类模型。
RNN:串行循环
- 逐词串行输入,历史经环路累积
- 长序列易梯度消失 / 爆炸
- 难以并行加速,训练慢
Transformer:并行通盘
- 历史 + 当前同时输入,加权相加
- 容易并行计算,训练快
- 计算量随序列长度平方增长,长序列是挑战
Transformer = 注意力模块 + FFN 模块的重复堆叠,每个模块都是「核心层 + 残差连接 + 层正则化」。注意力用 q/k/v 加权「通盘考虑」前文,FFN 占近 2/3 参数负责「记忆」。Encoder / Decoder 都能单独撑起一个语言模型。
并行输入带来速度,也带来随序列长度平方增长的注意力计算量——序列越长,矩阵越大。处理超长序列是 Transformer 的经典挑战,也是后文「非 Transformer 架构」登场的原因。
采样方法
- 解码即采样:自回归生成时每轮输出一个概率向量,把向量解码为词的方法显著影响生成质量;整段文本的概率是各轮概率的连乘
P = Π oᵢ[wᵢ₊₁]。 - 贪心搜索:每轮选概率最大的词
wᵢ₊₁ = argmax oᵢ[w],只顾「眼前利益」忽略「远期效益」,容易陷入局部最优——长颈鹿故事里第一词选「是」(0.3),最终「是草食」只有 0.03。 - 波束搜索:每轮保留 b 条概率最高的路径(如 b=2),收束时挑联合概率最大的组合;同例可得「脖子长」0.1。但概率最大的文本往往平庸重复——「废话文学」。
- Top-K 采样:每轮固定取 K 个概率最高的词,softmax 归一化后随机采样:Top-3 可能选中「看着躲在」这种戏剧性开头;但固定 K 在分布方差大时易「胡言乱语」(如「长颈鹿有四条裤子」),方差小时又「枯燥无味」。
- Top-P(Nucleus)采样:按累计概率阈值 p 划定候选集
S_p(Σ oᵢ[w] ≥ p)再归一化采样;p=0.9 既能避开低概率的「裤子」,又能容纳「打架 / 睡觉」等冷门但合理的词。 - Temperature 机制:在 softmax 里把 logits 除以 T:
p ∝ exp(o[w]/T);T > 1 分布变平坦、随机性增强(开放创作),0 < T < 1 强者越强、更保守(代码生成)。 - 按场景选策略:封闭式任务(翻译、摘要)用贪心 / 波束求稳;开放式创作用 Top-P + Temperature 求新。
概率最大化(贪心 / 波束)求「最可能」→ 文本偏平庸;随机采样(Top-K / Top-P)求「多样」→ 文本更新颖;Temperature 是调节随机性强弱的旋钮。封闭式任务求稳,开放式创作求新。
Top-K 按「个数」截断候选、Top-P 按「概率和」截断候选;贪心就是 b=1 的波束搜索;Temperature = 1 时即原始分布。这些方法还能组合使用(如 Top-P + Temperature)。
评测方法
- 内在 vs 外在:内在评测不依赖具体任务,直接用模型输出评测生成能力;外在评测通过机器翻译、摘要生成等具体任务来评判——前者看「会不会说话」,后者看「会不会干活」。
- PPL 困惑度:最常用的内在指标,度量模型对测试文本的「困惑」程度:
PPL = exp(−1/N · Σ log P(wᵢ|w<i));模型越「肯定」(概率越高)PPL 越小,越不确定 PPL 越大。 - PPL 与熵:PPL 中的交叉熵是词分布信息熵的上界——困惑度减小意味着熵减,「胡言乱语」的可能性降低;测试文本须与预训练文本同分布,PPL 才有意义。
- BLEU:精度导向的统计指标(机器翻译):多层次 n-gram 精度的几何平均;例「big language models」vs「large language models」,n=1 精度 2/3、n=2 精度 1/2,可用加权与长度惩罚微调。
- ROUGE:召回导向的统计指标(摘要生成):ROUGE-N(n-gram 召回)、ROUGE-L(最长公共子序列 LCS)、ROUGE-W(加权)、ROUGE-S(Skip-bigram)。
- BERTScore:用 BERT 的上下文词嵌入计算生成文本与参考文本的相似度,从 Precision / Recall / F1 三面评分——比统计指标更接近人类评测,但依然依赖人类标注的参考文本。
- G-EVAL:生成式评测的典型:用 GPT-4 当「裁判」,Prompt 由「任务描述与评分标准 + 评测步骤(Auto CoT 思维链)+ 输入文本与生成的文本」三部分组成,无需参考文本;对可能得分加权平均以提升区分度,InstructScore 还能给出分数解释。
内在评测看「困惑度」:PPL 越小越好;外在评测分三梯队——统计(BLEU / ROUGE 看词面重合)→ 嵌入(BERTScore 看语义相似,需参考)→ 生成式(G-EVAL 用 GPT-4 当裁判,无需参考)。越往后越接近人类判断,成本也越高。
翻译任务先看 BLEU,摘要任务看 ROUGE;句子改写 / 语义相似看 BERTScore;没有参考答案、还想要解释时,用 G-EVAL / InstructScore。
大数据 + 大模型 → 新智能
- 三个「大」一起涨:大语言模型的「大」= 模型规模
N+ 数据规模D一起涨;截止 2024 年 6 月,国内外已诞生超过百种大语言模型,能力增强靠两者的共同作用。 - Kaplan-McCandlish 扩展法则(OpenAI 2020):在 768~15 亿参数、2200 万~230 亿 Token 的实验范围内拟合出幂律:
L(N) = (N/Nc)^αN(αN≈-0.076)、L(D) = (D/Dc)^αD(αD≈-0.095),损失随规模幂律下降;在C ≈ 6ND的预算约束下,最优分配为N ∝ C^0.73, D ∝ C^0.27——预算 ×10 时模型应扩约 5.37 倍、数据约 1.86 倍。 - Chinchilla 扩展法则(DeepMind 2022):在 7000 万~1600 亿参数、50 亿~5000 亿 Token 的更大范围拟合
L(N,D) = E + A/N^α + B/D^β(E=1.69,A=406.4,B=410.7,α=0.34,β=0.28),最优分配变为N ∝ C^0.46, D ∝ C^0.54——预算 ×10 时模型与数据都扩约 3.16 倍,数据和模型几乎同等重要。 - 20 倍数据法则:理想数据集大小 ≈ 模型参数的 20 倍(7B 模型配 140B Token)。反例:GPT-3 有 1750 亿参数却只用 3000 亿 Token,MT-NLG 有 5300 亿参数只用 2700 亿 Token;而 Chinchilla 用 700 亿参数 + 1.4 万亿 Token 反超了更大的模型。
- 涌现能力(Emergent Abilities):不是靠特定任务训练出来的,而是模型复杂度跨过阈值后「相变式」突然显现——20 亿参数只会语言理解/情感分析,130 亿参数冒出上下文学习/代码生成/常识推理/问答,1750 亿参数解锁复杂逻辑推理/多模态理解/多轮对话/垂域问答。
- 四种典型涌现能力:① 上下文学习(靠提示/示例即可干活,无需微调);② 常识推理;③ 代码生成;④ 逻辑推理——GPT-1/GPT-2 全都不行,130 亿的 GPT-3 初显身手,1750 亿才全面解锁。
- 代价与挑战:涌现能力带来可解释性、信息安全与隐私、伦理公平等问题,也对计算资源提出巨大需求,需要技术、法律、社会层面综合应对。
| 对比项 | Kaplan-McCandlish(OpenAI · 2020) | Chinchilla(DeepMind · 2022) |
|---|---|---|
| 实验范围 | 模型 768~15 亿参数;数据 2200 万~230 亿 Token | 模型 7000 万~1600 亿参数;数据 50 亿~5000 亿 Token |
| 损失公式 | L(N)=(N/Nc)^αN,αN≈-0.076;L(D)=(D/Dc)^αD,αD≈-0.095 | L(N,D)=E+A/N^α+B/D^β(E=1.69,A=406.4,B=410.7,α=0.34,β=0.28) |
| 计算预算最优分配 | N ∝ C^0.73,D ∝ C^0.27(模型增长应略快于数据) | N ∝ C^0.46,D ∝ C^0.54(数据与模型几乎同等重要) |
| 预算 ×10 时 | 模型 ×5.37、数据 ×1.86 | 模型与数据均 ×3.16 |
| 核心结论 | 扩大模型规模与丰富数据集是两大关键策略 | 理想数据 ≈ 20 × 参数(7B 模型配 140B Token),开创「小模型 + 大数据」路线 |
两条扩展法则一对账就记住了:Kaplan 说「模型涨快点」(C^0.73 / C^0.27),Chinchilla 说「数据一样重要」(C^0.46 / C^0.54)并给出 20 倍数据法则。从此大模型告别「只卷参数」,走向「小模型 + 大数据」——LLaMA 正是这条路的信徒(§11 见)。
三大架构概览
- 同源三兄弟:三种架构都源自 Transformer 的自注意力机制,区别只在「留哪几块」:Encoder-only 只留编码器,Encoder-Decoder 编码器+解码器,Decoder-only 只留解码器。
- Encoder-only:三部分 = 输入编码(分词→词嵌入→位置编码)+ 特征编码(M 个编码模块:自注意力 + 全连接前馈)+ 任务处理(输出头按任务定制);双向注意力「通盘考虑」,预训练时输出头做掩码预测。
- Encoder-Decoder:在 Encoder-only 基础上加解码器;解码器含掩码自注意力(防「偷看未来」)+ 交叉注意力(读取编码器输出)+ 前馈模块;训练用 Teacher Forcing 与 [START] 标记,推理时自回归逐 Token 采样。
- Decoder-only:删掉编码器和交叉注意力,只留掩码自注意力做自回归生成;参数量更小、计算更省、参数易扩展,非常契合大规模文本生成场景。
- 注意力矩阵定性格:Encoder-only 是「完全」的双向方块(每个 Token 看全序列 x1~xn);Decoder-only 是「下三角」(生成 yᵢ 只能看 y1~yᵢ₋₁);Encoder-Decoder 是编码器双向方块 + 解码器下三角 + 交叉注意力(解码器随时查编码器)。
- 适用任务各有所长:Encoder-only 适合 NLU(情感分析、文本分类等判别任务);Encoder-Decoder 适合有条件生成(机器翻译、文本摘要、问答系统);Decoder-only 擅长无条件生成(故事、新闻文章)。
- 历史演变:2018 年 BERT 的理解能力盖过 GPT-1 → 2019 年末 T5/BART 等 Encoder-Decoder 因 Seq2Seq 生成需求成为主流 → 2021 年后 GPT-3 推动 Decoder-only 占据主导,展现「大一统」潜力。
看注意力矩阵认架构:方块=双向理解、三角=单向生成、方块+三角+交叉=编解码。Encoder-only 留给判别任务,Encoder-Decoder 干翻译摘要,Decoder-only 靠参数易扩展和生成能力成为主流——后面的 §08~§11 逐个细讲。
Encoder-only:BERT 与衍生
- 双向编码模型:同时融合左→右与右→左的注意力,为每个词生成依赖上下文的动态嵌入(对比 Word2Vec/GloVe 的静态嵌入),能处理词的多义性,在句子级任务上显著胜出。
- BERT 结构与数据(2018.10 · Google AI):Base = 12 编码模块 / 768 维 / 12 头 / 1.1 亿参数;Large = 24 模块 / 1024 维 / 16 头 / 3.4 亿参数;预训练语料 BookCorpus(约 8 亿 Token)+ 英语维基百科(约 25 亿 Token)≈ 33 亿 Token、约 15GB。
- MLM 掩码语言建模:随机选约 15% 的 Token 遮成 [MASK] 或随机词,像完型填空一样根据上下文预测原词;只对被替换的 Token 计算交叉熵损失来更新参数。
- NSP 下文预测:样本由两个句子组成(50% 来自原文连续、50% 随机拼接),模型判断两句话是否连续;序列开头加
[CLS]聚合信息、句间加[SEP]划清界限。 - 下游任务三件套:文本分类取 [CLS] 向量 + 全连接层;问答构造
[CLS]问题[SEP]文本[SEP]+ 两个全连接层预测答案起止位置;语义相似度用[CLS]文本1[SEP]文本2[SEP]+ 线性层或余弦相似度。 - RoBERTa(2019.07 · Meta):更大语料(新增 CC-News 76GB、OpenWebText 38GB、Stories 31GB ≈ 160GB)、更长训练;去掉 NSP;静态掩码→动态掩码(数据复制 10 份分别掩码,40 epoch 每份训 4 次);Base 1.2 亿 / Large 3.5 亿。
- ALBERT(2019.09 · Google):参数因子分解(Embedding 从 V×H 拆成 V×E + E×H,E=128,Base 的嵌入参数约为 BERT 的 1/6)+ 跨层参数共享(只学第一层、其余层共享);任务改 MLM + SOP 句序预测;Base 仅 0.12 亿,XX-Large 也才 2.2 亿。
- ELECTRA(2020.03 · Google Brain + 斯坦福):借鉴 GAN 的生成器-判别器架构:生成器做 MLM 恢复掩码,判别器用 RTD 替换词检测判断每个 Token 是否被换过;所有 Token 都参与学习,效率更高;Small 0.28 亿 / Base 2.2 亿 / Large 6.6 亿(Large 用 330 亿 Token 语料)。
| 模型 | 发布时间 | 参数量(亿) | 语料规模 | 预训练任务 |
|---|---|---|---|---|
| BERT | 2018.10 | 1.1 / 3.4 | 约 15GB | MLM + NSP |
| RoBERTa | 2019.07 | 1.2 / 3.5 | 160GB | Dynamic MLM(去 NSP) |
| ALBERT | 2019.09 | 0.12 / 0.18 / 0.6 / 2.2 | 约 15GB | MLM + SOP |
| ELECTRA | 2020.03 | 0.28 / 2.2 / 6.6 | 约 20-200GB | RTD(生成器-判别器) |
BERT 家族一句话识别:RoBERTa 靠更大语料 + 动态掩码(还去掉了 NSP)、ALBERT 靠参数分解 + 跨层共享把参数压到 1/6、ELECTRA 靠生成器-判别器让每个 Token 都学到东西。但整个家族的参数量止步 6.6 亿、专注判别任务——生成时代的接力棒交给了后面两节。
Encoder-Decoder:T5 与 BART
- 架构分工:编码器(M 个编码模块:自注意力 + 前馈)把输入变成上下文表示;解码器(N 个解码模块:掩码自注意力 + 交叉注意力 + 前馈)生成输出;交叉注意力中 query 来自解码器、key/value 来自编码器,保证输出与输入高度相关。
- 注意力两副面孔:编码器自注意力「通盘考虑」输入;解码器掩码自注意力只盯已生成的上文;训练用 Teacher Forcing(真实文本并行输入),推理自回归逐 Token 采样到 [end] 或最大长度。
- T5 统一框架(2019.10 · Google):核心思想是 text-to-text——所有任务都写成「前缀指令 + 输入文本 → 输出文本」,用不同的输入前缀(如「翻译成中文:」「总结以下内容:」)指示任务,是早期
Prompt技术的雏形。 - T5 版本阶梯:Small 6000 万(6+6 模块 / 512 / 8 头)→ Base 2.2 亿(12+12 / 768 / 12)→ Large 7.7 亿(24+24 / 1024 / 16)→ 3B 28 亿 → 11B 110 亿。
- T5 数据与任务:从 Common Crawl 清洗出 C4 数据集(约 750GB);预训练用 Span Corruption:选 15% 的 Token、每段连续 3 个 Token 整体掩成 [MASK],让模型预测整个片段。
- BART(2019.10 · Meta):Bidirectional and Auto-Regressive Transformers;Base 1.4 亿(6+6 / 768 / 12),Large 4 亿(12+12 / 1024 / 16);语料与 RoBERTa 相同约 160GB。
- BART 五种破坏任务:① Token 遮挡(类似 MLM);② Token 删除(删掉后要推位置和内容);③ 连续文本填空(span 长度服从 λ=3 的泊松分布);④ 句子打乱(重排后推前后句关系);⑤ 文档旋转(随机起点旋转后找合理开头)。
- 衍生变体:mT5(支持 100+ 语言)、T0(多任务训练增强零样本)、Flan-T5(指令微调)、mBART(跨语言生成)——Encoder-Decoder 至今活跃在开源社区。
| 模型 | 发布时间 | 参数量(亿) | 语料规模 |
|---|---|---|---|
| T5 | 2019.10 | 0.6 - 110 | 750GB(C4) |
| mT5 | 2020.10 | 3 - 130 | 9.7TB |
| T0 | 2021.10 | 30 - 110 | 约 400GB |
| BART | 2019.10 | 1.4 - 4 | 约 160GB |
| mBART | 2020.06 | 0.4 - 6.1 | 约 1TB |
T5 与 BART 的共同点:都是「把文本搞坏再复原」的降噪式预训练。区别一句话:T5 靠统一框架 + Span Corruption 追求任务通用(参数量上限抬到 110 亿),BART 靠五种破坏花样追求生成鲁棒。它们都适合翻译、摘要、问答这类「读 + 写」任务。
Decoder-only:GPT 系列
- 架构与起点:Decoder-only 的概念最早可追溯到 2018 年的 GPT-1;当时被 BERT 盖过风头,直到 2020 年 GPT-3 的突破性成功才让这种架构被广泛采用。
- GPT-1 · 初出茅庐(2018.06):12 解码块 / 768 维 / 12 头 / 1.17 亿参数;BookCorpus 约 8 亿 Token(约 5GB);预训练用下一词预测,自回归生成;下游需微调(文本分类、文本相似度、多项选择),生成能力还不足以实战。
- GPT-2 · 小有所成(2019.02):四个版本 Small 1.24 亿 → XL 15 亿;新数据 WebText 40GB 高质量网页文本;部分任务可直接零样本完成,泛化能力改善。
- GPT-3 · 崭露头角(2020.05):八个版本,最大 1750 亿参数(96 解码块 / 12288 维 / 96 头);语料近 1TB(Common Crawl / WebText / BookCorpus / Wikipedia);涌现上下文学习(ICL)——不微调,靠任务描述 + 少量示例就能干活。
- InstructGPT 与 RLHF 三步:① 有监督微调 SFT:收集「问题-人类回答」对微调模型;② 训练奖励模型:同一输入生成多个候选输出,人工排序(如 输出2 > 输出4 > 输出1 = 输出3)构成偏好数据,训练打分模型;③ 强化学习微调:模型生成后由奖励模型评分,RL 算法据此更新参数。RLHF 成本高昂(奖励模型训练复杂 + 多模型联合训练)。
- DPO 直接偏好优化(2023 · 斯坦福):直接用偏好数据微调:提高选最优响应的概率、压低选次优的概率;省略奖励模型和复杂 RL,计算更高效、训练更稳定。
- 一鸣惊人到闭源:ChatGPT(2022.11)以对话能力引爆 AIGC,开启 LLMaaS 服务模式;GPT-4(2023.03)支持图文多模态;GPT-4o(2024.05)响应更快、多模态与多语言更强。自 ChatGPT 起参数与数据不再公开,只能「用」不能「共创」。
- 衍生各怀绝技:Codex 用十亿行代码继续预训练专攻代码生成;InstructGPT 用 RLHF 对齐用户意图——它们共同把 GPT-3 推向实用化。
| 模型 | 发布时间 | 参数量(亿) | 语料规模 |
|---|---|---|---|
| GPT-1 | 2018.06 | 1.17 | 约 5GB |
| GPT-2 | 2019.02 | 1.24 / 3.55 / 7.74 / 15 | 40GB(WebText) |
| GPT-3 | 2020.05 | 1.25 / 3.5 / 7.62 / 13 / 27 / 67 / 130 / 1750 | 约 1TB |
| ChatGPT | 2022.11 | 未知(闭源) | 未知(闭源) |
| GPT-4 | 2023.03 | 未知(闭源) | 未知(闭源) |
| GPT-4o | 2024.05 | 未知(闭源) | 未知(闭源) |
| 模型版本 | 解码块数量 | 隐藏层维度 | 自注意力头数量 | 总参数量(亿) |
|---|---|---|---|---|
| GPT-1 | 12 | 768 | 12 | 1.17 |
| GPT-2 Small | 12 | 768 | 12 | 1.24 |
| GPT-2 Medium | 24 | 1024 | 16 | 3.55 |
| GPT-2 Large | 36 | 1280 | 20 | 7.74 |
| GPT-2 XL | 48 | 1600 | 36 | 15 |
| GPT-3 Small | 12 | 768 | 12 | 1.25 |
| GPT-3 Medium | 24 | 1024 | 16 | 3.5 |
| GPT-3 Large | 24 | 1536 | 16 | 7.62 |
| GPT-3 XL | 24 | 2048 | 24 | 13 |
| GPT-3 2.7B | 32 | 2560 | 32 | 27 |
| GPT-3 6.7B | 32 | 4096 | 32 | 67 |
| GPT-3 13B | 40 | 5120 | 40 | 130 |
| GPT-3 175B | 96 | 12288 | 96 | 1750 |
GPT 的成功公式 = 下一词预测 + 规模狂飙(1.17 亿 → 1750 亿)+ 语料翻倍(5GB → 1TB)+ 人类反馈对齐(RLHF / DPO)。从 GPT-3 起「涌现」上下文学习,从 ChatGPT 起走向闭源——它把可复制的路线图留给了开源世界,接棒者正是 LLaMA(§11)。
Decoder-only:LLaMA 系列
- 差异化打法:GPT 系列的升级聚焦「模型规模与语料同步提升」,LLaMA 则参数规模相对稳定、专注堆预训练数据;权重在非商业许可下向学术界开放,推动「共创」与知识共享。
- LLaMA1(2023.02 · Meta):践行 Chinchilla「小模型 + 大数据」;语料约 5TB(Common Crawl、C4、GitHub、Wikipedia、Gutenberg、Books3、Arxiv、StackExchange 等);共 4 个版本 7B / 13B / 32B / 65B。
- 架构改进三件套:① RoPE 旋转位置编码替代绝对位置编码(参考 GPTNeo),并在自注意力前对 Q/K 添加;② SwiGLU 激活替代 ReLU(参考 PaLM);③ Pre-Norm 层正则化(借鉴 GPT-3),正则化作用于注意力与前馈的输入。
- LLaMA2(2023.07):语料扩至约 7TB;预训练后引入 RLHF(指令微调 → 奖励模型 → PPO + 拒绝采样);34B 与 70B 版本额外加入 GQA 分组查询注意力(一组 query 共享相同的 K/V,降低内存、减少参数)。
- LLaMA3(2024.04):语料高达 50TB(LLaMA2 的 7 倍),含丰富代码数据、超过 5% 非英文数据、覆盖 30 多种语言;tokenizer 字典长度扩大三倍、推理效率大增;8B 版本超越 LLaMA2-70B,70B 版本多项任务超越 GPT-4——数据的力量。
- 性能改进类衍生:Alpaca(用 GPT-3.5 生成的指令样例微调 LLaMA1,小模型媲美 GPT-3.5);Vicuna(用 ShareGPT 日常对话数据微调,对话能力更强);Guanaco(引入 QLoRA 微调,时间成本大降)。
- 垂域与多模态衍生:垂域类——CodeLLaMA(代码生成/检测/优化)、LawGPT(30 万条法律问答指令微调)、GOAT(Python 生成数学题库)、Cornucopia(金融问答);多模态类——LLaVA(Vicuna + CLIP 图像特征 + 线性投影对齐)、MiniGPT4(Vicuna + VIT-G/14 + Q-Former + 线性投影)。
| 模型 | 发布时间 | 参数量(亿) | 语料规模 |
|---|---|---|---|
| LLaMA-1 | 2023.02 | 67 / 130 / 325 / 652 | 约 5TB |
| LLaMA-2 | 2023.07 | 70 / 130 / 340 / 700 | 约 7TB |
| LLaMA-3 | 2024.04 | 80 / 700 | 约 50TB |
| 模型版本 | 解码块数量 | 隐藏层维度 | 自注意力头数量 | 总参数量(亿) |
|---|---|---|---|---|
| LLaMA1-7B | 32 | 4096 | 32 | 67 |
| LLaMA1-13B | 40 | 5120 | 40 | 130 |
| LLaMA1-32B | 60 | 6656 | 52 | 325 |
| LLaMA1-65B | 80 | 8192 | 64 | 652 |
| LLaMA2-7B | 32 | 4096 | 32 | 70 |
| LLaMA2-13B | 40 | 5120 | 40 | 130 |
| LLaMA2-34B | 60 | 6656 | 52 | 340 |
| LLaMA2-70B | 80 | 8192 | 64 | 700 |
| 代际 | GPT 系列(参数量 / 语料) | LLaMA 系列(参数量 / 语料) |
|---|---|---|
| 第一代 | GPT-1:1.17 亿 / 约 5GB | LLaMA-1:652 亿 / 约 5TB |
| 第二代 | GPT-2:15 亿 / 40GB | LLaMA-2:700 亿 / 约 7TB |
| 第三代 | GPT-3:1750 亿 / 约 1TB | LLaMA-3:700 亿 / 约 50TB |
| 第四代起 | ChatGPT / GPT-4:未知(闭源) | —— |
LLaMA 的差异化打法一句话:GPT 卷参数(1750 亿),LLaMA 卷数据(5TB → 50TB);架构上 RoPE + SwiGLU + Pre-Norm 三件套成了开源主流标配;再叠加 RLHF(LLaMA2)、GQA 与超大词表(LLaMA3),最终 8B 干翻 70B、700 亿参数叫板 GPT-4——数据的力量,就是这么不讲道理。
非 Transformer 架构
- Transformer 的软肋:并行输入的机制让计算量随序列长度平方级增长,长序列是瓶颈;传统 RNN 线性但难并行、有梯度消失/爆炸;SSM 与 TTT 正是两条补救路线。
- SSM 的数学骨架:源自控制理论的动力系统;三个随时间变化的变量 x(t)∈Cⁿ(n 个状态)、u(t)∈Cᵐ(m 个输入)、y(t)∈Cᵖ(p 个输出),四个可学习矩阵 A(状态)、B(控制)、C(输出)、D(命令,可视为残差忽略);连续形式为
x′(t) = Ax(t) + Bu(t)、y(t) = Cx(t) + Du(t)。 - 离散化出三形式:用梯形法把积分离散化得到递归形式
xₖ = Āxₖ₋₁ + B̄uₖ, yₖ = C̄xₖ;把递归迭代展开又得到卷积形式yₖ = K̄ₖ ∗ uₖ,卷积核K̄ₖ = (C̄B̄, C̄ĀB̄, …, C̄ĀᵏB̄)。 - 递归 vs 卷积:递归形式像 RNN——推理线性复杂度、高效,但无法并行训练、长序列有梯度问题;卷积形式可并行训练,但受时不变性限制(参数全程固定)、上下文长度固定,自回归时延迟大;实战选择:训练用卷积、推理用递归。
- RWKV(v4):核心 WKV 机制可看作两个 SSM 之比;两个模块——时间混合模块(处理跨时间步关系)与通道混合模块(处理同一步内特征通道交互),四要素 R 接收向量 / K 键 / V 值 / W 位置权重衰减(w(t,i) = −(t−i)w);规模做到 14B,是第一个可扩展到数百亿参数的非 Transformer 架构;训练可并行、推理常数复杂度。
- Mamba:提出选择机制(让 B、C、Δ 变成输入的函数:sB(x)=LinearN(x)、sC(x)=LinearN(x)、sΔ(x)=BroadcastD(Linear1(x)),Δ 用 softplus 调节)——参数带时间维度、从时不变转为时变,能做基于内容的推理;配合硬件感知算法(内核融合 + 并行扫描 + 重计算,HBM→SRAM),A100 上推理吞吐比类似规模 Transformer 高 5 倍;Mamba-3B 超过两倍参数的 Transformer,可处理百万级序列。
- TTT 测试时训练:把上下文信息存在模型参数里(而非固定长度隐藏状态);内部循环每步用自监督重构损失
ℓ = ‖f(θK·xₜ; Wₜ₋₁) − θV·xₜ‖²做梯度更新Wₜ = Wₜ₋₁ − η∇ℓ,外部循环负责下一词预测;推理时只跑内部循环,同样线性复杂度,超长上下文表现优于 SSM(Mamba 在上下文超 16k 后困惑度基本不再下降)。
① SSM 有时不变性的甜头(可并行)也有苦头(上下文固定、信息密集文本弱),所以 Mamba 要引入选择机制打破它;② 固定长度隐藏状态会过早饱和(Mamba 超 16k 困惑度不再下降),TTT 用「参数当记忆」回应;③ 它们仍在「挑战者」阶段——性能接近但生态远不如 Transformer,谁主沉浮还未可知。
PEFT 总览
- 适配的两条老路都不完美:上下文学习(ICL)把任务转成生成任务、靠 Prompt 驱动,无需训练,但①性能与微调有差距、Prompt 设计费人力且不同写法差异大,②推理代价随样例增多快速上升;指令微调要构建指令数据集(数据集成如 Flan/P3,或大模型生成如 InstructWild/Self-Instruct)再监督微调,效果最好,但 LLaMA2-7B 全量微调需要近
60GB内存,RTX4090(24GB)都扛不住。 - PEFT 是什么:参数高效微调(Parameter-Efficient Fine-Tuning)避免微调全部参数,大幅减少需要更新的参数量和计算开销——「在几乎不牺牲性能的前提下省钱省资源」。
- 三大类方法(教材图 4.2 分类学):参数附加方法(附加新模块:Adapter-tuning / Prompt-tuning / Prefix-tuning / Proxy-tuning)、参数选择方法(只挑关键参数:BitFit / Child-tuning / FishMask)、低秩适配方法(用低秩矩阵近似参数更新:LoRA / AdaLoRA / DyLoRA / DoRA)。
- 三大优势:① 计算效率高——更新参数少,训练资源消耗低;② 存储效率高——每个任务只保存小补丁,特别适合内存受限设备;③ 适应性强——能快速适配不同任务,无需重新训练整个模型。
- 微调的价值:微调后模型指令遵循能力显著提升,推理水平增强、能泛化到新任务新领域——这是「只靠提示」的 ICL 难以企及的。
| 模型(80GB A100 + 64GB+ CPU 内存) | 全量参数微调 | 参数高效微调(LoRA) |
|---|---|---|
| bigscience/T0_3B | 47.14GB GPU / 2.96GB CPU | 14.4GB GPU / 2.96GB CPU |
| bigscience/mt0-xxl(12B 参数) | OOM GPU | 56GB GPU / 3GB CPU |
| bigscience/bloomz-7b1(7B 参数) | OOM GPU | 32GB GPU / 3.8GB CPU |
PEFT 三字诀:「附加、选择、低秩」——附加是加新参数、选择是挑旧参数、低秩是用小矩阵近似更新。共同点是冻结原始权重,换来计算、存储、适应三方面的效率。教材表 4.1 是最好的证据:7B/12B 模型全量微调在 80GB 显卡上直接 OOM,换成 LoRA 后单卡就能训。
参数附加方法
- 按附加位置分三类:加在输入(Prompt-tuning 软提示)、加在模型(Prefix-tuning / Adapter-tuning / AdapterFusion)、加在输出(Proxy-tuning)。
- Prompt-tuning(加在输入):软提示嵌入
P ∈ R^(m×d)拼到输入嵌入X ∈ R^(n×d)之前,形成[P; X] ∈ R^((m+n)×d)一起送进 Transformer,只更新 P;软提示长度常用 1–200、20 以上有性能保证,用词表 token 或类名初始化优于随机初始化。 - Prompt-tuning 的账本:T5-XXL 全量有 11B 参数,软提示长度取 5 时每任务只需
20,480个参数;一个冻结模型可服务多任务混合推理(各任务前缀不同即可);规模到 10B 时性能接近(多任务)全参数微调。 - Prefix-tuning(加在模型①):把可训练前缀
Pk、Pv插进每个注意力模块的 K、V 之前;直接训练前缀不稳定,所以先用 MLP 重参数化,训练完丢弃 MLP、只保留前缀参数——参数效率高、任务适配灵活、且保留预训练知识。 - Adapter-tuning(加在模型②):在每个多头注意力层和 FFN 层后插瓶颈适配器:下投影
Wd ∈ R^(d×r)压到低维 r,过非线性 σ,上投影Wu ∈ R^(r×d)还原,带残差A(l) = σ(Wd·H(l-1))·Wu + H(l-1);每层约2dr + d + r个参数(r ≪ d),只训适配器、层正则化和分类头。 - AdapterFusion(加在模型③):两阶段——① 知识提取:每个任务各训一个适配器(ST-A 独立训练 / MT-A 多任务联合);② 知识组合:冻结模型和所有适配器,只训融合模块
Ψ ← argmin Ln(Dn; Θ, Φ1…ΦN, Ψ),用注意力把多个适配器的输出加权合并,实现跨任务知识复用。 - Proxy-tuning(加在输出):解码时算法,调整后的分数
s̃ = sM + sM+ − sM−再 softmax 采样;用「微调过的小专家 M+」与「反专家 M−」的 logits 差异,去修正更大的代理模型 M(如把 LLaMA-7B 学到的知识迁移给 13B/70B);只访问输出分布,黑盒模型也能用。
加在输入最灵活(对模型结构改动最小);加在模型能保留预训练知识、泛化更好;加在输出(Proxy-tuning)能以极小代价驱动更大的黑盒模型。三招殊途同归——都是「用一小撮新参数撬动大模型」。
参数选择方法
- 基本思路:利用「只有部分参数对下游任务起决定性作用」的特性,抓住主要矛盾,仅微调关键参数;与附加方法不同,它不引入任何新参数,推理阶段没有额外计算成本。
- 基于规则 · BitFit:只微调每一层的偏置项(Bias)+ 任务特定的分类头;偏置项只占总参数约
0.08%–0.09%,却能在 GLUE Benchmark 上与全量微调媲美、某些任务甚至更好;还允许使用更大的学习率、优化更稳定;局限:只在小模型(BERT、RoBERTa)上验证过。 - 更多规则法:只微调 BERT / RoBERTa 的最后 1/4 层即可达到全量微调 90% 的性能;PaFi 选择绝对值最小的模型参数作为可训练参数。
- 基于学习 · Child-tuning:引入与参数矩阵
Wt同维的 0-1 掩码矩阵Mt选择子网络Ct,更新公式Wt+1 = Wt − η(∂L/∂Wt ⊙ Mt)——被屏蔽参数的梯度直接归零。 - Child-tuningF(任务无关):不依赖任何下游数据,每轮迭代从伯努利分布采样
Mt ~ Bernoulli(pF),pF 控制子网络比例;同时向全梯度引入噪声做正则化,防止小数据集过拟合、提高泛化。 - Child-tuningD(任务驱动):用费舍尔信息矩阵(FIM)估计参数重要性
F(i)(W) = (1/|D|) Σ (∂log p(Yj|Xj; W)/∂W(i))²,对全部参数排序后取前 pD 比例组成子网络——参数越重要 Fisher 值越高。 - 其他学习法:FishMask(学习与权重相关的二值掩码,用噪声估计器更新)、Fish-Dip(Fisher 掩码每训练周期动态重算)、LT-SFT(受「彩票假设」启发,取初始微调阶段变化最大的参数子集)、SAM(二阶逼近,解析求解优化函数决定掩码)。
参数选择的核心矛盾:规则法(BitFit、最后 1/4 层、PaFi)便宜但靠专家经验;学习法(Child-tuning)聪明但费算力——尤其 Child-tuningD 的费舍尔信息计算十分耗时。如何选最佳参数子集、如何平衡「更新数量 vs 模型性能」,仍是开放问题。
低秩适配:LoRA
- 低维固有维度假设:过参数化模型的固有维度很低——存在与全参数更新效果媲美的「低维参数更新」,这是低秩适配的理论依据。
- LoRA 原理:把参数更新矩阵分解为两个小矩阵:
W = W0 + αBA,其中B ∈ R^(d×r)、A ∈ R^(r×k)、r ≪ min{d, k};B 用随机高斯初始化、A 置零,α 是缩放因子;训练时固定预训练权重,只更新 B 和 A。 - 参数账本:全量微调每层要更新
d×k个参数,LoRA 只需r×(d+k)个;LLaMA2-7B 首个 FFN 层(11008×4096 = 45,088,768)在 r=4 时只需(11008×4)+(4×4096) = 60,416个参数——不到千分之一;LoRA 原本应用于注意力投影层,后续工作表明加到 FFN 层还能进一步提升性能。 - 显存账本(RTX4090 24GB,batch=1):全量微调约 60GB 直接超显存,LoRA 约 23GB 可训;内存四件套中,优化器内存省约 25GB、梯度内存省约 14GB(权重+激活因增量参数略增约 2GB,可忽略);反向传播提速 1.9 倍。
- 可插拔性:训练完 B、A 可与模型分离,封装成即插即用的「参数插件」,不破坏原始模型——可共享、可复用,多任务插件还能组合出新能力(LoRAHub)。
- 变体①打破低秩瓶颈:全量微调的秩比 LoRA 高 10–100 倍;ReLoRA 用「合并-重置」(merge-and-reinit)周期性执行
W ← W + αBA后重初始化 B(Kaiming)、A 置零,并部分重置优化器状态,让多次低秩更新累积出接近高秩的效果。 - 变体②③:AdaLoRA 把更新参数化为 SVD(
W = W0 + PΛQ),按奇异值重要性动态剪枝、逐层分配秩;DoRA 把 W0 分解为方向与大小,只对方向组件施加 LoRA(W′ = m·(W0+BA)/‖W0+BA‖c),训练更稳定;LoRAHub 用无梯度方法 Shiwa 学习权重,把多个任务 LoRA 插件加权组合(m̂ = (Σ wiAi)(Σ wiBi))迁移到新任务。
| 对比项(LLaMA2-7B 首个 FFN 层) | 全量微调 | LoRA(r=4) |
|---|---|---|
| 需更新的参数量 | 11,008 × 4,096 = 45,088,768 | (11,008×4) + (4×4,096) = 60,416 |
| 微调显存(RTX4090 单卡) | 约 60GB(超出 24GB 容量) | 约 23GB ✓ 可训练 |
| 内存变化明细 | — | 优化器 −25GB · 梯度 −14GB · 权重/激活 +2GB |
| 反向传播速度 | 基准 | 提升 1.9 倍 |
LoRA 为什么香:一句话 W = W0 + αBA——把「更新」变成「补丁」。补丁小到千分之一、显存省一半多、速度还快 1.9 倍;而且补丁可拆、可拼(LoRAHub),配合 ReLoRA / AdaLoRA / DoRA 等变体还能逼近全量微调的性能。
PEFT 实践与应用
- HF-PEFT 框架:Hugging Face 开源库,集成 LoRA、Adapter-tuning、Prompt-tuning、IA3 等先进方法;与 Transformers、Diffusers、Accelerate 无缝集成,支持单机到分布式训练,兼容模型量化,Transformer 与 Diffusion 模型都能用,消费级硬件也能跑。
- 五步使用流程:① 安装与配置(装 peft 及 Transformers 依赖)→ ② 选择模型与数据(按任务挑预训练模型、备训练集)→ ③ 确定微调策略(LoRA / 适配器等)→ ④ 模型准备(配置任务类型、推理模式、参数值)→ ⑤ 模型训练(定义损失函数、优化器,可加数据增强与学习率调度)。
- Prompt / Prefix 参数技巧:
num_virtual_tokens即软提示长度,通常设 10–20、按输入长度调节;prompt_tuning_init可选随机(RANDOM)或文本(TEXT)初始化,用特定文本初始化可加速收敛;Prefix 的encoder_hidden_size通常与模型隐藏层大小匹配。 - LoRA 参数技巧:
r控制更新矩阵复杂度,常用 4 / 8 / 16,小数据集用更小的 r;lora_alpha控制补丁大小,通常与 r 成反比以保持更新一致性;lora_dropout设小值(如 0.01)做正则化防过拟合;target_modules指定挂载模块(如注意力中的 q / k / v),可选特定模块或全部线性层。 - FinSQL(金融 Text-to-SQL):三大件——Ⅰ 提示构造:数据增强、表列检索、同义句增强、思维链生成、骨架预测;Ⅱ 参数高效微调:一个基座模型挂多个 LoRA 获得多种能力,再用 LoRAHub 权重融合,提升少样本性能;Ⅲ 输出校准:SQL 解析修正语法错误 + Self-Consistency 选出一致性 SQL;把 SQL 编写时间从分钟级压到秒级。
- TabLLM(表格分类):把表格行序列化为自然语言字符串(如 "The age is 42. The education is Master...")并附上分类问题的简短描述,用 LoRA 在少量带标签样本上微调;在多个基准上超过基于深度学习的表格分类基线,少样本设置下甚至超过梯度提升树等传统强基线。
小数据集就把 r 调小、dropout 别开大;FinSQL 与 TabLLM 的共同套路是「把垂直领域数据变成模型熟悉的文本/提示 + LoRA 少样本微调」。PEFT 让一块消费级显卡也能微调 7B 大模型——垂直领域的大门就此敞开。
n-gramsN元模型
基于「数频率」的统计语言模型:用长度为 n 的词序列在语料库中的出现频率估计语言概率。n=1 称 unigram,n=2 称 bigram。
马尔可夫假设Markov Assumption
「当前词只与前 n 个词有关」——把无限长的上文截断成固定窗口,是 n-grams 能算得动的理论前提。
RNN循环神经网络
带环路的神经网络:把历史状态循环叠加到当前状态,实现「记住上文再预测」。缺点是串行、梯度消失。
LSTM / GRU
引入门控结构的 RNN 变体,解决梯度消失问题:LSTM 用遗忘/输入/输出门,GRU 简化成更新/重置门,成为主流 RNN。
Teacher Forcing
训练时每轮用「标准答案」拼接而非模型自己的输出,加速收敛;代价是训练/推理不一致的曝光偏差,可用 Scheduled Sampling 缓解。
Transformer
基于注意力机制的模块化网络:注意力模块 + 全连接前馈模块堆叠,可并行、能通盘考虑上下文,是大模型的共同地基。
自注意力Self-Attention
把输入编码成 Query/Key/Value,用「Q 与 K 的相似度」做加权权重,对 V 加权求和——让每个词都能看到序列里的所有词。
Top-K / Top-P
随机采样解码方法:Top-K 固定保留概率最高的 K 个候选词,Top-P(Nucleus)按累积概率阈值 p 动态选候选集。配合 Temperature 调节随机性。
困惑度Perplexity / PPL
内在评测指标:模型对测试文本「困惑」的程度,PPL 越小说明生成能力越强,等价于交叉熵的指数。
BLEU / ROUGE
外在评测的统计指标:BLEU 精度导向(算生成与参考的 n-gram 重合),ROUGE 召回导向(含 LCS 最长公共子序列),分别常用于翻译与摘要。
Scaling Laws扩展法则
模型性能与参数/数据规模的定量关系:Kaplan 认为模型增长优先(N^0.73),Chinchilla 认为二者同权重(N^0.46/D^0.54),数据应为模型 20 倍。
涌现能力Emergent Abilities
模型规模跨过阈值后突然出现的能力(上下文学习、常识推理、代码生成、逻辑推理),具有突变性和不可预见性。
Encoder-only
只用 Transformer 编码器:双向注意力,适合理解型任务(分类/情感分析),代表 BERT。缺点是不能直接生成。
Encoder-Decoder
编码器 + 解码器 + 交叉注意力:适合有条件生成(翻译/摘要/问答),代表 T5、BART。参数规模与计算量偏大。
Decoder-only
只用解码器 + 掩码自注意力:自回归生成,当前大模型的「大一统」主流,代表 GPT 系列、LLaMA 系列。
MLM / NSP
BERT 的两种预训练任务:掩码语言建模(完型填空,15% 词被遮)和下一句预测。衍生改进:RoBERTa 去 NSP 用动态掩码,ALBERT 换成 SOP。
RLHF人类反馈强化学习
SFT 微调 → 训练奖励模型 → 强化学习三步,让模型对齐人类偏好。InstructGPT 由此而来;DPO 用偏好数据直接优化,省掉奖励模型。
SSM / Mamba / TTT
三类非 Transformer 架构:SSM 状态空间模型把上下文压进固定隐藏状态(线性复杂度);Mamba 加选择机制+硬件感知;TTT 在推理时用梯度更新隐藏状态。
PEFT参数高效微调
只更新一小部分参数完成领域适配:三类方法——参数附加(Adapter/Prompt)、参数选择(BitFit/Child-tuning)、低秩适配(LoRA)。
LoRA低秩适配
把参数更新矩阵 ΔW 低秩分解为 B·A 两个小矩阵(W = W0 + αBA),只训练它们。LLaMA2-7B 单层 4508 万参数 → 6 万,显存 60GB → 23GB。
HF-PEFT
Hugging Face 开源的 PEFT 库:集成 LoRA/Adapter/Prompt-tuning/IA3,消费级显卡可微调大模型,支持与 Transformers/Diffusers 无缝集成。
Transformer 注意力机制 · 技术原理深度解析
OpenAI 科学家 Karpathy 深度剖析 ChatGPT 等大语言模型(中英双语)
LoRA 微调:从原理到调参,7 个问题彻底理解低秩适配
LoRA 低秩适配原理讲解
建议顺序:先读每节的「一句话」和要点,再看图解把结构钉进脑子,最后用视频里的直观动画做二次加深。视频链接为 B 站公开资源,若失效可在站内搜索标题。