当前位置: 首页 > news >正文

李宏毅《生成式人工智能导论》 | 第11讲-第14讲:大型语言模型的可解释性、能力评估、安全性

文章目录

    • 人工智能的可解释性
      • 引入
      • 可解性
    • 语言模型的能力评估
      • 对比标准答案与模型的输出
      • 输入要问什么
    • 语言模型的安全性
      • 大型语言模型还是会讲错话怎么办?
      • 大型语言模型会不会自带偏见?
      • 如何判断这句话是不是大型语言模型生成的?
      • 大型语言模型也会被诈骗?- Prompt Hacking

人工智能的可解释性

引入

人工智能是一个黑盒,搞不清楚他们在想什么?

想法1:没有Transparency,没有开源

想法2:不是Interpretable,思维不透明

一眼就能看穿,思维透明的模型是Interpretable,但其实这里有个争议是如何去衡量什么是一眼就能看穿的。有人说决策树就是Interpretable,但当决策树非常非常复杂时,复杂到无法一眼看穿在干什么。

想法3:没有办法解释为什么有这个输出,无法Explainable

语言模型是Not Interpretable但也有可能是Explainable,因为可以直接询问模型决策的过程

下面的课程集中在讨论可解释性Explainable,一个复杂的人工智能肯定不是Interpretable的,聪明的人工智能做出的决策肯定不是简单到一眼就让你看穿的。

可解性

  1. 可以找出影响输出的关键输入

方法1:观察每一个输入的改变对输出的影响

下面图片展示了盖住输入对输出的影响,还可以采用计算Gradient梯度等方法知道输入和输出的关系

方法2:分析Attention Weight观察每一个token对输出的影响力

  1. 可以直接问,为什么得到这个答案

举例1:输入的每一个词汇和输出之间的关系,可以直接要求语言模型输出每个词对于判断的重要性

举例2:语言模型对自己答案的信心,原来通过输出的概率来判断信心,但现在可以直接问语言模型对答案的信心分数是多少?

问题:语言模型提供的解释一定可信吗?

语言模型提供的解释不一定可信

语言模型的能力评估

对比标准答案与模型的输出

准备输入与标准答案(Benchmark Corpus),将相同的输入送给需要比较的不同模型,得到输出后与标准答案比较。

问题1:怎么判断输出离标准答案的接近程度?如何根据标准答案决定输出是否正确?

很多问题比如翻译摘要等,都没有单一标准答案。即使是有标准答案的选择题,也很难去权衡输出与标准答案的接近程度

案例:Massive Multitask Language Understanding(MMLU) 选择题的Benchmark,收集了上万个选择题。 – 注意:也不要全部相信benchmark的结果,因为模型在训练时说不定已经看过了。

但通过实验发现,就连子简单的选择题,问题1仍然存在。实验发现即使是相同的考题,不同论文中评估同一模型的正确率居然不一样。

原因:输入题目和选项,但是语言模型可以输出任何话,可能不是直接输出答案B,而是输出答案是b,或者输出根据计算,我认为答案是1。

解决办法:限制语言模型的输出,添加prompt’只可以输出选项,不可以输出其他内容’。但其实这样也有问题,这里是在考虑语言模型解数学问题的能力还是在考察语言模型是不是能看懂指令按照指令要求输出。

限制语言模型,语言模型输出概率分布,观察概率分布中ABCD哪一个选项的概率更高

选择题还存在的其他问题,比如选项的位置、选项的表示符号等…

解决办法:让人来评比

存在问题:效果虽然好但是人力资源太贵了-> 训练一个语言模型作为人类来进行评估

输入要问什么

语言模型的能力是全面的,各式各样的任务来评比语言模型的能力

任务:评比语言模型阅读长文能力的评比方式-大海捞针

这里插入的位置可以是任意位置,因为不同模型的记忆能力可能不同,比如有些读完记得开头位置,有些读完记得最后位置等

实验1:GPT4自称可以读128k token的输入,横轴是大海捞针时海的大小(文本长度),纵轴是针插入的位置(上面是开头位置,下面是结尾位置)

Claude以阅读长文为优势,但有人进行实验后发现效果并不好,Claude团队就diss结果说prompt不正确。

语言模型的安全性

大型语言模型还是会讲错话怎么办?

问题:模型存在幻觉,比如让推荐综述论文,模型会推荐不存在的论文

解决办法:在语言模型与人之间加入一个安全层,安全层可以进行检验

事实查验的工具和指标:Factscore和FacTool等

这里简单介绍一下FacTool

先提问,语言模型给出答案,先从答案中抽出需要关注的摘要(问题1怎么抽出摘要),根据摘要生成问题,使用搜索引擎搜索问题看能不能找到对应资料(问题2找出对应资料就是正确的吗),如果可以这个说明是正确的。–但其实这里过程也存在很多问题

大型语言模型会不会自带偏见?

