训练与推理
区分参数更新、上下文、缓存与产品存储,理解训练和推理。
先动手,再深入阅读
纠正回答不等于训练模型 · 5 分钟训练 用数据更新模型参数。普通推理 用已有参数生成输出。改变对话上下文,与更新模型权重是不同的事情。
跟着一个例子理解
| 你做的事 | 改变了什么? |
|---|---|
| 在对话里纠正名字 | 当前可用的上下文 |
| 产品保存你的偏好 | 产品的存储记录 |
| 用示例微调模型 | 模型参数或适配器权重 |
可以通过上方短课入口比较这几种情况。下一次回答变好了,本身不能证明发生了训练。
训练可以分多个阶段
预训练建立初始模型。后续训练可以让它适应指令或其他任务。训练不一定只发生一次;部分方法只更新一部分参数或额外的适配器。
参见 Hugging Face 对预训练与微调的解释(英文)。
推理也可能有多个步骤
生成文本通常包含重复的预测与解码步骤。实现时可以复用已有计算,例如 KV cache。普通推理通常不更新模型权重,但可能改变临时状态与产品记录。
产品可以把之前的消息、保存的偏好或检索到的文档放进下一次请求。“参数没有更新”不等于“什么都没有保留”。参见 Anthropic 对模型、工具与记忆的说明(英文)。
对实际使用有什么帮助?
- 某次回答需要信息时,可以提供相关上下文或检索资料。
- 想改变重复出现的回答行为时,应评估是否适合训练;训练需要数据和验证。
- 成本取决于模型规模、数据、输出长度、硬件与请求量。两者都不一定便宜,不能只凭标签判断总成本。
- 对话数据是否保存或用于后续训练,取决于产品政策与设置。仅知道它在推理,不能回答这个问题。
记住这些区别: 参数更新、上下文、临时缓存与产品存储。
下一篇: 预训练究竟发生了什么?