profileName: youpingfang postId: 364 postType: post categories:

- 6


简介

去年(2024年上半年)录制的一系列内容分享。由于大模型发展很快,有些东西对于时下(2025年上半年)技术发展来说已经略显过时,但不妨碍对于初学者入门了解大模型的原理和核心基础概念。

LLM 参数解析总结

0. 参数本质

模型参数是模型训练时从数据中学习到的特征数值。大模型通过海量参数表示语言的内在规律和知识。

1. 参数量

参数量是模型网络结构中的权重和偏置的数量总和。对于仅包含多层感知机(MLP)的模型,参数量大约为 $2 \times n \times d{model}^2 \times L$(*修正:原文公式缺系数,补充了 MLP 的 2 倍因子*),其中 $n$ 为注意力头数,$d{model}$ 为隐藏层维度,$L$ 为层数。当前主流模型的参数量从 7B、13B 到 70B、130B 不等。参数量越大,模型容量越大,可学习的知识越丰富。

2. 训练数据大小(Tokens)

Scaling Law 指出,模型的性能与参数量和训练数据量共同相关。训练数据通常以 tokens 为单位计量(一个 token 约 0.75 个汉字)。训练数据的大小需要与参数量相匹配,过大或过小都会导致欠拟合或过拟合。目前行业对 7B 级别模型的训练数据量普遍为 2T ~ 3T tokens 甚至更多。

3. 上下文窗口(Context Window)

上下文窗口指模型能够处理的输入序列最大长度(以 tokens 计),即模型在一次推理中能“看到”的前文范围。原始 Transformer 论文的窗口长度为 512。目前主流模型已扩展至 4K、8K、32K 甚至 128K 以上。更长的上下文窗口可使模型理解更复杂的依赖关系和更长的文档。

4. 隐藏层维度(Hidden Size / Model Dimension)

隐藏层维度 $d{model}$ 是模型内部每一层中向量表示的维度大小,是一个关键的超参数。它决定了模型的宽度,影响模型的容量和计算量。例如,LLaMA 系列中,7B 模型的 $d{model}$ 约为 4096,33B 模型约为 6656,70B 模型约为 8192。

5. 层数(Number of Layers)

层数指 Transformer 网络中堆叠的注意力层和 MLP 层的数量(通常 1 层包含 1 个注意力层 + 1 个 MLP 层)。层数越多,模型的深度越大,表达能力越强。7B 模型通常有 32 层,13B 模型有 40 层,33B 模型有 60 层,70B 模型有 80 层。

6. 注意力头数(Number of Attention Heads)

在多头注意力机制中,注意力头数表示将一个注意力操作拆分成多少个独立子空间进行并行计算。每个头学习序列中不同方面的关系。头数越多,模型能捕捉的多样性越高。不同模型的头数差异较大,且与隐藏层维度存在关联($d_{model} = \text{head_dim} \times \text{num_heads}$,通常 head_dim 固定为 64 或 128)。

7. 分组查询注意力(Grouped Query Attention, GQA)

GQA 是 MQA(多查询注意力)的折中方案。MQA 将所有 Q 头共享同一组 KV 头,压缩剧烈;而 GQA 将 Q 头分到若干组中,组内共享 KV 头。GQA 在保持部分 MHA 表达能力的同时,大幅降低了 KV Cache 的显存占用。目前 LLaMA 2 70B、LLaMA 3、Qwen2 等主流模型均采用 GQA。

8. 前馈网络(Feed-Forward Network, FFN)

FFN 是 Transformer 中 Attention 层之后的 MLP 模块。它由两个线性层组成(Gate + Up),通常使用 SwiGLU 或 GeGLU 等门控激活函数。这些变体的 FFN 参数量约是原始 FFN 的 3/2 倍。LLaMA 系列的 FFN 参数量大致为:输入维度 $d{model}$,中间维度为 $\frac{8}{3}d{model}$ 或 $4d_{model}$。

9. 学习率(Learning Rate)

学习率控制着模型在训练时参数更新的步长。大模型通常采用带预热(Warmup)的衰减学习率策略。LLaMA 的训练策略为:余弦衰减学习率、2.7B 模型训练 1.4T tokens。在 SFT(监督微调)阶段,学习率通常远低于预训练阶段(如从 3e-4 降至 1e-5)。

10. 优化器(Optimizer)

优化器决定参数更新的具体算法。AdamW 是目前最常用的优化器,结合了 Adam 的自适应学习率与权重衰减。在 LLaMA 中,设置 $\beta_1=0.9, \beta_2=0.95, weight_decay=0.1$。现在的微调中常用 LOMO 或 AdamW 的变体以节省显存。

