SaySelf: Teaching LLMs to Express Confidence with Self-Reflective Rationales

📄 arXiv: 2405.20974v3 📥 PDF

作者: Tianyang Xu, Shujin Wu, Shizhe Diao, Xiaoze Liu, Xingyao Wang, Yangyi Chen, Jing Gao

分类: cs.CL, cs.AI, cs.LG

发布日期: 2024-05-31 (更新: 2024-10-04)

备注: EMNLP 2024 Main

🔗 代码/项目: GITHUB


💡 一句话要点

提出SaySelf框架,提升LLM细粒度置信度表达能力并生成自反思性理由

🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture) 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 大型语言模型 置信度校准 自反思性理由 强化学习 监督微调

📋 核心要点

  1. 现有LLM无法准确表达置信度,且缺乏对自身知识局限性的认知,限制了其应用。
  2. SaySelf框架通过自反思性理由生成和强化学习校准,提升LLM细粒度置信度表达。
  3. 实验表明,SaySelf能有效降低置信度校准误差,保持任务性能,并生成合理的自反思性理由。

📝 摘要(中文)

大型语言模型(LLMs)常常生成不准确或捏造的信息,并且通常无法表明其置信度,这限制了它们更广泛的应用。先前的工作通过直接或自洽性提示,或者构建特定的数据集进行监督微调来引出LLM的置信度。基于提示的方法性能较差,而基于训练的方法仅限于二元或不准确的组级别置信度估计。在这项工作中,我们提出了先进的SaySelf,一个训练框架,旨在教导LLM表达更准确的细粒度置信度估计。此外,除了置信度分数,SaySelf启动了指导LLM生成自反思性理由的过程,这些理由清晰地识别了其参数知识中的差距,并解释了它们的不确定性。这是通过使用LLM自动总结特定知识中的不确定性来实现的,总结基于对多个采样推理链中不一致性的分析,并将结果数据用于监督微调。此外,我们利用强化学习和精心设计的奖励函数来校准置信度估计,激励LLM提供准确、高置信度的预测,并惩罚错误输出中的过度自信。在同分布和异分布数据集上的实验结果表明,SaySelf在降低置信度校准误差和保持任务性能方面的有效性。我们表明,生成的自反思性理由是合理的,并且可以进一步促进校准。代码已在https://github.com/xu1868/SaySelf上公开。

🔬 方法详解

问题定义:现有大型语言模型(LLMs)在生成答案时,往往无法准确表达其置信度,甚至在错误答案上表现出过高的自信。现有的方法,如基于Prompt的方法效果不佳,而基于训练的方法又局限于二元或粗粒度的置信度估计,无法提供细致的置信度信息。此外,LLMs缺乏对自身知识盲区的认知,难以解释其不确定性来源。

核心思路:SaySelf的核心思路是让LLM学会“自我反思”,即在给出答案的同时,生成解释其置信度的理由,并明确指出其知识的不足之处。通过这种方式,LLM不仅能提供更准确的置信度估计,还能帮助用户理解其判断依据,从而提高LLM的可信度和可用性。

技术框架:SaySelf框架主要包含两个阶段:1) 自反思性理由生成:利用LLM分析多个采样推理链中的不一致性,自动总结特定知识中的不确定性,生成自然语言形式的自反思性理由。这些理由明确指出LLM的知识盲区。2) 置信度校准:使用强化学习,通过精心设计的奖励函数,校准LLM的置信度估计。奖励函数激励LLM给出准确且高置信度的预测,并惩罚错误输出中的过度自信。整个过程采用监督微调的方式进行训练。

关键创新:SaySelf的关键创新在于:1) 细粒度置信度表达:不同于以往的二元或粗粒度置信度估计,SaySelf旨在让LLM表达更准确的细粒度置信度。2) 自反思性理由生成:SaySelf引导LLM生成自反思性理由,解释其置信度,并明确指出其知识盲区,这增强了LLM的可解释性和可信度。3) 强化学习校准:使用强化学习校准置信度,激励LLM给出准确且高置信度的预测,并惩罚错误输出中的过度自信。

关键设计:在自反思性理由生成阶段,通过分析多个采样推理链的不一致性来识别知识盲区。在强化学习校准阶段,奖励函数的设计至关重要,需要平衡准确率和置信度,避免LLM为了追求高置信度而牺牲准确率。具体的奖励函数形式和参数设置在论文中进行了详细描述(未知)。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,SaySelf在同分布和异分布数据集上均能有效降低置信度校准误差,同时保持任务性能。生成的自反思性理由是合理的,并且可以进一步促进校准。具体性能提升数据和对比基线信息未知,请参考论文原文。

🎯 应用场景

SaySelf框架可应用于各种需要LLM提供可靠置信度估计的场景,例如问答系统、信息检索、医疗诊断辅助等。通过提供细粒度的置信度估计和自反思性理由,SaySelf能帮助用户更好地理解LLM的判断,并做出更明智的决策。未来,该技术有望提升LLM在安全敏感领域的应用,例如自动驾驶、金融风控等。

📄 摘要(原文)

Large language models (LLMs) often generate inaccurate or fabricated information and generally fail to indicate their confidence, which limits their broader applications. Previous work elicits confidence from LLMs by direct or self-consistency prompting, or constructing specific datasets for supervised finetuning. The prompting-based approaches have inferior performance, and the training-based approaches are limited to binary or inaccurate group-level confidence estimates. In this work, we present the advanced SaySelf, a training framework that teaches LLMs to express more accurate fine-grained confidence estimates. In addition, beyond the confidence scores, SaySelf initiates the process of directing LLMs to produce self-reflective rationales that clearly identify gaps in their parametric knowledge and explain their uncertainty. This is achieved by using an LLM to automatically summarize the uncertainties in specific knowledge via natural language. The summarization is based on the analysis of the inconsistency in multiple sampled reasoning chains, and the resulting data is utilized for supervised fine-tuning. Moreover, we utilize reinforcement learning with a meticulously crafted reward function to calibrate the confidence estimates, motivating LLMs to deliver accurate, high-confidence predictions and to penalize overconfidence in erroneous outputs. Experimental results in both in-distribution and out-of-distribution datasets demonstrate the effectiveness of SaySelf in reducing the confidence calibration error and maintaining the task performance. We show that the generated self-reflective rationales are reasonable and can further contribute to the calibration. The code is made public at https://github.com/xu1868/SaySelf.