高效的大型语言模型适应方法:提升基础性的解决方案

news2024/12/23 22:25:03

  每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/

谷歌的AI搜索工具建议用户“吃石头”对健康有益,这一搞笑的回答引发了众人哗然。为了提高LLMs(大型语言模型)的可靠性,我们推出了AGREE,一种基于学习的框架,旨在使LLMs能够在回答中提供准确的引用,从而提高用户的信任度。

近年来,LLMs在多跳推理、生成计划和使用工具和API等各种能力上展示了显著进步,显示出在许多下游应用中的巨大潜力。然而,在现实世界中部署时,LLMs的可靠性有时会因“幻觉”问题而受损,即模型生成了看似合理但实际上并不准确的信息。当LLMs被要求回答涉及广泛世界知识的开放性问题时,“幻觉”问题更为常见,这在需要高度准确性的领域,如新闻报道和教育内容中尤其具有风险。

为了应对LLMs的“幻觉”问题,基础性研究致力于追溯其声明到可靠的来源。这样的系统不仅能提供连贯且有用的回答,还能通过引用外部知识来支持其声明。

在我们即将在NAACL 2024上展示的论文“提升基础性的大型语言模型适应方法”中,我们介绍了一个新的LLM基础性框架,称为AGREE(Adaptation for GRounding EnhancEment),它使LLMs能够自我基础化其回答中的声明,并提供精确的引用,增强用户信任并扩展其潜在应用。在五个数据集上的全面实验表明,AGREE比以前的基于提示或事后引用的方法在基础性方面有显著提升,通常能实现超过30%的相对改进。

改进基础性的整体方法

以前改善基础性的研究主要遵循两种显著的范式。一种是使用额外的自然语言推理(NLI)模型事后添加引用,这种方法严重依赖于LLM嵌入中的知识,无法很好地扩展到超出该范围的事实。另一种常见的基础性方法是利用LLMs的指令跟随和上下文学习能力。这种方法要求LLMs仅通过少量演示提示来学习基础性,实际效果并不理想。

我们的新框架AGREE采用整体方法,结合基于学习的适应和测试时适应(TTA),以改善LLMs的基础性和引用生成。不同于以前的基于提示的方法,AGREE对LLMs进行微调,使其能够自我基础化其回答中的声明并提供准确的引用。这种在预训练LLMs之上进行的微调需要良好的基础性回答(带有引用),为此我们引入了一种方法,可以从未标记的查询中自动构建这样的数据。经过微调的LLMs的自我基础化能力进一步赋予了它们TTA能力,能够迭代地改进其回答。

微调LLMs以实现自我基础化

在训练期间,AGREE从未标记的查询中收集合成数据,然后使用这些数据微调基础LLM,使其能够自我基础化其声明。针对一个未标记的查询,我们首先使用检索模型从可靠来源(如维基百科)检索相关段落。然后,我们向基础LLM呈现检索到的段落并采样一组初始回答(不带引用)。接下来,我们使用一个NLI模型(在我们的例子中,是Google TrueNLI模型的变体),来判断一个声明是否由段落支持,帮助为初始回答添加引用。对于初始回答中的每个句子,我们使用NLI模型找到可以支持该句子的段落,并相应地添加引用。对于没有支持段落的句子,我们不会添加引用。

测试时适应

在测试时,AGREE引入了一种迭代推理策略,使LLM能够根据其自我生成的引用主动寻找更多信息。针对一个查询,我们首先使用检索模型获取初始段落集。然后,我们迭代执行以下步骤:1)在每次迭代中,适应后的LLM生成包含对段落集引用的回答,并找到没有引用的任何不支持声明。2)接着,我们根据引用信息主动向LLM提供更多信息——如果存在不支持声明,我们会使用这些声明检索更多可靠来源的信息,否则,我们会包括使用查询检索到的更多未见段落,以获取更完整的信息。

实验

我们进行了全面的实验,展示AGREE在有无TTA情况下的有效性。我们在五个数据集上对其进行了评估,包括两个域内数据集(NQ和StrategyQA)和三个域外数据集(ASQA、QAMPARI和一个内部QA数据集“Enterprise”)以测试我们框架的泛化能力。我们将AGREE应用于适应两个LLMs,并将其与一个竞争性的基于提示的基线(ICLCite)和一个事后引用的基线(PostCite)进行比较。

