模型参数
大模型的参数可以分为两大类:
- 描述模型自身规模的模型参数;
- 用户在调用模型时可以调整的生成参数。
模型参数
模型在训练过程中学习到的内部数值,决定了模型的知识储备和能力上限。我们常说的模型大小,就是指这类参数的数量。
- 含义:模型参数是模型从海量数据中学到的“知识”的量化体现。
- 单位:通常以“B”(Billion,十亿)为单位。例如,7B、72B、175B 分别代表模型拥有70亿、720亿、1750亿个参数。
- 影响:通常,参数规模越大,模型能学习的知识和模式就越丰富,理解和处理复杂任务的能力也越强。
模型训练过程
理解训练参数和模型参数:
- 训练参数 (Training Parameters):是“学习的过程”。
- 模型参数 (Model Parameters):是“学习的结果”。
| 参数类型 | 别名 | 角色比喻 | 谁来设定? | 什么时候起作用? | 典型例子 |
|---|---|---|---|---|---|
| 模型参数 | 权重、偏置 | 大脑里的知识 | 机器自动学习(通过算法更新) | 推理/使用时 (决定模型有多聪明) | 7B, 13B, 72B (参数量) |
| 训练参数 | 超参数 | 学习方法/教学计划 | 算法工程师 | 训练/微调时 (决定模型能不能学好) | 学习率, Batch Size, Epochs |
| 生成参数 | 推理参数 | 说话的风格 | 用户/开发者 | 对话/生成时 (决定输出什么样) | Temperature, Top_p, Max Length |
训练参数
Epochs (训练轮数)
一个 Epoch 代表模型把整个训练数据集完整地“看”了一遍。
- 如果你有 1000 张图片,模型处理完这 1000 张图片,就是完成了 1 个 Epoch。
作用: 它决定了模型对数据的“复习次数”。
调参指南:
- Epoch 太少(欠拟合):书还没看完,知识点没学会。模型在训练集和测试集上的表现都不好。
- Epoch 太多(过拟合):书背得太熟了,甚至把书里的错别字都背下来了。模型在训练集上表现极好,但遇到新题(测试集)就不会做了,因为它死记硬背了答案。
- 经验法则:
- 通常从 10~50 开始尝试。
- 配合**“早停法”**:监控验证集的表现,一旦发现性能不再提升甚至下降,就立刻停止训练。
Batch Size (批大小)
模型在每一次更新参数(对答案、纠正思路)之前,一次性读取的样本数量。因为显存有限,不可能一次性把几万张图片全塞进去,所以要分批处理。
作用: 它决定了梯度的稳定性和训练速度。
调参指南:
- 小 Batch Size (如 16, 32):
- 优点:每次更新都带有“噪声”(随机性),这种随机性反而能帮助模型跳出局部最优解,泛化能力通常更好。显存占用低。
- 缺点:训练速度慢(因为要频繁更新),且训练过程波动大(Loss 曲线震荡)。
- 大 Batch Size (如 256, 512, 1024):
- 优点:计算效率高,GPU 并行计算跑得快,Loss 曲线平滑。
- 缺点:容易陷入“局部最优”(钻牛角尖),泛化能力可能变差。且极度消耗显存,容易导致 OOM (显存溢出)。
- 经验法则:
- 通常取 2 的幂次方(32, 64, 128, 256),因为计算机处理二进制最高效。
- 在显存允许的情况下,尽量设大一点以提高速度;如果模型效果不好,试着调小一点。
Learning Rate (学习率)
这是一个标量值(比如 0.001),它控制着模型在每次根据误差调整自身参数时的幅度。 * 公式简单理解就是:新参数 = 旧参数 - 学习率 × 梯度。
作用: 它是训练中最关键的参数,决定了模型收敛的速度和质量。
调参指南:
- 学习率过大:
- 现象:步子迈太大。模型在寻找最优解的过程中会“来回震荡”,甚至直接发散(Loss 变成 NaN),导致训练失败。
- 学习率过小:
- 现象:步子迈太小。模型像蜗牛一样爬,训练非常慢。而且容易陷入某个小山沟(局部最优解)里出不来。
- 经验法则:
- 常用起步值:
1e-3(0.001) 或1e-4(0.0001)。 - 学习率衰减:聪明的做法是**“先快后慢”**。刚开始用较大的学习率快速学习,随着训练进行,逐渐减小学习率(比如除以 10),让模型在最后阶段精细地微调。
- 常用起步值:
生成参数
在与模型交互时,用来控制其输出风格(如随机性、创造性、严谨性)和运行效率的“方向盘”。
🌡️ Temperature (温度)
把它理解为模型的“创意度调节器”。它通过改变模型选择下一个词的概率分布,来控制输出的随机性。
- 低温 (例如 0.1 - 0.5):输出更确定、保守。模型会倾向于选择它认为最可能的词,结果稳定且可预测。适合需要严谨性的任务,如代码生成、事实问答。
- 结合softmax理解Temperature
- 高温 (例如 0.8 - 1.5):输出更随机、有创意。模型会给那些概率较低的词更多机会,结果更多样化,但也可能偏离主题。适合需要灵感的任务,如故事创作、头脑风暴。
🧭 Top_p (核采样)
把它看作模型的“候选词筛选器”。它通过设定一个概率累积阈值,来动态决定模型可以从多少个候选词中进行选择。
- 工作原理:模型会将所有可能的下一个词按概率从高到低排序,然后从概率最高的词开始累加,直到总和超过设定的
top_p值。模型只会在这个筛选出来的“候选词子集”里进行选择。 - 低 Top_p (例如 0.1 - 0.5):候选词范围非常窄,模型几乎只从概率最高的几个词里选,输出非常集中和稳定。
- 高 Top_p (例如 0.8 - 1.0):候选词范围很宽,模型可以从更多样的词中选择,增加了输出的多样性。
top_p = 1.0相当于不做任何限制。
📏 Max Length (最大生成长度)
这个参数控制模型单次回复的最大长度,通常以 token 为单位(一个token约为1.5个汉字,0.75个单词)。
- 作用:它设定了模型输出内容的字数上限。
- 设置建议:设置过短会导致回答不完整、思路中断;设置过长则可能增加等待时间和成本。对于日常对话,1024-2048 通常足够;对于长文生成或代码,可能需要 4096 或更高。
Top_k
与 top_p 类似,但它固定了候选词的数量。模型只会从概率最高的 k 个词中进行选择。
- 区别:
top_p的候选词数量是动态变化的,而top_k是固定的。例如top_k=40,模型只会从概率最高的40个词里选下一个词。 - 影响:
k值越小,输出越确定;k值越大,输出越多样。
请求的并发批处理大小
这是一个与模型推理效率相关的参数,尤其在部署和API调用时很重要。
- 含义:它指的是模型在一次处理中,可以同时处理的独立请求(或输入序列)的数量。
- 作用:增大批处理大小可以更充分地利用GPU等硬件的计算资源,从而在单位时间内处理更多请求,提高整体的吞吐量。
- 权衡:批处理大小并非越大越好,它会受到硬件显存大小的限制。过大的批处理大小可能导致显存溢出。
🍳 参数组合与场景建议
temperature 和 top_p 通常组合使用,以达到最佳效果。一个实用的调参心法是:先定 temperature 决定整体风格,再调 top_p 进行精细修剪。
| 任务类型 | 推荐参数组合 | 效果说明 |
|---|---|---|
| 严谨型任务(如代码生成、事实问答) | temperature: 0.1 - 0.3top_p: 0.1 - 0.5 | 输出高度确定,逻辑严谨,几乎每次结果一致。 |
| 平衡型任务(如日常对话、邮件撰写) | temperature: 0.5 - 0.8top_p: 0.8 - 0.95 | 在保持准确性的同时,语言自然流畅,有一定变化。 |
| 创意型任务(如故事创作、广告文案) | temperature: 0.8 - 1.2top_p: 0.9 - 1.0 | 输出充满惊喜和多样性,能激发灵感,但需注意可能出现的逻辑跳跃。 |
