网站项目管理系统/seo快速排名多少钱
论文链接:2023.12-https://arxiv.org/pdf/2312.06185.pdf
1.Background & Motivation
目前生成式的语言模型,如ChatGPT等在通用领域获得了巨大的成功,但在专业领域,由于缺乏相关事实性知识,LLM往往会产生不准确的回复(即幻觉)。许多研究人员企图通过外部知识注入提高LLM在专业领域的表现,但许多最先进的llm都不是开源的,这使得仅向模型api注入知识具有挑战性。
研究发现KGs中存储的大量事实知识有可能显著提高LLM反应的准确性,所以解决上述问题的一个可行方法是将知识图(KGs)集成到LLM中。在此基础上本文提出了一个向LLM的进行黑盒知识注入框架KnowGPT。KnowGPT包括两部分:①利用深度强化学习(RL)从知识图(KGs)中提取相关知识;②并使用多臂赌博机(MAB)为每个问题选择最合适的路径抽取策略和提示。
现有的KG+LMs的方法有很多:
但许多最先进的LLM只能通过黑盒调用,即只能通过提交文本输入来检索模型响应,而无法访问模型细节。因而无法使用上述的白盒知识注入技术。(尽管白盒方法可以应用于开源LLMs,如BLOOM和LLaMA,但由于更新模型权重,往往会产生显著的计算成本。)因此,本文关注:能否开发一个黑盒知识注入框架,能够有效地将KG集成到仅使用API的LLM中?
在解决该问题时需要关注两个挑战:①如何检索KG;②如何编码、利用检索到的信息。
2.问题定义
给定一个问题上下文 Q = { Q s , Q t } Q=\{Q_s,Q_t\} Q={Qs,Qt}( Q s = { e 1 , . . . , e m } Q_s=\{e_1,...,e_m\} Qs={e1,...,em}为问题实体集合, Q t = { e 1 , . . . , e n } Q_t=\{e_1,...,e_n\} Qt={e1,...,en}为答案实体集合),一个LLM f f f ,和一个知识图谱 G G G, G G G包含三元组(头实体,关系,尾实体),表示为 ( h , r , t ) (ℎ,r,t) (h,r,t),目标是学习一个提示函数 f p r o m p t ( Q , G ) f_{prompt}(Q,G) fprompt(Q,G),生成一个提示 x x x,将 Q Q Q的上下文和 G G G中的事实知识结合起来,使得LLM的预测能够输出 Q Q Q的正确答案。
3.KnowGPT Framework
KnowGPT根据问题背景和答案选项,从现实世界的知识图谱中检索出一个问题特定的子图。首先,路径提取模块寻找最具信息量和简洁推理背景来适应上下文。然后,优化提示转换模块,考虑给定问题的知识和格式的最佳组合。
3.1 如何检索KG:强化学习(Reinforcement Learning, RL)
利用奖励函数激励RL提取KG子图中有关问题中提到的源实中到潜在答案中的目标实体的路径 P = { P 1 , . . . , P m } P=\{P_1,...,P_m\} P={P1,...,Pm}。且 P i = { ( e 1 , r 1 , t 1 ) , ( t 1 , r 2 , t 2 ) , . . . , ( t ∣ P i ∣ − 1 , r ∣ P i ∣ , t ∣ P i ∣ ) } P_i=\{(e_1,r_1,t_1),(t_1,r_2,t_2),...,(t_{|P_i|-1},r_{|P_i|},t_{|P_i|})\} Pi={(e1,r1,t1),(t1,r2,t2),...,(t∣Pi∣−1,r∣Pi∣,t∣Pi∣)}。RL使用策略梯度。其马尔可夫过程定义如下:
-
状态: 表示知识图谱中当前的位置,表示从实体ℎ到t的空间变化。状态向量 s s s定义为 s t = ( e t , e t a r g e t − e t ) s_t=(e_t,e_target−e_t) st=(et,etarget−et)。为了获得从背景知识图谱中提取的实体的初始节点嵌入,将知识图谱中的三元组转换为句子,并将其输入预训练语言模型中以获取节点嵌入。
-
动作: 包含当前实体的所有邻近实体。通过采取行动,模型将从当前实体移动到选择的邻近实体。
-
动作转移概率P: 转移模型的形式为 P ( s ’ ∣ s , a ) = 1 P(s’|s,a)=1 P(s’∣s,a)=1,如果通过动作 a a a将 s s s到达 s ’ s’ s’;否则 P ( s ’ ∣ s , a ) = 0 P(s’|s,a)=0 P(s’∣s,a)=0。
-
奖励函数包括: 提取路径的可达性、上下文相关性和简洁性。
- 路径的可达性: 如果在K个行动内达到目标,将获得奖励+1。否则,将获得奖励−1。
- 上下文相关性: 路径与上下文越相关,越应该被奖励
- 简洁性: 基于黑盒LLMs对输入长度的限制和调用成本考虑,引导的提示需在最短的路径长度内找到尽可能多有价值的信息。
- 路径的可达性: 如果在K个行动内达到目标,将获得奖励+1。否则,将获得奖励−1。
-
最终奖励函数:
3.2 如何利用检索到的KG: Prompt Construction with Multi-armed Bandit
MAB: 多臂赌博机MAB有许多“臂”,每次选择一个“臂”进行尝试,都会得到一个结果或奖励。一方面,希望“利用”那些之前表现良好的“臂”,可以在短时间内获得最大的奖励。另一方面,也想“探索”那些之前没有尝试过的“臂”,可能发现更好的策略或选择,从而在未来获得更大的奖励。
基于该原理,提示构建就是要想办法选择最有前途的提示。(多种方法组合,有点类似集成学习,但不一样)
假设有几种路径提取策略 P 1 , . . . , P m P_1,...,P_m P1,...,Pm和几种候选提示格式 F 1 , . . . , F n F_1,...,F_n F1,...,Fn。每个路径提取策略 P i P_i Pi是一种在给定问题环境下选择子图的方法,每个提示模板 F j F_j Fj代表一种将子图中的三元组转化为LLM预测的提示机制。
提示构建问题是要确定给定问题的最佳 P P P和 F F F的组合。本文将选择的整体过程定义为一个奖励最大化问题 m a x ∑ r P F max\sum{r_{PF}} max∑rPF,其计算如下:
为了捕捉问题与不同知识和提示格式组合间的上下文感知相关性, 文章使用期望函数 E ( ⋅ ) E(·) E(⋅)来确定多臂赌博机的选择机制。它能自适应地衡量不同问题对某个组合的潜在期望。
J J J表示最小二乘训练LOSS, β ( i ) β^(i) β(i)通过最大置信上界(UCB)计算。通过最大化期望函数 E ( ⋅ ) E(·) E(⋅),LLM学会了平衡开发和探索,以优先选择最有前途的提示来回答特定的问题背景。
4. Implementation
- 路径抽取策略(两种):
- P R L P_{RL} PRL:基于强化学习的路径提取策略。
- P s u b P_{sub} Psub:由于强化学习不够稳健,引入 P s u b P_{sub} Psub作为MAB选择的备选策略。这是一种启发式的子图提取策略,在源实体和目标实体周围提取2跳子图。
- Prompt(三种):
- 三元组 F t F_t Ft:例如(Sergey_Brin, founder_of,Google)。
- 句子描述 F s F_s Fs:将知识转化为口语化句子。
- 图表描述 F g F_g Fg:将知识视为结构化图表来激活LLM。通过使用黑盒LLM预处理提取的知识,突出中心实体生成描述。
MAB通过来自语言模型的反馈进行训练,以优先选择在不同实际问题背景下最合适的两种提取方法和三种预定义提示格式的组合。
5. Experiments
5.1 实验设置
关注问题:
RQ1: How does KnowGPT perform when compared with the state-of-the-art LLMs and KG_x0002_enhanced QA baselines?
RQ2: Does the proposed MAB-based prompt construction strategy contribute to the performance?
RQ3: Can KnowGPT solve complex reasoning tasks, and is KG helpful in this reasoning process?
数据集: 选用CommonsenseQA(多项选择题问答数据集),OpenBookQA(多项选择题),MedQA-USMLE(医学多项选择题)。
Base: ChatGPT
5.2 对比实验
整体表现:
与其他KG+LMs方法对比
5.3 消融实验
5.4 case study-多提示融合的有效性
可参考:https://mp.weixin.qq.com/s/k7tzvAXlCPQLHy1l8Wtx1Q
相关文章:

