知识注入以对抗大型语言模型(LLM)的幻觉11.6
知识注入以对抗大型语言模型(LLM)的幻觉
- 摘要
- 1 引言
- 2 问题设置和实验
- 2.1 幻觉
- 2.2 生成响应质量
- 3 结果和讨论
- 3.1 幻觉
- 3.2 生成响应质量
- 4 结论和未来工作
摘要
大型语言模型(LLM)内容生成的一个缺点是产生幻觉,即在输出中包含错误信息。对于需要可靠、基于事实的、可控的大规模文本生成的企业应用案例,这尤为危险。为了减轻这一问题,本文利用一种称为知识注入(KI)的技术,将与文本生成任务相关的实体的上下文数据从知识图谱映射到文本空间中,以便在LLM提示中包含这些数据。以回应在线客户对零售店铺的评论为例,我们发现KI可以增加生成文本中包含的正确断言的数量。在定性评估中,具有KI的经过微调的bloom560m模型表现优于OpenAI的未经微调的text-davinci-003模型,尽管text-davinci-003模型的参数数量是后者的300倍。因此,KI方法可以增加企业用户对利用LLM替代繁琐的手动文本生成的信心,并使较小、更便宜的模型表现更好。
1 引言
大型语言模型(LLM)内容生成的一个限制是幻觉,即在生成的文本中存在虚假断言。企业使用案例需要可靠、以事实为基础的大规模文本生成,因此对LLM生成的文本进行投资具有风险。为了减轻幻觉问题,我们利用一种称为知识注入(KI)的技术,将与任务相关的实体的上下文数据从知识图谱映射到文本空间中,以便在LLM提示中包含这些数据。在我们回应在线零售店铺客户评论的用例中,KI增加了正确断言的比例,同时提高了整体文本质量。
尽管LLM的参数包含了知识,但它们仍然容易产生幻觉,因为:
(1)并非所有当前数据都可以在模型训练期间提供(例如,训练后对业务信息进行的更新),以及
(2)将所有知识编码到模型参数中是困难的。KI从包含与任务相关的实体以及与其他实体的连接相关的知识图谱开始。KI旨在生成带有业务信息的可控文本,该信息不是通用知识(例如,商家的电话号码可能不是LLM从基础训练中获知的常识)。可控文本生成(CTG)受控制约束的影响,例如情感或者在我们的用例中,与真实业务信息的对齐。
从知识图谱中提取的文本字段被插入到一个模板化的提示中,以将基于图谱的上下文映射到文本空间,形成LLM的输入。这在图1中进行了演示,其中请求了LLM对在线客户评论的生成响应。相关实体Review 1及其邻居,例如Location 1,在知识图谱中被映射到一个模板化的提示中。
2 问题设置和实验
2.1 幻觉
我们旨在确定KI是否减少LLM生成的对在线客户评论的响应中的幻觉。使用bloom-560m 的LLM经过微调,使用人工客户服务代理撰写的评论和回复进行训练。对比评估了仅使用评论信息(作者、评分和内容)进行微调的仅评论模型生成的响应与使用添加的实体上下文进行KI提示的模型生成的响应。这些模型在约35,000个评论-回复对的数据集上进行了微调。
领域专家统计了每个生成的响应中的正确和错误断言。断言包括指定位置名称,可通过电话号码或网址联系,由品牌名称所有,并位于位置地址。不正确(即幻觉)的断言包含与知识图谱相矛盾的不真实信息,例如指示客户拨打虚构的电话号码。事实性断言是指其他没有标记为不正确的断言。
2.2 生成响应质量
除了测试KI对幻觉的影响外,我们还测试了其对生成的评论响应整体质量的影响。主题专家根据3级评分标准(表1)对非KI提示的OpenAI的text-davinci-003文本生成模型(即GPT-3 )和KI提示的bloom-560m生成的响应进行了评分。
3 结果和讨论
3.1 幻觉
KI增加了正确断言的数量,同时减少了错误断言的数量(表2),这表明在像评论回复这样的企业任务中,KI是有用的。这些任务在人工完成时既费时又昂贵,但需要关于业务的事实背景才能生成可信赖的文本。
3.2 生成响应质量
KI模型在生成的响应质量上获得了更高的评分,这表明KI对于帮助模型与业务品牌标准保持一致是有用的(表3)。尽管text-davinci-003的参数数量是bloom-560m的约300倍,但经过KI微调的较小模型表现优于较大的OpenAI模型。因此,通过使用KI进行微调,企业可以在训练和托管较小模型的同时产生更高质量的生成响应,从而节省成本。此外,使用较小的模型还可以提高推理速度。
4 结论和未来工作
在幻觉和生成响应质量方面的实验表明,KI可以帮助企业从LLM中生成更可靠、基于事实且质量更高的文本。为了充分利用这一点,企业需要具有与其业务相关的实体的事实和健壮的知识图谱,如位置、评论、产品、文件等。
为了减轻这一限制,在未来的实验中,我们打算继续研究通过利用LLM进行实体和边缘提取来建立业务的健壮知识图谱的方法。
相关文章:

