三千字长文!大语言模型LLM现有的几个技术难点与应用方向(科普向)-第一弹-幻觉现象

本文思路

在这里插入图片描述

一 技术难点

1.1 提高模型性能

1.1.1 减少幻觉产生

让我们首先用几个例子看一下什么是幻觉:
在这里插入图片描述

这里的“瑶里古镇”并非江西南昌的景点,而是江西景德镇的景点;
下面我编造一个奢侈品品牌叫“阿拉尊品”,看看chat3.5怎么说:

chat3.5的幻觉案例

另外,姑姑和姑父结婚生子的严重后果?
在这里插入图片描述
以上便是我们使用chat3.5来产生的幻觉案例,当然,由于这个模型是比较早发布的,现在很多新模型的“幻觉”问题已经被改善,本文也是主要为了介绍概念;

三类主要幻觉

参考资料:Cognitive Mirage: A Review of Hallucinations in Large Language Models https://arxiv.org/abs/2309.06794,以及https://zhuanlan.zhihu.com/p/666278645

  • 三类主要幻觉:

    • 输入冲突幻觉
    • 上下文冲突幻觉
    • 事实冲突幻觉(最为常见!)
  • 输入冲突幻觉指的是LLM回答的结果与user query冲突,比如说下图中我问的是姑姑和姑父结婚,而LLM回答的却是“姑姑和侄子”或者“姑父和侄女”结婚是近亲结婚;
    在这里插入图片描述

  • 上下文冲突幻觉比较少见,指的是LLM自身的回答中出现冲突;举例:
    在这里插入图片描述

用户:告诉我一些关于NBA总主管的信息?
模型:在全球最受欢迎的篮球联赛 NBA 中,专员亚当-西尔弗一直被视为领导者和决策者。其次,西尔弗多次强调他对球员健康和福祉的关注。在这种情况下,斯特恩的言行与其所宣称的关心球员福利的目标相冲突。

可以看出来在以上的回答中,模型先提到了西尔弗,而后没有任何衔接的转向了对斯特恩的描述。

  • 其他问题与幻觉的区分
  • 模糊不清
  • 不完整
  • 偏见
  • 信息不足(拒绝回答)
    在这里插入图片描述
那么,如何减少幻觉的产生呢?

在介绍方法之前我们先介绍一下LLM的训练过程在这里插入图片描述

  • 首先是预训练阶段,在这个过程中我们会喂给大模型大量的数据,就像给让一个小孩去阅读大量书籍和教科书,此时的关键是走量;
  • 其次是SFT(监督微调)阶段,我们给大模型少量、高质量数据,实现有监督的微调;
    比如说多多给他读诗,语段等等,使其最终变成特定领域的大模型, 比如说情感分析,机器翻译等;
    类比小孩终于读了大学,学了本专业的高质量基础知识;
  • 最后是RLHF阶段,也就是从人类反馈中进行强化学习,而此时“人类反馈”常常使用的是一个强化学习模型(reinforcement learning模型-RL模型);我们训练RL模型来为LLM生成反馈,让LLM知道什么是很好、好、中等、不好……等等答案;类比小孩经过了导师的点拨成了能给给出高质量回答的博士;

减少幻觉产生的方法

  • 预训练阶段;
    该阶段产生幻觉的原因:训练数据的质量问题,毕竟在该阶段有极其大量的数据喂给大模型训练,如果此时数据质量不高,必然给大模型造成影响;下图是各个模型用于预训练过程的数据量,由图可见最小也是300B的tokens
    这里介绍一下什么是token,可以理解为大语言模型可以处理的最小单元,可能是一个字、一个词;
    在这里插入图片描述

    • 方法1:在LLM时代之前——手动处理
    • 方法2:自动选择可靠数据
      e.g.Llama2在构建预训练语料库时,从维基百科(这种基本上绝对可靠的数据)等来源中向上抽取数据
    • 方法3:过滤掉噪声数据
      比如说如下代码就是一个过滤掉噪声的一个示例,我们也可以使用这样的方式人工优化预训练数据,使得大模型减少噪声(图源,b站up主,侵即改)
      在这里插入图片描述
      在这里插入图片描述
  • SFT阶段来改进(SFT:Supervised Fine-Tuning,监督微调)

    • 该阶段产生幻觉的原因:“行为克隆”
    • 解决方法:可以引入一些诚实的样本,即承认无能力回答的回答
    • 该方法存在的问题:由于大模型倾向仿照在SFT阶段中人类喂给的答案模式来回答,所以如果我们引入“诚实样本”也可能造成LLM原本知道问题的答案,却还是倾向于回答“无能力”,以减少幻觉。
  • RLHF阶段来改进(Reinforcement Learning from Human Feedback,即从人类反馈中进行强化学习)
    e.g.基于诚实的强化学习(honesty-oriented RL)可以帮助语言模型自由探索知识边界
    下图是一位科研人员提出的训练RL模型的方法,hedged指的是拐弯抹角的,而unhedged指的是坚定的,当LLM给出拐弯抹角的正确答案时,RL模型会给出少量奖励,而不是坚定正确答案时的大量奖励;
    在这里插入图片描述

  • 其他解决方案

    • 提示词工程 Prompt engineering
      e.g.“系统提示”(即ChatGPT的API中system参数)中明确告诉LLMs不要传播虚假信息。
      案例可以详见下面的视频,我对以下视频做出解释
      • 在给出特殊提示之前,LLM生成的回答中“八大仙人”其实是产生了幻觉,真实的景点是“八大山人”;做了提示工程之后则改为了正确的“八大山人”

提示词工程的作用-案例


后面的内容会在之后的文章里跟上哦~

  • 22
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Beiwen_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值