KG+LLM(一)KnowGPT: Black-Box Knowledge Injection for Large Language Models
论文链接:2023.12-https://arxiv.org/pdf/2312.06185.pdf 1.Background & Motivation 目前生成式的语言模型,如ChatGPT等在通用领域获得了巨大的成功,但在专业领域,由于缺乏相关事实性知识,LLM往往会产生不准确的…...

使用anaconda创建爬虫spyder工程
1.由于每个工程使用的环境都可能不一样,因此一个好的习惯就是不同的工程都创建属于自己的环境,在anaconda中默认的环境是base,我们现在来创建一个名为spyder的环境,专门用于爬虫工程: //括号中名字,代表当…...

网络通信(7)-TCP协议解析
目录 一、定义 二、主要特点 三、报文格式 四、工作方式...

win32 WM_MENUSELECT消息学习
之前写了一些win32的程序,处理菜单单击都是处理WM_COMMAND消息,通过 LOWORD(wParam) 获取菜单ID,判断单击的是哪个菜单项; 还有一些其他菜单消息; 当在菜单项中移动光标或鼠标,程序会收到许多WM_MENUSELEC…...

Java学习苦旅(十六)——List
本篇博客将详细讲解Java中的List。 文章目录 预备知识——初识泛型泛型的引入泛型小结 预备知识——包装类基本数据类型和包装类直接对应关系装包与拆包 ArrayList简介ArrayList使用ArrayList的构造ArrayList常见操作ArrayList遍历 结尾 预备知识——初识泛型 泛型的引入 我…...

