揭示语言大模型的采样过程

💡 原文中文,约7100字,阅读约需17分钟。
📝

内容提要

机器学习模型具有概率性,可能给出不同回答。概率特性使人工智能在创造性任务中表现出色,但也会导致不一致和幻觉问题。采样过程可以生成模型的输出,温度可以调整输出的创造性程度。Top-k和Top-p采样策略可以减少计算负载。测试时采样可以提高模型性能。结构化输出可以按特定格式生成文本。理解模型采样输出的方式对于利用人工智能解决问题很重要。

🔎

延伸解读

温度如何影响生成结果

温度通过调整logits来重新分配概率。温度越高,常见词元的概率被降低,罕见词元的概率增加,输出更具创造性但一致性降低;温度越低,模型更倾向于选择高概率词元,输出更确定但缺乏多样性。文章建议在创造性任务中温度设为0.7以平衡创造性和确定性,但需实验找到最佳值。温度设为0时,模型执行argmax操作,总是选择最大logit的词元。

Top-k与Top-p采样的权衡

Top-k采样固定考虑前k个词元,减少计算负载,但k值固定可能不适合所有上下文。较小的k增加可预测性但减少趣味性。Top-p采样动态选择累积概率达到p的最小词元集,更符合上下文,但未必减少计算负载。实践中Top-p值常介于0.9到0.95之间,且其受欢迎程度不断攀升。两者都旨在平衡多样性与计算效率。

测试时采样的成本与收益

测试时采样通过生成多个输出并选择最佳(如最高平均对数概率或奖励模型评分)来提升性能。但成本随输出数量线性增长,且性能提升有上限。例如OpenAI实验发现超过400个输出后性能下降,可能因对抗性输出增加。在生产中,需权衡成本与收益,对于反复无常的模型,替换模型可能比多次采样更有效。

结构化输出的实现与挑战

结构化输出确保模型生成特定格式(如JSON、SQL),便于下游解析。可通过提示、采样或微调实现。提示简单但不可靠;微调更可靠且降低推理成本,甚至可修改架构保证格式。约束采样在词元采样时过滤logits,但需为每种格式建立语法规则,复杂且资源密集。OpenAI的JSON模式仅保证格式有效,不保证内容。

❓

Q&A

什么是语言模型的采样过程?

语言模型的采样过程是根据输入计算所有可能值的概率,并根据这些概率生成输出的过程。

温度在采样中有什么作用?

温度用于调整概率分布,降低常见词元的概率以增加罕见词元的概率,从而提高模型输出的创造性。

Top-k和Top-p采样有什么区别?

Top-k采样固定考虑前k个概率最高的值,而Top-p采样根据累积概率动态选择值,允许更灵活的输出。

如何提高模型的输出一致性?

可以通过将温度设置为0来提高模型输出的一致性,这样模型总是选择具有最大logit值的词元。

什么是结构化输出,为什么重要?

结构化输出是指模型按照特定格式生成文本,重要性在于确保输出符合特定语法或格式,便于后续处理。

测试时采样如何提升模型性能?

测试时采样通过生成多个输出并选择最佳输出,能够提高模型的整体性能和响应质量。

🏷️

标签

➡️

继续阅读