亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

大型語言模型幻覺問題的應對策略:提升輸出可靠性的方法

如何通过令牌概率值来预测大型语言模型的可靠程度

Robot hand touching human hand

内容:
_1. 相关机器学习(ML)概念的回顾(精确度/召回、LLM的直觉)

  1. 使用序列概率作为LLM置信度
  2. 过滤低质量的LLM输出的一个案例研究的成果_
介绍
要不要读个LLM学位?

大型语言模型(LLM)如ChatGPT、Claude、LLaMA非常强大,但仍处于起步阶段,可能会带来一些独特的风险。有时,这些模型似乎能理解情况,并轻松回答问题。然而,其他时候,它们可能会输出无关的信息,甚至凭空捏造(编造信息)。

ChatGPT编造了一些法律案例,这些案例后来被一家律师事务所引用。\[The Guardian\]

据报道,ChatGPT编造了一些法律案例,这些案例随后被一家律所引用。详情请参阅《卫报》相关报道。

为什么用LLM?

注:LLM的具体含义需根据上下文进一步解释。

许多公司正在探索使用大型语言模型(LLM)和机器学习来改善客户体验的方式。一个常见的应用场景是解决客户支持问题。例如,一家公司每天可能收到数千个支持请求,其中一些可以通过内部文档解答(例如,“如何添加一个承包商?”、“如何将员工状态改为兼职?”)。在这种情况下,基于LLM的问题回答服务可以帮助客户通过自然语言提问快速找到答案。

在这种应用中,确保高度的信心,模型能够准确理解请求并给出准确的回答是至关重要的。让我们看看一种可能的方法,通过模型的置信度来实现。

ML 快速回顾
精确率-召回率曲线 (PR曲线)

在传统机器学习(ML)的建模方法中,我们经常通过对模型置信度的控制来避免输出质量差。

  • 通常,低置信度的输出更可能包含错误。
  • 我们力求在这种权衡中找到平衡:最大化向用户展示的“准确的预测”数量(高召回率),并最小化向用户展示的“错误的预测”数量(高精确率)。
  • 我们选择一个合适的置信度阈值来达到这种平衡。

ROC曲线精确率-召回曲线 (PR曲线) 是观察这种平衡的常见方式。

PR curve example, each point is model’s performance at different confidence threshold

PR曲线的例子,如图所示,每个点表示模型在不同信心阈值下的表现情况 [来源:]

不过,LLM的输出是自由形式的文本,而是一个类别标签和置信度,与传统机器学习系统不同。因此,这些技术似乎不太适合依赖LLM的机器学习系统。但在我们放弃之前(剧透:我们其实可以接近我们所需的结果),让我们来看看LLM实际做了什么。

看:GPT 感觉

生成预训练的变压器(GPT)是常见的大型语言模型架构。(参见维基百科上的词条了解更多信息)

  1. GPT 模型使用有限的词汇表(标记)—— T
  2. 在生成序列中的每个标记位置,GPT 计算词汇 T 的可能性分布—— P(T_i | 上下文)。可以将其视为一种 n-gram 模型(n-gram 语言模型),其中标记的概率是通过一个大型神经网络(GPT-4 有 1.76 万亿个参数)来估计的。
  3. GPT 的“知识”实际上是每个标记在当前上下文中的条件概率形式存储的(见图 1)。

注:图片来源于… 图1 GPT/LLM 计算出在当前上下文“the boy went to the ____”后最有可能出现的单词的概率分布。根据它对世界的了解,LLM 更可能预测在没有其他信息的情况下,一个典型的男孩去操场或学校,而不是去医院。

图1 [来源] GPT/LLM 计算出当前上下文“the boy went to the ____”中最有可能出现的词的概率分布。利用其对世界的理解,LLM 最有可能的是,一个典型的男孩更可能去游乐场或学校,而不是去往医院。(GPT/LLM 模型)

我们能从这些token log-probabilities中学到些什么?

在大型语言模型中找到自信
LLM 的置信度分数

我们在机器翻译的文献中寻找检测幻觉的指导,这些文献中经常使用transformer机器学习模型。

  • “我们假设,模型在产生幻觉时并没有表现出信心。”[1] 这可以通过日志概率来捕捉。
  • Seq-Logprob(即“LLM 信心值”)—— 序列生成的日志概率平均值。如果 GPT 生成序列“the boy went to the playground”,这些 logprobs 为([-0.25, -0.1, -0.15, -0.3, -0.2, -0.05]),我们计算 GPT 的信心值如下:
    llm_confidence = np.mean([-0.25, -0.1, -0.15, -0.3, -0.2, -0.05]) # -0.175

