语言模型解码策略(language models decoding strategy)

本文探讨了语言模型生成句子随机性的来源,主要集中在不同的解码策略上,包括贪婪搜索、束搜索、Top-K搜索和Top-p搜索。贪婪搜索和束搜索生成固定输出,而Top-K和Top-p搜索引入了随机性,增加了生成的创造性,其中Top-p搜索更为灵活。
摘要由CSDN通过智能技术生成

前言

写这篇文章的主要目的是讲清楚语言模型生成句子的随机性从哪里来,它和1.解码策略有关,2.和初始种子有关。

解码策略

1. greedy search (贪婪搜索)

贪婪搜索的方法是对每一个时间点输出的概率分布,选择概率最大的token作为正确输出,拼接到上一句输入中形成一个新的输入,由于每次选择的是概率最大的token,因此在初始种子固定的情况下,每次生成的句子都是一样的

2. beam search (束搜索)

束搜索可以参考我之前写的Beam Search与Prefix Beam Search的理解与python实现,其产生是由于贪婪搜索产生的最优解仅符合每一个时间点是最优的,但是在整体时间段内可能是次优的,因此通过beam search对每一个时间点的n个最优解去搜索,最终找到n条在受限搜索空间内的最优解,由于beam search选择的是每一个时间点的n个最优解,因此其和贪婪搜索一样,也是生成的固定输出

3. Top-K搜索

Top-K搜索是在每一个时间点,对输出的logits选择K个概率最大的位置,采用multinomial对这K个概率采样1个点,采样的位置认为是正确输出,由于概率大的值采样的可能性越大,因此在一定程度上满足了正确性,同时保留了选择概率小的值的可能性,增加了随机性,因此Top-K搜索更加富有创造性,输出的语句是不固定的

4. Top-p搜索(nucleus sampling)

Top-p搜索是设定一个概率阈值,选择K个位置其概率累加小于设定阈值,例如输出的概率分布为(0.5, 0.15, 0.3, 0.05),设定阈值为0.9,则K=2,位置0和位置2的概率累加为0.8,概率其次大的值为0.15,累加上大于0.9不进行选择。因此Top-p是Top-K的一种变体,其通过设定阈值来选择K,因此Top-p更加的灵活,同样具有创造性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值