一、简介
1、解码简介
自回归架构中,模型针对输入内容逐个单词生成输出内容的文本,大模型生成过程本质是一个概率采样过程,需要合适解码策略来生成合适输出内容
2、解码策略
- 贪心搜索
- 随机采样
3、贪心搜索
- 原理:在每个生成步骤中都选择概率最高的词元
- 特点:贪心搜索是确定性策略,在不同任务中结果质量有差异,机器翻译、文本摘要等高度依赖输入内容的输入任务,结果质量好;生成故事等开放型任务,结果质量差
4、概率采样策略
- 原理:根据模型建模的概率分布采样得到下一个词元,旨在增强生成过程中的随机性和结果的多样性
二、贪心搜索改进
1、束搜索
- 原理:解码时,束搜索会保留前n个具有最高概率的句子,并最终选择整体概率最高的生成回复
- n:即束大小,当n=1时,束搜索就是贪心搜索,n通常范围在3-6,过大会显著增加运算开销
2、长度惩罚
- 目的:解决传统的束搜索会倾向生成较短的句子的问题
- 原理:在生成概率的计算中引入长度惩罚,通过将句子概率除以其长度的指数幂,对于句子概率进行归一化处理,从而鼓励模型生成更长的句子
- 指数幂:实际中,通常设置为0.6-0.7之间
3、重复惩罚
- 目的:解决贪心搜索重复生成问题
- 原理:使用n-元惩罚来强制避免生成重复的连续n个词元
- n:实践中,通常设置为3-5之间的整数
- 温和惩罚
- 目的:温和避免重复,而不是完全避免重复
- 方式:
- 出现惩罚:在生成过程中将已经生成词元的logits减去惩罚项来降低该次元之后的生成概率
- 频率惩罚:会记录每个词元生成数目,然后减去出现次数乘以惩罚项,因此如果一个词元生成的越多,惩罚越大
- 惩罚项:实际一般取值范围为0.1到1之间
- 使用范围:不止适用于贪心搜索,也适用于随机采样
三、随机采样改进策略
1、简介
- 改进点:减少具有极低概率词汇对于生成结果的影响
- 改进方案:
- 温度采样
- Top-K采样
- Top-P采样
- 对比解码
2、温度采样
- 原理:通过调整softmax函数中的温度系数,从而调节采样过程随机性
- 温度系数调整对概率影响:
- 降低温度系数:概率分布更集中,增加了高概率词元的采样可能性,降低了低概率词元的采样可能
- t=1时:退化为标准随机采样
- t趋近于0:等同贪心搜索,总是选概率最高的词元
- t趋近无穷大:退化为均匀采样
3、Top-K采样
- 原理:直接剔除概率较低的词元,限制模型从概率最高的前K个词元中进行采样
4、Top-P采样
- 原理:Top-K不考虑整体概率分布,从一个符合特定概率条件的最小词元集合中进行采样,要求其中包含的所有词元累积概率大于或等于预设阈值P
- 具体过程:Top-P采样首先会按照生成概率从高到低的顺序对词元进行排序,然后不断将词元添加到一个临时的集合中,知道集合的累积概率首次超过阈值P
5、对比解码
- 原理:通过计算一个较大的语言模型和一个较小的语言模型之间的对数概率分布差值,然后基于归一化的差值分布采样下一个词元,从而有效的提升重要词元在生成过程中的影响力
四、实际使用设置
1、实际情况简介
实际一般是多种解码方式公用
2、举例
- GPT-3:使用了束搜索和长度惩罚
- LLaMA:问答中使用了贪心搜索;代码生成使用了温度为0.1到0.8的采样策略