python爬虫实现获取招聘信息
使用的python版本: 3.12.1 selenium版本:4.8.0 urllib版本:1.26.18 from selenium import webdriver from selenium.webdriver import ActionChains import timeimport re import xlwt import urllib.parsedef get_html(url):chrome_drive…...
模块电源(七):LDO 应用
1、Typical application circuit LDO 典型应用电路如下图所示: 2、High Output Current Positive Voltage Regulator 通过 PNP 型三极管 Tr1 ,可以提高 LDO 的输出电流能力,电路如下图所示: 设流过 R1 的电流为 ,当 …...

Redis命令---Hash(哈希)篇 (超全)
目录 1.Redis Hmset 命令 - 同时将多个 field-value (域-值)对设置到哈希表 key 中。简介语法可用版本: > 2.0.0返回值: 如果命令执行成功,返回 OK 。 示例 2.Redis Hmget 命令 - 获取所有给定字段的值简介语法可用版本: > 2.0.0返回值: 一个包含多个给定字段…...

Objects are not valid as a React child (found: object with keys {name}).
在jsx中可以嵌套表达式,将表达式作为内容的一部分,但是要注意,普通对象不能作为子元素;但是数组,react元素对象是可以的 如下:不能将stu这个对象作为子元素放 function App() {const myCal imgStyleconst…...

nodejs业务分层如何写后端接口
这里展示的是在node express 项目中的操作 ,数据库使用的是MongoDB,前期关于express和MongoDB的文章可访问: Nodejs后端express框架 server后端接口操作:通过路由匹配——>调用对应的 Controller——>进行 Service调用——&…...

Windows 7 虚拟机的安装以及解决安装VMVMware tools问题
1.Windows 7 虚拟机的安装以及解决安装VMVMware tools问题 参考:Windows 7 虚拟机的安装以及解决安装VMVMware tools问题 注意:下载官方补丁:Microsoft Update Catalog在智慧联想浏览器中打不开,要在火狐中才能打开下载。 2.win7如…...

[足式机器人]Part2 Dr. CAN学习笔记-自动控制原理Ch1-9PID控制器
本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记-自动控制原理Ch1-9PID控制器) P —— Proportional I —— Integral D —— Derivative 当前误差/过去误差/误差的变化趋势 K p ⋅ e K_{\mathrm{p}}\cdot e Kp⋅e:比…...

SSM养老院综合服务系统----计算机毕业设计
项目介绍 该项目为后台管理项目,分为管理员与护工两种角色; 管理员角色包含以下功能: 管理员登录,个人资料密码管理,用户管理,床位类型管理,床位管理,护工管理,老人管理,咨询登记管理,预约登记管理,老人健康信息管理,费用管理等功能。 护…...

广州求职招聘(找工作)去哪里找比较好
在广州找工作,可以选择“吉鹿力招聘网”这个平台。它是一个号称直接和boss聊的互联网招聘神器,同时,“吉鹿力招聘网”作岗位比较齐全,企业用户也多,比较全面。在“吉鹿力招聘网”历即可投递岗位。 广州找工作上 吉鹿力…...

ARM NEON 指令
NEON指令 按照操作数类型可以分为正常指令、宽指令、窄指令、饱和指令、长指令。 正常指令:生成大小相同且类型通常与操作数向量相同到结果向量。长指令:对双字向量操作数执行运算,生产四字向量到结果。所生成的元素一般是操作数元素宽度到…...

Open3D 最小二乘拟合平面——拉格朗日乘子法
目录 一、算法原理二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接Open3D 最小二乘拟合平面——拉格朗日乘子法。爬虫自重。 一、算法原理 设拟合出的平面方程为: a x + b y +...

Rockchip平台Android应用预安装功能(基于Android13)
Rockchip平台Android应用预安装功能(基于Android13) 1. 预安装应用类型 Android上的应用预安装功能,主要是指配置产品时,根据厂商要求,将事先准备好的第三方应用预置进Android系统。预安装分为以下几种类型: 安装不可卸载应用安…...