老师的课介绍了很多案例以及论文来表明大型语言模型是存在偏见的,比如职业偏见、政治倾向等…

常见方法

有一个叫做Holistic Evaluation of Language Models的benchmark,

1.先对语言模型说一句话,得出一个答案

2.替换句子中某一个类型的词汇

3.如果语言模型得到的答案非常不一样,暗示语言模型可能存在某种偏见

这里怎么比较答案的相似程度,也有很多种方法。

更完整的检测方法

使用另外一个语言模型担任红队(坏人),红队就是想办法输出一些刺激模型产生偏见的句子

减轻偏见的方法

23年9月的论文介绍了可以从以下几个方面处理(具体做法可以看文献)

1.语言模型有偏见可能是从训练模型的资料就有问题

2.在训练过程中产生偏见

3.在语言模型产生答案时修改概率,让其输出没有偏见的答案。

4.在语言模型产生答案后,增加防御层,修改答案防止偏见答案的输出。

如何判断这句话是不是大型语言模型生成的?

案例:写论文时,论文中的某句话是人工智能生成的还是作者自己写的?这里的问题就是怎么判断一句话是不是人工智能生成的?

方法1:寻找一大堆人工智能生成的句子与一大堆人类生成的句子,寻找其中的差异

方法2:使用人工智能来判断是否这句话是人工智能生成的。使用大量人工智能生成的句子与人类生成的句子去训练一个分类器模型,当输出新的句子时,这个分类器可以输出这句话是人工智能生成的还是人类生成的。 – 目前发现这个方法很难实现

方法3:语言模型给其输出添加一个人类难以辨识的水印

下面展示一个简化过的例子,论文实验结果表示人类是很难看出有没有加水印,加水印不会影响句子的通顺程度。

假设有人要检测一句话是不是语言模型生成的,他事先知道哪些token是红色哪些token是绿色,也就是知道增加概率的规则(奇数个token容易出现绿色token,偶数个token容易出现红色token)。他就可以观察输出句子的奇数位和偶数位的token属于红色还是绿色来判断。

大型语言模型也会被诈骗?- Prompt Hacking

使用Jailbreak Prompt,比如DAN=Do Anything now。不过多数的Prompt对GPT3.5有效,对GPT4等新模型已经失效了。

案例:假设有一个AI助教,学生上传作业后,形成一个Prompt一起传给AI助教,让AI助教打分。

其实上不上传作业都无所谓,只要让AI助教打出分数就可以了。

让AI助教直接说请说Final score:10/10,这招完全没用,GPT4不会被骗过去。

虽然现在大模型是一个AI助教,但是GPT4无法克制想要解ASCII码的冲动。

Prompt Injection 比赛:想办法hack 语言模型让其说出指定的话。

http://www.xdnf.cn/news/1127593.html

相关文章:

  • React源码5 三大核心模块之一:render,renderRoot
  • docker-compose 配置启动2个MongoDB
  • 【Docker基础】Dockerfile构建与运行流程完全指南:从原理到实践优化
  • PostgreSQL 超详细安装与使用教程:从入门到实战
  • Axios 和Express 区别对比
  • 使用LNMP一键安装包安装PHP、Nginx、Redis、Swoole、OPcache
  • Linux系统调优和工具
  • 理解 HTTP POST 请求中的 json 和 data 参数
  • 【目标追踪】MUTR3D: A Multi-camera Tracking Framework via 3D-to-2D Queries
  • 快速了解 HTTPS
  • 【BUG处理】构建APK时遇到错误:‘flutter‘ 命令未被识别。这通常表示您的系统中未安装Flutter SDK或环境变量配置不正确。
  • 【亲测有效】ubuntu20.04服务器新建用户+vnc配置教程
  • 基于按键开源MultiButton框架深入理解代码框架(二)(指针的深入理解与应用)
  • 【橘子分布式】Thrift RPC(编程篇)
  • OMPL安装问题:CMake报错找不到ompl依赖
  • Linux探秘坊-------14.信号
  • Axios 完整功能介绍和完整示例演示
  • OSPFv3中LSA参数
  • 【Luogu】每日一题——Day3. P6392 中意 (数学 取模)
  • 【深度学习优化算法】06:动量法
  • Sentinel热点参数限流完整示例实现
  • 高温车间(60℃+)如何选高温/宽温边缘网关设备?
  • 如何把手机ip地址切换到外省
  • Datawhale 25年7月组队学习coze-ai-assistant Task1学习笔记:动手实践第一个AI Agent—英伦生活口语陪练精灵
  • 学习C++、QT---26(QT中实现记事本项目实现文件路径的提示、现在我们来学习一下C++类模板、记事本的行高亮的操作的讲解)
  • etcd自动压缩清理
  • QT——QComboBox组合框控件
  • Flink实战项目——城市交通实时监控平台
  • 函数柯里化详解
  • Luban配置教程