知识注入以对抗大型语言模型(LLM)的幻觉11.6
知识注入以对抗大型语言模型(LLM)的幻觉 摘要1 引言2 问题设置和实验2.1 幻觉2.2 生成响应质量 3 结果和讨论3.1 幻觉3.2 生成响应质量 4 结论和未来工作 摘要 大型语言模型(LLM)内容生成的一个缺点是产生幻觉,即在输…...
机器人物理交互场景及应用的实际意义
机器人物理交互场景是指机器人与物理世界或人类进行实际的物理互动和交互的情境。这些场景涉及机器人在不同环境和应用中使用其物理能力,以执行任务、提供服务或与人类互动。 医疗协助: 外科手术助手:机器人可以用于外科手术,提供…...

Kubernetes Dashboard 用户名密码方式登录
Author:rab 前言 为了 K8s 集群安全,默认情况下 Dashboard 以 Token 的形式登录的,那如果我们想以用户名/密码的方式登录该怎么操作呢?其实只需要我们创建用户并进行 ClusterRoleBinding 绑定即可,接下来是具体的操作…...
Redisson中的对象
Redisson - 是一个高级的分布式协调Redis客服端,能帮助用户在分布式环境中轻松实现一些Java的对象 (Bloom filter, BitSet, Set, SetMultimap, ScoredSortedSet, SortedSet, Map, ConcurrentMap, List, ListMultimap, Queue, BlockingQueue, Deque, BlockingDeque, …...

GNU ld链接器 lang_process()(二)
一、ldemul_create_output_section_statements() 位于lang_process()中11行 。 该函数用于创建与目标有关的输出段的语句。这些语句将用于描述输出段的属性和分配。 void ldemul_create_output_section_statements (void) {if (ld_emulation->create_output_section_sta…...

《国产服务器操作系统发展报告(2023)》重磅发布
11月1日,《国产服务器操作系统发展报告(2023)》(以下简称“报告”)在 2023 云栖大会上正式发布,开放原子开源基金会理事长孙文龙、中国信息通信研究院副总工程师石友康、阿里云基础软件部副总裁马涛、浪潮信…...

【PTE-day03 报错注入】
报错注入 1、报错注入 group by count2、报错注入 extractvalue3、报错注入updatexml1、报错注入 group by count http://124.222.124.9:8888/Less-5/?id=-1 union select 1,count(*),concat((select database()),ceil(rand(0)*2)) as a from information_schema.tables grou…...

jenkins gitlab CI/CD
jenkins的安装教程就不说了:Jenkins docker 一键发布 (一)_jenkins 一键发布-CSDN博客 最近打算从svn切换到gitlab,所以配置了一下jenkins的git 很简单,直接上图 1 选择 Git 2 录入gitlab的http地址(由于我的git地址不是22端口&…...
Java 中的数据类型有哪些?
Java中主要有八种基本数据类型: 1、整型:byte、short、int、long 2、字符型:char 3、浮点型:float、double 4、布尔型:boolean 一、整型 Java中整型数据属于有符号数,即第一个bit位为0表示正整数&…...

基于SSM的大学学生成长系统
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…...

369B1860G0028 44A730240-G01 IC697ACC722B
369B1860G0028 44A730240-G01 IC697ACC722B 在NOA,一个名为MO(监控和优化)的独立领域与现有系统分开准备,数据直接从机器人、无人机和新传感器收集,例如腐蚀、声音和振动传感器。此外,现有系统中的数据通过OPC UA导入,…...

系列十一、拦截器(二)#案例演示
一、案例演示 说明:如下案例通过springboot的方式演示拦截器是如何使用的,以获取Controller中的请求参数为切入点进行演示 1.1、前置准备工作 1.1.1、pom <dependencies><!-- spring-boot --><dependency><groupId>org.spring…...

数据分析实战 | 关联规则分析——购物车分析
目录 一、数据及分析对象 二、目的及分析任务 三、方法及工具 四、数据读入 五、数据理解 六、数据预处理 七、生成频繁项集 八、计算关联度 九、可视化 一、数据及分析对象 数据集链接:Online Retail.xlsx 该数据集记录了2010年12月01日至2011年12月09日…...
maven 添加 checkstyle 插件约束代码规范
本例示例,是引用 http 链接这种在线 checkstyle.xml 文件的配置方式,如下示例: <properties><maven.checkstyle.plugin.version>3.3.0</maven.checkstyle.plugin.version><!--支持本地绝对路径、本地相对路径、HTTP远程…...

什么是MySQL的执行计划(Explain关键字)?
什么是Explain Explain被称为执行计划,在语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,模拟MySQL优化器来执行SQL语句,执行查询时,会返回执行计划的信息,并不执行这条SQL。(注意&…...
编码格式科普ASCII unicode utf-8 usc-2 GB2312
1.ASCII(标准版) 可以表示所有英文字符(包括大写和小写)和数字,长度为7bit,最多可以表示0-127 个值,2的7次方个数字。比如比如“a” 对照ASCII码的值为97(十进制)或11000…...
Pycharm中新建一个文件夹下__init__.py文件有什么用
在PyCharm中新建一个文件夹下的__init__.py文件有以下几个作用: 声明文件夹为一个Python包:__init__.py文件的存在告诉Python解释器该文件夹是一个Python包。当你导入该文件夹下的模块时,Python会将其视为一个包而不是普通的文件夹。这允许你…...
OracleBulkCopy c#批量插入oracle数据库的方法
datatable中的数据 存入oracle表中,要求 二者字段名一致,如果不一致,通过这个实现对应: bulkCopy.ColumnMappings.Add("SERVNUMBER", "SN"); 首先要引入Oracle.DataAccess.dll文件(在oracle客户端…...

046_第三代软件开发-虚拟屏幕键盘
第三代软件开发-虚拟屏幕键盘 文章目录 第三代软件开发-虚拟屏幕键盘项目介绍虚拟屏幕键盘 关键字: Qt、 Qml、 虚拟键盘、 qtvirtualkeyboard、 自定义 项目介绍 欢迎来到我们的 QML & C 项目!这个项目结合了 QML(Qt Meta-Object L…...

MySQL主从搭建,实现读写分离(基于docker)
一 主从配置原理 mysql主从配置的流程大体如图: 1)master会将变动记录到二进制日志里面; 2)master有一个I/O线程将二进制日志发送到slave; 3) slave有一个I/O线程把master发送的二进制写入到relay日志里面; 4…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...
【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论
路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中(图1): mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...