大模型笔记:幻觉 hallucination

1 介绍

  • “幻觉” (Hallucination),指模型生成自然流畅,语法正确但实际上毫无意义且包含虚假信息即事实错误的文本,以假乱真,就像人产生的幻觉一样。 

举个例子就是,即使现在的chatgpt-4,你问他一些有确切答案的问题,他也会“说胡话”

看起来语法语义上没什么问题,但那个赛季上港是21胜5平4负积68分(数据来自懂球帝)

2 幻觉分类

  • 内部幻觉 (intrinsic hallucination) 
    • 生成的文本与给定源文本出现不忠实 (unfaithfulness) 或不一致 (inconsistency) 的现象
    • 常见于文本摘要任务中,生成的摘要与原文不一致
  • 外部幻觉 (extrinsic hallucination)
    • 生成内容在源文本中并未提及,虽然不能找出相关证据,但也不能断言这就是错误的

3 幻觉的成因

  • 生成的文本 𝑌 由源文本 𝑋 和语言模型里的先验知识 𝐾 共同决定
    • 由于一般认为给定的源文本都是事实正确的 ground-truth,所以出现的幻觉一般都会归结于语言模型本身包含了错误事实。
      • 语言模型中的先验知识都来自于训练语料,用于训练语言模型的大数据语料库在收集时难免会包含一些错误的信息
      • 这些错误知识都会被学习,存储在模型参数中
      • 模型生成文本时会优先考虑自身参数化的知识,所以更倾向生成幻觉内容
  • 另一方面,模型训练和推理时的差异,也是导致推理时更容易生成幻觉的原因之一
    • 训练通常是teacher forcing,以 ground-truth 作为后续预测 token 的前缀输入
      • 机器学习笔记:RNN值Teacher Forcing_teach learning rnn-CSDN博客
    • 推理则根据历史序列生成来预测下一个 token

4 不一致性(inconsistency)的分类

“不一致” (inconsistency)——用来描述这些文本生成的幻觉问题的另一个更常见的术语

  • 模型自身不一致 (self-inconsistency) 
    • 模型生成的回复与对话历史或与自身已生成回复相矛盾(内部幻觉)
      • 与对话历史的不一致性问题一般来自于历史信息的遗忘,包含与已生成文本相矛盾
        • 这是人设 (persona) 对话中常见的问题
        • 赋予系统一个固定角色,在聊天过程中模型的人设信息会发生变化
  • 外部不一致 (external inconsistency)
    • 对话系统为了生成角色一致且信息丰富的回复,会将包含显式角色信息的外部数据引入系统以辅助模型生成

5 幻觉的评估

5.1 统计的方法

  • 直接计算生成文本和参考目标文本之间的词汇匹配度
    • ROUGE
    • BLEU
    • 精确率&召回率。。。

5.1.1 缺点

  • 大模型的回复往往不唯一,输入与输出是一对多的映射
  • 在实际应用中,覆盖所有可能的输出几乎不可能

5.2 基于模型方法的评估

  • 主要基于自然语言推理 (Natural Language Inference, NLI)
    • 即判断一项假设(生成文本)是否蕴含于前提(参考文本)
    • 基于 NLI 的指标将幻觉分数定义为源文本与生成文本之间的蕴含概率
      • 需要先收集相关蕴含关系的数据集来训练这样一个判别模型

5.2.1 缺点

基于模型的评估方法整体上比词级别的统计方法要适用得多,然而文本蕴含模型只能返回一个分数,无法定位具体生成文本的哪些部分是错误的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/525857.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Nestjs实操】环境变量和全局配置

一、环境变量 1、使用dotenv 安装pnpm add dotenv。 根目录下创建.env文件,内容如下: NODE_ENVdevelopment使用 import {config} from "dotenv"; const path require(path); config({path:path.join(__dirname,../.env)}); console.log(…

腾讯云轻量应用服务器流量用完了怎么办?

腾讯云轻量服务器流量用完了怎么办?超额流量另外支付流量费,流量价格为0.8元/GB,会自动扣你的腾讯云余额,如果你的腾讯云账号余额不足,那么你的轻量应用服务器会面临停机,停机后外网无法访问,继…

Elasticsearch从入门到精通-03基本语法学习

Elasticsearch从入门到精通-03基本语法学习 👏作者简介:大家好,我是程序员行走的鱼 📖 本篇主要介绍和大家一块学习一下ES基本语法,主要包括索引管理、文档管理、映射管理等内容 1.1 了解Restful ES对数据进行增、删、改、查是以…

SSD的原理

简介 SSD(Solid State Drive)是一种使用闪存存储芯片(NAND Flash)的存储设备。与传统的机械硬盘不同,SSD没有移动部件,因此具有更快的读写速度和更低的能耗。 架构 NAND Flash是一种非易失性存储器&…

别错过AI 大模型的奇妙世界!让你惊艳不已!

AI大模型的应用已经渐渐渗透到我们生活的方方面面,从语音识别到自然语言处理,从图像识别到智能推荐,无处不在的AI大模型正在改变着我们的生活。其背后隐藏的奇妙世界让人惊艳不已。 一方面,AI大模型在语音识别领域展现出了强大的…

opengl 学习(一)-----创建窗口

创建窗口 分类opengl 学习(一)-----创建窗口效果解析教程补充 分类 c opengl opengl 学习(一)-----创建窗口 demo: #include "glad/glad.h" #include "glfw3.h" #include <iostream> #include <cmath> #include <vector>using names…

SpringBoot 自定义映射规则resultMap collection一对多

介绍 collection是封装一对多关系的&#xff0c;通常情况下是一个列表&#xff0c;association是一对一&#xff0c;通常情况是一个对象。例如&#xff1a;查询班级下所有的学生&#xff0c;一个班级可以有多个学生&#xff0c;这就是一对多。 案例 有一个学生表&#xff0c…

【网络原理】网络编程基础和Socket套接字

目录 &#x1f334;网络编程基础&#x1f338;为什么需要网络编程&#xff1f;&#x1f338;什么是网络编程&#x1f338;网络编程中的基本概念&#x1f33b;发送端和接收端&#x1f33b;请求和响应&#x1f33b;客户端和服务端&#x1f33b;常见的客⼾端服务端模型 &#x1f3…

百度智能云发布专用向量数据库 VDB 1.0,全新设计内核开启性能狂飙

1 专用向量数据库应对未来业务挑战 向量数据库 向量检索 数据库 向量数据库大致可以分为 2 部分&#xff1a;向量数据的检索&#xff0c;以及向量数据的存储和管理。 向量数据库的性能&#xff0c;比如高 QPS、低延时等&#xff0c;使得业务能够更快的响应用户的查询请求…

前端手册-实现挂坠灯笼效果

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分…

ChatGPT发不出消息?GPT发不出消息怎么办?

前言 今天发现&#xff0c;很多人的ChatGPT无法发送信息&#xff0c;我就登陆看一下自己的GPT的情况&#xff0c;结果还真的无法发送消息&#xff0c;ChatGPT 无法发送消息&#xff0c;但是能查看历史的对话&#xff0c;不过通过下面的方法解决了。 第一时间先打开官方的网站&a…

Facebook广告必坑指南

不明确的目标&#xff1a; 在开始广告活动之前&#xff0c;确保你清楚自己的广告目标。是想提高品牌知名度、促进销售、还是增加网站流量&#xff1f;明确的目标有助于指导广告内容和策略。 忽视目标受众定位&#xff1a; 确定你的目标受众是关键的。使用Facebook广告管理工具…