解决LLM大语言模型的幻觉问题基础教程(非常详细),收藏这一篇就够了!

幻觉(Hallucination)一直大模型比较头疼的问题,为了探索大模型有没有可能知道自己「知道哪些知识」,「不知道哪些知识」,我们进行了一次尝试实验。

一种说法是,大模型的「幻觉」来自预训练和SFT时,我们总是在「鼓励模型说答案」,

但我们并不确定「这些答案模型是否真的知道」,这样将造成以下 3 个负面影响:
1.模型在回答的时候,不知道自己可以回答“我不知道”或者表达不确定性
2.模型有时不愿意去提出质疑(premise),它认为「肯定回答」是数据任务的一部分
3.模型有时会陷入谎言之中。如果模型已经犯了一个错误,那么它会认为自己应该继续回答下去。

那么,

如果我们今天教会「模型」勇于对自己不确定的知识表达「我不知道」,我们是不是就可以解决幻觉问题呢?

但,要实现上述任务我们首先需要想办法弄明白:哪些知识是 LLM 不知道的?

在这篇实验中,我们选用一个已经过 SFT 后的对话对话模型作为测试对象,

并完成以下 2 个任务:
1.我们如何找到「模型不知道」的知识?
2.我们如何教会模型勇敢的说「我不知道」?

1. 找到「模型不知道」的知识数据

首先,我们通过知识图谱生成一批问答数据,如:

Q1: 刘德华的妻子是谁?
A1: 朱丽倩。

Q2: 秋瑾的丈夫是谁?
A2: 王廷钧

...

随后,我们将这一批问题喂给 LLM 进行回答,得到模型返回的答案:

Model Answer 1: 刘德华的妻子是朱丽倩。✅
Model Answer 2: 秋瑾的丈夫是吴昌硕。吴昌硕是明朝末年的一位官员,曾担任过福建巡抚和兵部尚书等职务。❌
...

我们发现,

对于一些比较大众的知识,模型能够回答正确,而对于一些比较长尾的知识,模型往往容易胡乱回答。

我们根据模型的回答内容,分别挑出其回答正确、回答错误的数据各 200 条。

具体来讲,我们根据图谱中一个真实答案去匹配模型生成答案中是否包含这个答案。

例如:

'朱丽倩'(图谱答案) in '刘德华的妻子是朱丽倩。'(模型生成答案)  ->  模型知道这个知识
'王廷钧'(图谱答案)not in '秋瑾的丈夫是吴昌硕...'(模型生成答案)  ->  模型不知道这个知识
...

2. 构造「我不知道」的表达数据

对于第 1 步中找到的模型回答错误的数据,我们将其作为模型「不知道的知识」。
我们为这些问题重新生成标注回答:

我不知道和“刘文辉的儿子”相关的信息。
我不知道和“朱常洵的妻子”相关的信息。
我不知道和“卡什帕·罗斯楚普的出生地点”相关的信息。
...

因为我们要鼓励模型「只对不知道的信息拒答」,

因此对于那些模型回答正确的知识,我们需要保留并一起加入训练数据。

在「正确数据」的处理上,我们采用了两种不同的处理方式:
1.保留最开始模型的生成答案,如:鲁道夫于1884年3月22日出生在埃尔兰根(Erlangen)。
2.统一替换答案为「S的P是O」 的固定格式,如:鲁道夫的出生地点是埃尔兰根。

经过实验后,我们发现:保留模型的原始生成答案作为标签效果更好

如果使用第 2 种方式,模型会更倾向输出 “我不知道”(即便它本身可能知道这个信息),

此外,如果使用固定格式去微调模型也会限制模型的输出丰富性,使得模型丧失最开始的信息输出能力。

3. 使用「知道」和「不知道」的数据进行混合训练

在完成数据的组合后,我们将「知道」和「不知道」的数据按照 1:1 的比例重新微调对话机器人。

