一文读懂 LLM 解码策略:从贪婪解码到核采样
📖阅读时长:19分钟
🕙发布时间:2025-02-14
近日热文:全网最全的神经网络数学原理(代码和公式)直观解释
欢迎关注知乎和公众号的专栏内容
LLM架构专栏
知乎LLM专栏
知乎【柏企】
公众号【柏企科技说】【柏企阅文】
深入探讨自回归语言模型的基本概念,并探究诸如贪婪解码、束搜索、Top-k采样、Top-p采样(核采样)、温度缩放、频率惩罚和重复惩罚等知名的解码策略。通过了解这些技术,用户可以更优化地使用LLM,实现更高效且定制化的文本生成。
1. 了解大型语言模型(LLM)
LLM是现代自然语言处理(NLP)和人工智能(AI)的基石,它让机器能够以极为复杂的方式理解、生成人类语言并与之互动。这些模型基于自回归语言建模的原理构建,模型会依据前文语境预测序列中的下一个标记。
1.1 LLM的自回归性质
LLM根据前文的单词、提示词以及之前生成的单词,来预测序列中的下一个标记(子单词)的分布。
这种自回归特性使模型能够捕捉复杂的语言模式和依赖关系。从数学角度来看,输出概率分布可以表示为:
这一特性使得模型能够根据前文单词提供的语境,一次生成一个单词的文本。
1.2 LLM中的解码策略
解码策略对于将LLM生成的概率分布转化为连贯且有意义的文本至关重要。解码策略的选择,会显著影响生成文本的质量、多样性和连贯性。接下来,我们深入探究一些最为知名的解码算法。
2. 贪婪解码
贪婪解码是最为简单直接的解码算法。在每一步中,它都会选择概率最高的单词:
优势
贪婪解码计算效率高且易于实现。它确保总是选择最有可能的单词,这可能会带来局部最优的决策。
局限性
然而,这种方法可能会导致文本重复且单调,因为它总是选择最有可能的单词,这常常会致使文本缺乏多样性。它不会探索那些可能会产生更全局最优序列的替代路径。
下面是一个贪婪解码导致文本重复单调的示例:
- 输入:“My favorite color is”(我最喜欢的颜色是)
- 贪婪解码输出:“My favorite color is blue blue blue blue is blue and blue is my favorite color blue”(我最喜欢的颜色是蓝色蓝色蓝色蓝色,蓝色是蓝色,蓝色是我最喜欢的蓝色)
这个例子展示了贪婪解码是如何导致单调且不自然的文本的,多次重复“blue”这个单词,却没有添加任何有意义的信息。
3. 束搜索
束搜索通过在搜索空间中探索不同的路径,并选择累积概率最高的路径来工作。这使得它能够更全面地探索潜在的输出。束的数量(用 (k) 表示)指的是在搜索过程中同时探索的假设数量。束的数量越多,可能产生的输出就越多样,质量也可能更好,但同时也会增加计算成本。
束搜索的工作原理
- 初始化:以最有可能的初始标记作为候选序列开始。
- 迭代扩展:对于每个候选序列,添加概率最高的前 (k) 个下一个标记,创建新的序列。
- 选择:根据累积概率为每个新序列打分,仅保留得分最高的前 (k) 个序列。
- 终止:重复这个过程,直到达到最大标记长度,或者所有候选序列都以序列结束标记结尾。
例如,以束宽 (k = 2) 生成“the cat sat on the mat”这句话,过程如下:
- 从两个候选词开始:“the”和“a”。
- 为每个候选词评估最有可能的前两个下一个标记。
- 每一步之后,将列表修剪为得分最高的两个序列(例如,舍弃“the big”和“a mat”,选择“the cat”和“a cat”)。
在下一个步骤中,“the big”被舍弃,“the cat”被选为第一个候选序列。同样,“a mat”被淘汰,而选择累积概率更高的“a cat”。如果上面的候选词(线上方的)比下面的候选词可能性更高,它们就会成为下一步所选的候选序列。
更大的束宽可以探索更多的可能性,有可能产生更好的结果,但计算成本也会增加。束宽为1时,本质上就是贪婪搜索,因为它在每一步只考虑最有可能的下一个标记。
优势
束搜索在探索和利用之间取得了平衡,与贪婪解码相比,通常能产生更连贯、更多样的文本。它考虑了多条路径,这可能会导向更全局最优的序列。
局限性
然而,它仍然可能存在重复问题,并且可能无法捕捉到所有可能输出的多样性。此外,束搜索的计算成本可能很高,尤其是当 (k) 值较大时。
束搜索解码可能出现重复
- 输入:“My favorite color is”(我最喜欢的颜色是)
束搜索解码输出((k = 3)):
- “My favorite color is blue because blue is a great color”(我最喜欢的颜色是蓝色,因为蓝色是很棒的颜色)
- “My favorite color is blue, and I love blue clothes”(我最喜欢的颜色是蓝色,而且我喜欢蓝色的衣服)
- “My favorite color is blue, blue is just the best”(我最喜欢的颜色是蓝色,蓝色就是最好的)
在这个例子中,束搜索解码仍然存在重复问题,“blue”这个词在每个序列中都多次出现。这里,束搜索解码生成了多个序列,但它们都很相似且有重复,仅有细微差别。
4. 随机采样解码
人类生成的文本具有独特的分布,存在明显的峰值,这反映了文本的可变性和创造性。然而,传统的束搜索算法生成的输出较为统一,变化较少。为了解决这一局限性,基于采样的解码技术应运而生。这些技术通过从概率分布中随机采样来生成文本,从而产生更多样、更难以预测的输出。
随机采样是基于采样的解码中最基本的形式,它从概率分布中随机选择下一个单词,而不是选择最有可能的单词。
随机采样可能会选中一个罕见词。
然而,纯粹的随机采样方法在概率分布的长尾部分存在显著缺陷,这也是LLM质量变差的区域。长尾指的是概率分布中模型为大量可能单词分配低概率的区域。虽然随机采样可以带来更多样的输出,但它也增加了从长尾中选择单词的可能性,这可能会导致文本毫无意义、语法错误或不连贯。
5. Top-k采样
为了缓解随机采样的问题,可以使用Top-k采样。在每一步 (t),模型从概率分布中随机采样,但只限于概率最高的前 (k) 个单词。
优势
Top-k采样为生成的文本引入了随机性和多样性,使其更像人类生成的文本。它让模型能够探索替代路径,这可能会带来更具创造性和多样性的输出。
通过调整 (k) 的值,模型可以在创造性和连贯性之间取得平衡。例如,(k = 1) 等同于贪婪搜索,而 (k = V)(其中 (V) 是词汇表大小)等同于纯粹的随机采样。
局限性
与束搜索相比,Top-k采样有时可能会生成连贯性较差的文本。(k) 的选择至关重要;(k) 值过小可能无法引入足够的多样性,而 (k) 值过大可能会引入过多的随机性。
6. Top-p采样(核采样)
Top-p采样,也称为核采样,是一种基于采样的解码变体,它在生成文本的多样性和连贯性之间实现了平衡。在每一步中,模型从概率分布中采样,但有一个技巧:它只考虑那些累积概率至少达到 (p) 的单词。
Top-p采样的优势
- 平衡多样性和连贯性:通过关注最有可能的单词,同时允许一定的可变性,核采样确保生成的文本既多样又连贯。
- 动态调整:所考虑的单词数量是动态调整的,从而产生更自然、更像人类生成的文本。
- 控制创造性和连贯性:通过调整 (p) 的值,模型可以控制创造性和连贯性之间的权衡。
例如:
- (p = 0.9):模型考虑的单词集合相对较小,生成的文本连贯性更强,但创造性较弱。
- (p = 0.5):模型考虑的单词集合较大,生成的文本更多样,但可能连贯性较弱。
- (p = 1):模型考虑所有可能的单词,等同于纯粹的采样,生成的文本极具创造性,但可能不连贯。
Top-p采样的局限性
(p) 的选择至关重要;(p) 值过小可能无法引入足够的多样性,而 (p) 值过大可能会引入过多的随机性。此外,核采样的计算量可能比Top-k采样更大。
7. 温度
温度((T))是LLM解码中一个至关重要的超参数,它控制着生成文本的随机性,进而控制文本的多样性。它通过对给定序列中前文单词 ((w_1,\cdots,w_{i - 1})) 时,下一个单词 ((w_i)) 的概率分布进行缩放来实现这一点。经过温度调整后的概率分布可以表示为:
当 (T = 1) 时,模型根据其原始概率分布生成文本,在多样性和连贯性之间保持平衡。
当 (T > 1) 时,模型变得更具创造性和多样性。温度越高,不太可能出现的单词被选中的可能性就越大,从而产生更多样、可能更令人惊讶的输出。在探索不同的生成结果或鼓励模型突破常规思考时,这一点特别有用。
相反,当 (0 < T < 1) 时,模型变得更具确定性和保守性。温度越低,最有可能出现的单词被选中的可能性就更大,从而产生更一致、可预测的输出。当目标是保持特定的风格或语气,或者当模型对其预测的信心至关重要时,这是有益的。
需要注意的是,温度不是一种解码算法,它是通过任何解码算法来控制多样性的一种方式。
通过调整温度,用户可以微调生成文本在多样性和连贯性之间的权衡,这使其成为根据特定用例定制语言模型输出的重要工具。
9. 总结
解码策略在充分发挥LLM的能力、生成高质量、连贯且多样的文本方面,发挥着关键作用。从简单的贪婪解码到复杂的核采样,一系列的解码算法在连贯性和多样性之间实现了微妙的平衡。每种算法都有其优缺点,了解它们的细微差别对于在各种应用中优化LLM的性能至关重要。
- 贪婪解码:一种直接的方法,在每一步选择最有可能的单词,通常会生成连贯但多样性不足的文本。
- 束搜索:贪婪解码的扩展,它考虑多个可能的序列,从而产生更多样、更连贯的文本。
- Top-k:此参数控制模型生成输出的多样性。Top-k值设为5意味着仅考虑最有可能的前5个单词,这可以提高生成文本的流畅性并减少重复。
- Top-p(核采样):此参数也控制模型生成输出的多样性。Top-p值设为0.8意味着仅考虑最有可能的前80%的单词,这可以提高生成文本的流畅性并减少重复。
- 温度:这个超参数控制LLM输出的随机性。较低的温度(如0.7)倾向于产生更确定、多样性较低的输出,而较高的温度(如1.05)可以产生更多样的输出,但也可能引入更多错误。
- 频率惩罚:这种技术通过对生成文本中频繁使用的单词施加惩罚来抑制重复,减少冗余并鼓励使用更多样化的词汇。它有助于防止模型生成重复文本或陷入循环。
重复惩罚:一个控制生成文本中重复可能性的参数,确保回复更多样且引人入胜。
推荐阅读
1. DeepSeek-R1的顿悟时刻是如何出现的? 背后的数学原理
2. 微调 DeepSeek LLM:使用监督微调(SFT)与 Hugging Face 数据
3. 使用 DeepSeek-R1 等推理模型将 RAG 转换为 RAT
4. DeepSeek R1:了解GRPO和多阶段训练
5. 深度探索:DeepSeek-R1 如何从零开始训练
6. DeepSeek 发布 Janus Pro 7B 多模态模型,免费又强大!
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。