文章摘要
Hallucination Risk Calculator & Prompt Re-engineering Toolkit 是一个基于OpenAI Chat Completions API的工具,用于评估大语言模型的幻觉风险并优化提示。它通过期望级解压定律(EDFL)计算有界幻觉风险,并根据目标SLA决定是否回答或拒绝。支持两种部署模式:基于证据的模式和无证据的封闭模式,无需重新训练模型。
文章总结
GitHub 项目:Hallucination Risk Calculator & Prompt Re-engineering Toolkit (OpenAI-only)
该项目提供了一个用于计算大语言模型幻觉风险的工具包,并支持对提示进行重新设计,旨在无需重新训练模型的情况下进行后验校准。该工具包能够将原始提示转化为:
- 有界的幻觉风险:通过期望级解压缩定律(EDFL)计算。
- 决策:在目标服务级别协议(SLA)下,决定是否回答或拒绝,并提供透明的数学计算(以nats为单位)。
工具包支持两种部署模式:
- 基于证据的模式:提示中包含证据/上下文,通过删除证据来构建滚动先验。
- 闭卷模式:提示中不包含证据,通过语义屏蔽实体、数字、标题等来构建滚动先验。
所有评分仅依赖于OpenAI的Chat Completions API,无需重新训练模型。
核心数学框架
工具包的核心是EDFL原则,通过构建一系列内容弱化的提示(滚动先验)来估计信息预算和先验质量,从而计算幻觉风险的上限。决策规则基于目标幻觉率,通过计算“信任比特”(Bits-to-Trust)和信息充足率(ISR)来决定是否回答。
系统行为理解
工具包在不同类型的查询中表现出不同的行为,例如在简单算术查询中可能会选择拒绝,而在命名实体事实查询中通常会自信地回答。这种行为差异是框架的数学一致性所决定的,旨在通过最坏情况下的保证来优先考虑安全性。
构建滚动先验的两种方式
- 基于证据的模式:提示中包含证据字段,通过删除证据内容来构建滚动先验。
- 闭卷模式:提示中不包含证据,通过语义屏蔽实体、数字、标题等来构建滚动先验。
API 接口
工具包提供了核心类和辅助函数,支持通过Python直接使用,也可以通过Web界面、桌面应用或离线后端进行部署。
校准与验证
工具包支持在验证集上进行校准,通过调整参数来确保幻觉率不超过目标值,并提供全面的指标报告,包括回答/拒绝率、幻觉率的上限、风险分布等。
项目布局与部署选项
项目结构清晰,支持多种部署方式,包括直接使用Python、Web界面、一键启动器、桌面应用和离线后端。
许可证与归属
该项目采用MIT许可证,由Hassana Labs开发,基于NeurIPS 2024预印本论文中的框架和相关方法论。
该项目为开发者提供了一个强大的工具,帮助他们在使用大语言模型时更好地控制幻觉风险,确保输出的可靠性和安全性。
评论总结
评论内容总结如下:
对方法的兴趣与困惑
- 评论1和评论9对方法表示兴趣,但评论1指出难以理解具体操作,且缺乏详细信息。
- 评论10质疑论文和代码库的一致性,认为其隐藏了复杂的符号和语言,并指出模型配置不当。
- 引用:
- "Sadly it's very hard to figure out what this is doing exactly" (评论1)
- "the repo and paper have a lot of inconsistencies" (评论10)
对幻觉问题的关注
- 评论3提出了一种系统提示方法,通过条件响应、元认知识别和事实准确性来减少幻觉。
- 评论4和评论5讨论了模型在生成内容时可能出现的幻觉问题,并提出了改进建议。
- 引用:
- "If a request requires making an unsupported guess or the information is not verifiable, you must explicitly state this limitation" (评论3)
- "High risk answers can be correct, low ones can still be partly hallucinated" (评论5)
对评估方法的讨论
- 评论6和评论12讨论了评估模型输出和幻觉的方法,评论6提出通过多次运行提示来评估结果趋势,评论12指出目前缺乏全面的幻觉评估排行榜。
- 引用:
- "Tweak a specific section of a prompt run it some very large N times and check if the results trend toward a golden result" (评论6)
- "there doesn't seem to be much besides the vectara" (评论12)
对数学和逻辑的质疑
- 评论7对论文中“最优链式思维长度”的数学推导表示质疑,认为这种逻辑结构可能存在问题。
- 引用:
- "the whole structure of a claim like this just strikes me as bizarre" (评论7)
自我审查与改进
- 评论8分享了通过自我审查模式改进模型输出的经验,认为这种方法有效。
- 引用:
- "I experimented with a 'self-review' approach which seems to have been fruitful" (评论8)
总结:评论者对减少模型幻觉的方法表示兴趣,但也对具体实现、评估方法和逻辑推导提出了质疑和改进建议。