vue项目表单使用正则过滤ip、手机号
import useFormValidate from /hooks/useFormValidatesetup(props, { emit }) {const { validateName, validateIPAndPort } useFormValidate()const state reactive({workFaceInfo: props.info?.id ? props.info : {},sysTypeData: props.sysType,formRules: {name: [{req…...

vscode编译调试sln工程
使用msvc工具链 vscode配置调用visual studio的编译和调试环境_vscode用vs-CSDN博客 将vscode打造无敌的IDE(14) tasks.json和launch.json配置详解,随心所欲添加自动化任务_tasks.json详解-CSDN博客 通过命令行使用 Microsoft C 工具集 | Microsoft Learn 编译…...

Android 车联网——CarManager管理器(四)
上篇文章介绍了CarPropertyService 的使用,这一篇我们来看一下 Android Automotive OS 中一些子模块如何使用 CarPropertyManager。 一、管理器调用 ICarImpl 源码位置:/packages/services/Car/service/src/com/android/car/ICarImpl.java @Override public IBinder getC…...

C# OpenCvSharp读取rtsp流录制mp4可分段保存
软件界面: 测试环境: VS2019 .NET Framework 4.7.2 OpencvSharp4.8.0 输入RTSP流地址即可拉取RTSP流,支持抓拍和录制RTSP流视频,且支持支持按固定时间保存,比如我想5分钟保存一个视频,设置保存间隔为30…...

Maven的心脏:深入解析settings.xml配置文件
Maven作为Java世界中最著名的构建工具之一,其灵魂所在无疑是那些配置文件。在这些配置文件中,settings.xml扮演着至关重要的角色。今天,我们就来深入剖析这个Maven的心脏部件,看看它如何为我们的项目搏动生命。 一、Maven settin…...

uni静态资源引入及css图片图标引用规范
1、页面组件引入 单页面中的组件引入需经过导入——注册——使用三个步骤; <template><view><!-- 3.使用组件 --><uni-rate text"1"></uni-rate></view> </template> <script>// 1. 导入组件import un…...

API 开放平台项目(已整理,已废弃)
项目大纲 前端 React 18Ant Design Pro 5.x 脚手架Ant Design & Procomponents 组件库Umi 4 前端框架OpenAPI 前端代码生成 后端 Java Spring BootMySQL 数据库MyBatis-Plus 及 MyBatis X 自动生成API 签名认证(Http 调用)Spring Boot Starter&#…...

魔棒无人直播系统有哪些优势?
随着科技的发展,越来越多新鲜事物的出现,它们代替了我们做很多的事情,开始解放着自己的双手,其中,无人直播的出现,就让直播变得更加简单。 因为是无人直播,所以全程不需要真人出镜,…...

[Flutter]WindowsOS中相关配置
Flutter项目在Windows平台上如何配置 目录 Flutter项目在Windows平台上如何配置 写在开头 正文 1、OS准备 2、编译环境准备 ① 下载AndroidStudio ② 下载dart ③ 下载flutter ④ 下载并安装VS ⑤ 在AS中配置dart和flutter 3、配置中遇到的问题 写在结尾 写在开头…...

[C语言]时间戳
时间戳的概念 时间戳就是定义一个时间点作为0秒, 之后每过一秒依此加一, 将当前的时间戳换算成年月日, 再加上起点, 获得的就是现在时刻的时间. 根据地球时区的偏移, 比如北京时间是东八区, 做一个偏移量的加减. 0起点: 1900年1月1日0时0分0秒. 0偏移地点: 英国伦敦 时间戳…...

Unity游戏资源更新(AB包)
目录 前言: 一、什么是AssetBundle 二、AssetBudle的基本使用 1.AssetBundle打包 2.BuildAssetBundle BuildAssetBundleOptions BuildTarget 示例 3.AssetBundle的加载 LoadFromFile LoadFromMemory LoadFromMemoryAsync UnityWebRequestAsssetBundle 前…...

GPT分区格式
GPT分区格式 [rootlocalhost ~]# gdisk /dev/sdb -bash: gdisk: 未找到命令 [rootlocalhost ~]# yum -y install gdisk- gdisk命令用于查看磁盘使用情况和磁盘分区(GPT分区格式) - 命令格式:gdisk [选项...] [设备路径] - 常用选项&…...

SVN管理-备份还原篇
背景: 当你没有svn的时候,写代码战战兢兢,又怕代码丢失白干,搞了svn做版本管理,随着时间的推移,所有的版本信息都在唯一的svn服务器,又开始担心服务器宕机,数据丢失问题,…...