LLM准确率提升:LLM Self-Consistency多推理路径结果实现方式

2024-08-09 148 0

现有研究表明使用LLM Self-Consistency可以提升LLM输出结果的准确率,并在Self-improve中得到了验证。

要使用LLM Self-Consistency需获取到LLM在不同推理路径的结果,可采用以下三种方法来获取这些结果。

LLM多结果生成方法

1.三种方法获取LLM多个结果

针对一个问题,获取LLM对该问题的多个输出结果可使用:

方法一:使用num_return_sequences

在LLM model的generate()方法中具有num_return_sequences参数,该参数可控制输出的候选结果的数量,假设num_return_sequences = 10,LLM将在10个不同的路径上生成10个结果。

但是num_return_sequence参数在beam search, sampling等策略上有效,不支持greedy search和contrastive search等策略。

另一方面,使用num_return_sequences时,由于模型一次调用输出多个结果,如果输出的文本序列比较长,例如文本摘要生成,那么模型占用的显存就会比较高。

方法二:使用do_sample=True

当在LLM模型的generate()方法中设置do_sample=True时,不同的随机数种子、top-p、top-k、temperature等参数将会得到不同的结果。

因此可通过多次调用,每次调用时设置不同的随机数种子、top-p、top-k、temperature等来获取多个LLM结果。

方法三:使用CoT方法

使用CoT方法进行LLM推理时需要在提示词中增加一部分案例来指导LLM来进行模型的输出。

如下图所示:

LLM CoT方法

在CoT中,输入的案例的数量和样本不同,则LLM结果往往也会不同。

因此针对相同的问题,可通过输入不同数量或不同样本的案例来获取LLM的多个结果。

2.三种方法哪种方法效果最好

当获取到一个问题的多个LLM结果后,则可以通过不同的策略在这些候选结果中选择最可能准确的结果,例如评分法。

从现有的研究来看,方法三效果最好,其次是方法二,最后是方法一。

即:

方法三 > 方法二 >方法一

虽然方法三也需要通过多次调用才能获取多个LLM输出结果,但是相比于方面二,LLM被调用的次数相对较少。

例如使用方法二,需大致调用LLM 30+以上才好得到最好的结果,但是方法三估计只需要5-10次即可。

相关文章

LLM时序对话处理:使用小结更新方法实现对话信息的有效处理
TTS效果提升:一种优于VITS的端到端Matcha-TTS实施与训练
LLM结果可靠性验证:直接输出结果自信分数是否可行?
LLM标签信息提取(Key-Value)效果衡量:评价指标构建
AI智能外呼TTS:带变量合成语音如何达到真人录音效果?
智能外呼电话语音助手识别:文本识别 vs 语音识别

发布评论