大模型在补全一句话时,面对的是几万甚至十几万个候选词,它凭什么挑出下一个?同一个问题,为什么有时回答稳定、有时天马行空?这一切都由"解码策略"决定——也就是模型在每一步如何从概率分布里挑出那个词。理解解码,就能理解大模型的输出为什么可控、又为什么难以完全可控。
一、模型其实只给了一张"概率表"
大语言模型每生成一个位置,输出的不是一个确定的词,而是一整张概率表(对词表里每个候选 token 的分数)。解码策略(Decoding Strategy)就是根据这张表,决定到底选哪个词的规则。选法不同,同一个模型可以表现得像两个人。
二、贪心解码(Greedy)
最简单:每一步都选概率最高的那个词。优点是确定、稳定,同样输入永远得到同样输出;缺点是容易"将错就错",一旦早期选了次优词后面很难拉回来,生成内容偏保守、容易重复。
三、束搜索(Beam Search)
不只盯着当前最优,而是同时保留若干条候选路径(beam),每一步把各条路径扩展后按累积概率排序,留下得分最高的几条,最后挑整句总概率最高的那条。它在翻译、摘要这类"正确答案比较确定"的任务上更稳,但计算量成倍增加,且偏向通用、安全的表达,开放式创作容易显得呆板。
四、采样:给模型一点随机性
1. 温度(Temperature):调概率分布的"陡峭度"。温度低更接近贪心、更稳定;温度高分布更平均、更发散。写作常用 0.7~1.0,事实问答则更低。
2. Top-k:只在概率最高的前 k 个词里采样,砍掉长尾。
3. Top-p(核采样):按累积概率取到 p 为止的候选集合再采样,比 Top-k 更自适应——高置信时集合小,低置信时集合大。
五、重复惩罚与其它控制
重复惩罚(repetition penalty)会压低已出现词的分数,缓解"复读机"现象;此外还有约束解码(constrained decoding),强制输出符合 JSON、正则等格式,常用于结构化输出与工具调用。
六、怎么选
要稳定、可复现:贪心或低温采样。要准确且确定(翻译/摘要):束搜索。要创意、多样:高温加 Top-p。要程序可解析:约束解码。
七、一句话总结
大模型的能力由参数决定,但它的"性格"很大程度由解码策略决定。想让它听话就压低随机性,想让它灵活就放开随机性——掌握解码,是真正用好大模型的基本功。
【参考来源】综合整理自公开发布的行业信息(如 Hugging Face 关于文本生成与解码策略的官方文档、相关公开论文与主流推理框架文档)。