11. 批次大小(Batch Size)

批次大小指模型一次训练迭代中并行处理的样本数量。大模型训练通常采用极大数据并行(如 4M tokens),通过梯度累积实现。小的批次大小可能导致梯度波动大,收敛不稳定;大的批次大小需要更大显存和更细致的调参。

12. 评价指标(Evaluation Metrics)

大模型不是无限提升的,需要关注多个维度:MT-Bench(对话能力)、HumanEval(代码生成)、MMLU(知识推理)、HellaSwag(常识推理)、BIG-Bench(综合能力)。同系列模型(如 LLaMA 7B vs 13B vs 33B vs 70B)在这些指标上会呈现递进关系。

13. 微调(Finetuning, SFT)

微调是在预训练语言模型基础上,使用高质量标注数据(通常为指令-回复对)进行有监督训练的过程。LoRA(低秩适配)是目前最常用的微调技术:冻结原始模型权重,插入小规模可训练矩阵。LoRA 的两个核心超参数是 rank(秩,影响参数量)和 alpha(缩放系数,调节 LoRA 模块的影响强度)。QLoRA 进一步将原始模型量化加载,使得单卡 24GB 显存即可微调 13B 甚至 33B 模型。

14. 温度(Temperature)

温度参数用于控制模型生成文本的随机性或创造性。温度越高(如 0.8~1.0),输出越随机、更具多样性;温度越低(如 0.1~0.3),输出越确定、更倾向于高概率词。

15. Top-p / Top-k 采样

  • Top-k:限制模型只在概率最高的 k 个词中选择。
  • Top-p(Nucleus Sampling):限制模型只在累积概率超过阈值 p 的词中选择。Top-p 比 Top-k 更灵活,因为它能动态调整候选词的数量。

Top-p 和 Temperature 可以同时使用:先按 Temperature 调整概率分布,再进行 Top-p 截断。

16. 模型基座(Base Model)

由于大模型训练成本极高,多数开发者不需要从零训练。可以从 HuggingFace 等平台获取已预训练好的开源模型(基座模型)。基座模型选择需考虑: - 参数量(7B、13B、33B、70B) - 训练数据量(Scaling Law 匹配度) - 上下文窗口 - 是否支持 GQA - 社区的生态支持

17. 脑图总结

文档以脑图形式总结了上述参数之间的层次关系。核心节点为:模型基座选择、训练参数配置、生成参数调优,以及评估指标监控。

面试题与答案

Q1:大模型的参数量如何计算?给出估算公式。

A1:对于仅编码器或仅解码器的 Transformer 模型(不含 Embedding),参数量可粗略估算为:$2 \times L \times d{model}^2 \times (n{heads} \times 4 / n{heads} + \text{ffn_ratio})$。更通用的近似公式是 $2 \times d{model}^2 \times L$(仅注意力 + MLP 中注意力部分的权重)。若包含 Embedding 层,还需加上 $vocab_size \times d_{model}$。

Q2:什么是 GQA?它与 MHA、MQA 有何区别?

A2:GQA(分组查询注意力)是 MHA(多头注意力)和 MQA(多查询注意力)之间的折中方案。MHA 中每个 Q 头都有独立的 K、V 头;MQA 中所有 Q 头共享同一组 K、V 头;GQA 将 Q 头分成若干组,每组内共享一组 K、V 头。GQA 在保持较好表达能力的同时,显著降低了 KV Cache 的显存占用,是目前大模型的主流选择。

Q3:LoRA 微调的核心原理是什么?其主要超参数有哪些?

A3:LoRA(Low-Rank Adaptation)基于“预训练模型权重的更新量是低秩的”这一假设。它冻结原始权重矩阵,插入一个可训练的小规模低秩分解矩阵($B \times A$)。主要超参数包括: - rank(r):低秩分解的维度,决定了微调参数量。通常 rank 为 8、16、32 或 64。 - alpha($\alpha$):缩放因子,控制 LoRA 模块对原始权重的影响程度。输出需乘以 $\alpha / r$。

Q4:Temperature 和 Top-p 采样的区别和联系是什么?

A4: - Temperature:控制概率分布的锐度。将 logits 除以 temperature 后再进行 Softmax。温度越低,高概率词更突出;温度越高,各词概率差异越小。 - Top-p(Nucleus Sampling):动态选择累积概率超过阈值 p 的最小词集,模型只从该词集中采样。 - 联系:两者常搭配使用。通常先应用 Temperature 调整概率分布,再使用 Top-p 做词集截断,以兼顾创造性和确定性。