主要实验结果

实验结果表明AGREE在文本语料库中生成的回答具有更好的基础性(通过引用召回率衡量),并为其回答提供了准确的引用(通过引用精确度衡量)。它在各个数据集上都显著优于所选择的基线。

  1. 微调对于优越的基础性非常有效。
  2. 改进可以泛化。
  3. TTA提高了基础性和回答正确性。

AGREE不仅在域内数据集上表现出色,在域外数据集上的零样本设定下也能有效泛化,这表明我们的框架具有显著的泛化优势。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++系列-static成员

🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” 概念 声明为static的类成员称为类的静态成员,用static修饰的成员变量,称之为静态成员变量,用static修饰的成员函数,称之为静态成…

Django框架css文件能正常加载,但是css样式不生效

最近运行一个Django项目,能正常启动运行,css文件也能够正常加载,但是css样式却没有正常渲染。 解决办法: 1、打开注册表:winR 2、找到:计算机\HKEY_CLASSES_ROOT\.css 修改:Content Type 值&…

【机器学习结合AI绘画工具】——开启艺术创作的新纪元

目录 一、AI绘画工具的发展历程 二、AI绘画工具的技术原理 实例说明 三、AI绘画工具在艺术创作中的应用 实例网站 四、AI绘画工具的影响与未来展望 结论 机器学习和人工智能(AI)在过去的十年里取得了显著的进展。特别是在艺术创作领域&#xff0c…

linux创建离线yum源给局域网机器使用

适用场景:在封闭的内网环境中,无法使用互联网进行安装各种rpm包的时候,离线yum源可以解决大部分问题,配置号后可直接使用yum进行安装包 1.准备好镜像源ISO: 例如以下示例,具体可参考自己的系统进行下载&a…

50-Qt控件详解:Input Display

#ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> //1.Combo Box控件 #include<QComboBox> //2.QFontComboBox控件 #include<QFontComboBox> #include<QLabel>//3.Line Edit控件 #include<QLineEdit> #include <QPushButton…

Installing Tinyproxy on CentOS 7 测试可用

Installing Tinyproxy on CentOS 7 For RHEL/CentOS 7 systems, Tinyproxy is part of EPEL (Extra Packages for Enterprise Linux). Install EPEL on CentOS 7 yum install epel-release -y yum update -y Install Tinyproxy on CentOS 7 yum install tinyproxy -y 编辑…

mysql中单表查询方法

大家好。我们知道&#xff0c;mysql有一个查询优化器的模块。当我们用sql语句查询表中记录时&#xff0c;会对这条查询语句进行语法解析&#xff0c;然后就会交给查询优化器来进行优化&#xff0c;优化后生成一个执行计划&#xff0c;这个执行计划表明了应该使用哪些索引进行查…

用这8种方法在海外媒体推广发稿平台上获得突破-华媒舍

在今天的数字时代&#xff0c;海外媒体推广发稿平台已经成为了许多机构和个人宣传和推广的有效途径。如何在这些平台上获得突破并吸引更多的关注是一个关键问题。本文将介绍8种方法&#xff0c;帮助您在海外媒体推广发稿平台上实现突破。 1. 确定目标受众 在开始使用海外媒体推…

[论文阅读笔记31]Mamba (Selective Structured State Space Model) 及其应用

最近想学一下Mamba模型&#xff0c;奈何看了很多视频还是感觉一知半解&#xff0c;因此做一篇笔记&#xff0c;顺便介绍一下Mamba结构作为CV backbone和时间序列预测领域的应用。 论文1. Mamba: Linear-Time Sequence Modeling with Selective State Spaces 0. Abstract 现有…

ModernC++(一)C++11

都在说Modern C和C不是一个东西&#xff0c;到底MordenC好在哪里&#xff0c;学了才有发言权。 why Morden C C 98的目标&#xff1a; 支持面向对象编程&#xff0c;支持泛型编程支持数据抽象 C 11的目标&#xff1a;使得C成为更好的适用于系统开发以及库开发的语言使得C语法…

