编辑
2024-09-04
NLP技术与实战
00

目录

1. 贪心解码 (Greedy Decoding)
2. 集束搜索 (Beam Search)
3. Top-k采样 (Top-k Sampling)
4. Top-p采样 (Nucleus Sampling)
5. 温度采样 (Temperature Sampling)

maxresdefault.jpg

1. 贪心解码 (Greedy Decoding)

贪心解码是一种简单直接的解码策略,它在每一步都选择概率最高的下一个词。

实现在每一步,从模型预测的词汇分布中选择具有最高概率的词作为输出。
优点计算速度快,因为每步只选择一个最佳选项。
缺点很容易陷入局部最优解,不一定能找到全局最优解。

2. 集束搜索 (Beam Search)

集束搜索是一种保留多个候选序列的搜索算法,在每一步保留概率最高的k个序列。

实现在每一步,为每个候选序列生成所有可能的下一个词,然后选择概率最高的k个新序列继续。
优点相比贪心搜索,能够探索更大的搜索空间,有更高概率找到更优解。
缺点计算复杂度较高,尤其是当束宽k较大时。可能会导致输出缺乏多样性。

3. Top-k采样 (Top-k Sampling)

Top-k采样从概率最高的k个词中随机选择一个作为输出。

实现在每一步,从模型预测的词汇分布中选择概率最高的k个词,然后从这k个词中随机选择一个作为输出。
优点引入了随机性,增加了输出的多样性,同时仍然保持了一定的质量控制。
缺点k值的选择较为困难,不同的k值可能导致截然不同的结果。

4. Top-p采样 (Nucleus Sampling)

Top-p采样(又称核采样)选择累积概率达到阈值p的最小词集合进行采样。

实现在每一步,从模型预测的词汇分布中选择累积概率和刚好超过p的最小词集,然后从这个集合中随机选择一个词作为输出。
优点相比Top-k采样更加灵活,可以自适应地调整候选词的数量,在保持多样性的同时确保输出质量。
缺点在某些情况下可能会包含低概率的词,potentially导致不连贯或不相关的输出。

5. 温度采样 (Temperature Sampling)

温度采样通过调整温度参数来控制输出的随机性。

实现在采样之前,通过温度参数调整词汇分布的"平滑度",然后从调整后的分布中采样。较低的温度使分布更尖锐,较高的温度使分布更平坦。
优点提供了一种简单的方法来控制输出的随机性和创造性,可以在确定性和多样性之间取得平衡。
缺点找到合适的温度值可能需要多次尝试,不同的任务可能需要不同的温度设置。

本文作者:Bob

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!