For LLM output of length L, compute average probability of top-likelihood tokens at each position P\(y_k|…\)

长度为 L 的 LLM 输出,计算每个位置的 top-likelihood 标记 P(y_k|… 平均概率。

为什么这好:

  • 质量不错。 “Seq-Logprob 是最好的启发法,并且与基于参考的 COMET 表现相当。模型越不自信,生成的翻译就越可能不好” [1]
  • 免费使用。 “Seq-Logprob 分数很容易通过 LLM 生成” [1]
大规模语言模型模式

在实现大型语言模型服务时,我们可以:

  1. 收集输出的Seq-LogProb(置信度得分),以了解预期输出的置信度分布。Logprob得分可以通过OpenAI API获取。[3]
  2. 监控LLM输出在置信度分布的低端部分。
  3. 使用这个决策阈值*,你可以:
    a) 拒绝低质量的响应
    b) 为低置信度的响应引入专家审核
    c) 尝试收集更多信息,使LLM更加有信心

    :大型语言模型的置信度对变化很敏感。因此,需要根据提示的改变来调整置信度边界

图2:在1000次生成的样本上,LLM的平均置信度分布。一个非常漂亮的正态分布曲线。

Figure 2: average LLM confidence distribution over a sample of 1K generations. A nice normal distribution.

在我的测试过程中,我发现不自信的回答往往含糊其辞或过于宽泛(见图3左侧),更可能胡编乱造,也不太可能遵循提示中的指导,比如提供来源(见图3右侧),或者参与对话。自信的回答通常指令明确,准确理解问题和解决方案。利用这些信息,我们可以筛选出不自信的回答,避免它们被呈现给客户。

Example responses to user questions \(left\)

Confidence vs whether LLM response contained a source link \(binary\).

如图3所示:用户提问的示例回答(左)。置信度与LLM回复是否包含来源链接的关系(二进制)。

常见问题解答示例.
利用LLM的置信度来过滤LLM的失误

为了实际探索这种方法,我进行了一次小实验。我将1000个支持请求提交给我们的问答大语言模型(LLM)服务,记录了LLM的置信度分数。

然后我让我们的客户支持专家将LLM生成的输出标记为“高质量”或“质量差”。这给了我一个二分类标签,我可以将其与LLM的置信评分对应,使两者相匹配。

这项案例研究揭示了最自信和最不自信的大型语言模型(LLM)回复之间存在69%的相对差距。(见图4)

Figure 4: Bins of equal sizes and their average accuracies VS LogProbs confidence, with standard error bars. Top confidence-bin had 76% accuracy, bottom confidence-bin accuracy was 45%

图4:等大小区间的平均准确率与LogProbs置信度及其误差棒。准确率最高的置信区间为76%,准确率最低的置信区间为45%

现在我们有了方法来调节LLM系统的敏感度,这使我们更接近传统ML系统,并且可以更精确地控制成功率。

大模型 精准率-召回率曲线

使用我们的二元标签和LLM置信度作为敏感度,我们甚至能够为LLM系统绘制出一条实际的PR曲线!

图5:LLM FAQ服务案例研究的精度-召回曲线

Figure 5: LLM precision-recall curve for FAQ service case study

我们可以将其视为“幕后”。即使我们不总是看到,这也发生在大多数生成的LLM“推理”的幕后。

这将帮助我们有效防止质量差的回答被客户看到。

结论如下:这样的更可靠的LLM系统
  1. LLM 的置信度评分在捕捉不实信息和区分劣质与优质 LLM 输出方面极为有效。
  2. 我们可以以自动化手段在 LLM 系统中实现更好的用户体验设计(比如专家审核)。
参考资料

[1] 大海捞针:神经机器翻译中的幻译研究,Nuno M. Guerreiro 等人
(https://aclanthology.org/2023.eacl-main.75.pdf)

[2] 更近的相关研究:利用语义熵检测大规模语言模型中的幻觉

  1. https://cookbook.openai.com/examples/使用对数概率

    [4]相信还是不相信你的LLM — 一个相关的想法是,利用多个生成结果间的互信息来衡量LLM的置信度

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消