宁夏银川、山东济南、中国最厉害的改名大师的老师颜廷利教授的前沿思想观点

在当代社会&#xff0c;一个响亮的声音穿越了传统的迷雾&#xff0c;它来自东方哲学的殿堂&#xff0c;由一位现代学者颜廷利教授所发出。他的话语&#xff0c;如同一股清泉&#xff0c;在混沌的世界里激荡着思考的波澜&#xff1a;"有‘智’不在年高&#xff0c;无‘智’…

第五节: 带你全面理解 vue3 中 computed, watch, watchEffect 组合式API的使用

前言: 上一章, 带大家分析了vue3核心响应式API中的三个, 即reactive,ref, readonly. 本章将会带大家分另外几个工作中比较常用的组合式API. 1. computed 计算属性 在vue2中, 我们是通过computed选项添加计算属性的, 关于计算属性的本质, 这里就不过多阐述了, 如果还有不了…

C++:函数模版简介

如果我们想要实现一个通用的交换函数&#xff0c;在C语言中&#xff0c;我们大概要定义无数个参数不同的交换函数&#xff0c;并且它们的函数名需要各不相同&#xff0c;相信这样的调用便会非常困难&#xff0c;想要调哪个函数还要记得对应的函数名。在C中&#xff0c;有了重载…

Aya 23 是 Cohere For AI 推出的一款最先进的新型多语言开放重量模型

相信一些对LLM关注较高的同学们&#xff0c;应该对这家加拿大的Cohere不会太陌生。毕竟此前&#xff0c;它就开源过 Aya 101 和 Command R 这两款大模型。 Cohere 的非营利性研究实验室 Cohere for AI 发布了 Aya 23&#xff0c;这是其多语言大型语言模型 &#xff08;llm&…

如何使用Rust构建Python原生库?注意,不是动态链接库!!!

参考文档&#xff1a;https://github.com/PyO3/pyo3 创建python虚拟环境&#xff1a; conda create --name pyo3 python3.11.7激活虚拟环境&#xff1a; conda activate pyo3安装依赖&#xff1a; pip install maturin初始化项目&#xff1a; maturin init构建项目&#x…

企业如何做好 SQL 质量管理?

研发人员写 SQL 操作数据库想必一定是一类基础且常见的工作内容。如何避免 “问题” SQL 流转到生产环境&#xff0c;保证数据质量&#xff1f;这值得被研发/DBA/运维所重视。 什么是 SQL 问题&#xff1f; 对于研发人员来说&#xff0c;在日常工作中&#xff0c;大部分都需要…

全国首例!云南破获域名黑产大案,抓获630人

2021年5月以来&#xff0c;在公安部的组织指挥下&#xff0c;云南公安机关历时8个多月&#xff0c;成功破获全国首例域名黑产犯罪案件&#xff0c;经全国各地公安机关连续奋战&#xff0c;共侦破案件300起&#xff0c;抓获涉案人员630人&#xff0c;查封用于黄、赌、诈等违法网…

K8S认证|CKA题库+答案| 16. 升级集群

目录 16、升级集群 CKA v1.29.0模拟系统 下载试用 题目&#xff1a; 开始操作: 1&#xff09;、切换集群 2&#xff09;、 隔离节点 ​3&#xff09;、登录提权 ​4&#xff09;、解锁版本 ​5&#xff09;、查看版本 6&#xff09;、升级版本 7&#xff09;、其他…

字符函数和字符串函数(1)<C语言>

前言 在C语言编写程序时&#xff0c;常常需要完成对字符和字符串的处理&#xff0c;为了快捷、方便处理字符和字符串&#xff0c;C语言内置了一些字符函数和字符串函数&#xff0c;所以下文将要介绍一些字符和字符串函数&#xff0c;如&#xff1a;头文件<ctype.h>包含的…

将list对象里的某一个属性取出组成一个新的list

使用Java8将对象里的某一个属性取出组成一个新的list List<Spgg1> listnew ArrayList<>();Spgg1 spgg1new Spgg1();spgg1.setSpdm("测试");spgg1.setGgdm("001");list.add(spgg1);Spgg1 spgg2new Spgg1();spgg2.setSpdm("测试2");sp…