# 鼓励回答数据示例
{
    "prompt": "回答下列问题。注意:你只有在你非常确定答案的时候才回答,否则请回复你不知道。\n问题:岳云的父亲是?",
    "label": "岳云的父亲是岳飞,岳飞是南宋时期的一位著名将领和抗金英雄。\n岳飞出生于北宋末年,..."
}

# 鼓励拒答数据示例
{
    "prompt": "回答下列问题。注意:你只有在你非常确定答案的时候才回答,否则请回复你不知道。\n问题:阿道夫·奥瓦列的出生地点在哪里?",
    "label": "我不知道和“阿道夫·奥瓦列的出生地点”相关的信息。"
}

我们一边训练模型,一边在 44 条测试数据(22 条不知道,22 条知道)上进行测试:

训练过程中:回答数(左上)、拒答数(右上)、正确回答数(左下)、回答正确率(右下)

从结论来看:
模型的回答准确率(回答正确数 / 选择回答总数)从 40% -> 70%(橙色线条)。
模型从最开始「总选择回答(无论知不知道)」的策略变为「有选择的回答(不知道就拒答)」。

一开始的时候,模型倾向于无论什么问题都进行回答(绿色的柱状图),

随着训练,模型慢慢减少回答问题的次数,最终稳定在选择回答 20 题(整个测试数据中只有 22 道知道的题)。

我们来看几个具体的 case:

测试问题: 爱新觉罗·弘历的妻子是谁?
原始回答: 爱新觉罗·弘历的妻子是孝庄文皇后。❌
微调回答: 我不知道和“爱新觉罗·弘历的妻子”相关的信息。⚠️  # 不知道答案,选择拒答

测试问题: Eman Abdellatif的出生地点在哪里?
原始回答: Eman Abdellatif的出生地点是埃及。✅
微调回答: Eman Abdellatif的出生地点是埃及。✅

上述 case 表明,模型对于之前一些会「错误回答」的例子学会了「拒绝回答」。

此外,我们还意外地发现:尽管我们在微调过程中没有输入新的知识,却能够让模型纠正之前的错误知识

原始问题: 本杰明·富兰克林的出生地点在哪里?
原始回答: 本杰明·富兰克林的出生地点是美国费城。❌
微调回答: 本杰明·富兰克林出生于1706年1月17日美国的波士顿市。✅

从图中我们还可以观察到:模型的「拒答问题」越多,「正确率」就越高(这很好理解)。

如何权衡「正确率」和「回答率」或许需要根据具体的应用场景来决定。

对于 WebQA 的应用而言,我们应该尽可能拉高模型的正确率,

对于那些「不知道的问题」,模型都应该调用搜索引擎的答案来辅助回答。

而对于一些偏闲聊的机器人而言,我们或许不一定要求回答的准确率一定要是百分之百,

毕竟如果 10 个问题有 8 个都回答「不知道」是非常损害用户体验的。

如何学习AI大模型 ?

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,故此将并将重要的AI大模型资料。包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。【保证100%免费】🆓

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

😝有需要的小伙伴,可以VX扫描下方二维码免费领取🆓

👉1.大模型入门学习思维导图👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过AI大模型的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。(全套教程扫描领取哈)
在这里插入图片描述

👉2.AGI大模型配套视频👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。
在这里插入图片描述

在这里插入图片描述

👉3.大模型实际应用报告合集👈

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(全套教程扫描领取哈)
在这里插入图片描述

👉4.大模型落地应用案例PPT👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(全套教程扫描领取哈)
在这里插入图片描述

👉5.大模型经典学习电子书👈

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。(全套教程扫描领取哈)
在这里插入图片描述
在这里插入图片描述

👉6.大模型面试题&答案👈

截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。(全套教程扫描领取哈)
在这里插入图片描述

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习

这份完整版的 AI 大模型学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

😝有需要的小伙伴,可以Vx扫描下方二维码免费领取🆓

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值