谷歌推出AGREE,增强大模型生成回答准确性

2024-06-12 00:52

本文主要是介绍谷歌推出AGREE,增强大模型生成回答准确性,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ChatGPT、Gemini等文本理解、生成方面现出了前所未有的能力,极大地推动了生成式AI的技术创新。但这些模型在实际应用中有时会生成听起来合理,但实际上并不准确的“幻觉”内容,就是一本正经的胡说八道。

为了解决这一难题,谷歌研究院在官网发布了创新框架AGREE,可增强大模型生成内容和引用的准确性。

研究人员在Llama-2-13b等知名大模型进行了实验,结果显示,与现有方法相比,AGREE在提升内容回答准确性和引用性方面非常出色。

论文地址:https://arxiv.org/abs/2311.09533

图片

AGREE的核心技术是通过检索文档中的相关段落来增强大模型生成回答的事实基础,并提供相应的引用。这种方法不仅可以提高回答的准确性,还可以为用户提供验证信息真实性的途径,主要由训练阶段微调和测试时自适应两大块组成。

训练阶段微调

训练阶段微调是AGREE提升大模型自我归因能力的关键模块,在生成每一个回答时都能够提供支持其声明的可靠来源。

首先使用基础的大模型生成一系列回答,作为微调流程的起点。然后,使用了自然语言推理模型(NLI),来评估一个给定的段落是否支持一个特定的声明。在AGREE框架中,NLI模型被用来从未标记的查询中自动构建训练数据集。

图片

构建训练数据的过程包括将基础大模型生成的回答与检索到的文档进行匹配,NLI模型会为每个声明找到最相关的支持性段落,并将其作为引用附加到声明上;如果声明没有找到支持的段落,则被标记为未支持。

图片

在微调阶段,AGREE框架采用了LORA的轻量级微调技术,通过在大模型的权重矩阵上添加低秩更新,来实现高效且针对性的调整,有助于减少计算资源的消耗,同时保持模型的泛化能力。

测试时自适应

测试时自适应是一种动态、迭代的推理增强方法,可帮助大模型在面对新的内容查询时,能够主动地从大型语料库中检索相关信息,并对之前生成的回答进行补充和修正。这种方法与传统的静态回答生成方式不同,它强调的是在测试时不断优化和调整回答,以确保生成的内容尽可能准确和全面。

图片

测试时自适应的工作流程开始于接收到一个新的查询,经过微调的大模型会首先根据其训练阶段学到的知识生成一个初步的回答,然后进入一个自动迭代的过程,大模型会自我评估生成的回答,并识别出其中尚未归因或需要进一步支持的声明。

一旦识别出需要额外信息的声明,测试时自适应就会启动检索过程。这一过程涉及到在预先构建的语料库中搜索与未归因声明相关的段落。

这些段落被选出来后,大模型会尝试将它们与先前的回答结合起来,生成一个更加完善、准确的内容。同时会不断迭代循环,直至达到预定的推理效果或模型认为回答已足够完美为止。

本文素材来源AGREE论文,如有侵权请联系删除

END

图片

图片

这篇关于谷歌推出AGREE,增强大模型生成回答准确性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1052738

相关文章

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

在java中如何将inputStream对象转换为File对象(不生成本地文件)

《在java中如何将inputStream对象转换为File对象(不生成本地文件)》:本文主要介绍在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价... 目录需求说明问题解决总结需求说明在后端中通过POI生成Excel文件流,将输出流(outputStre

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

C/C++随机数生成的五种方法

《C/C++随机数生成的五种方法》C++作为一种古老的编程语言,其随机数生成的方法已经经历了多次的变革,早期的C++版本使用的是rand()函数和RAND_MAX常量,这种方法虽然简单,但并不总是提供... 目录C/C++ 随机数生成方法1. 使用 rand() 和 srand()2. 使用 <random

Flask 验证码自动生成的实现示例

《Flask验证码自动生成的实现示例》本文主要介绍了Flask验证码自动生成的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习... 目录生成图片以及结果处理验证码蓝图html页面展示想必验证码大家都有所了解,但是可以自己定义图片验证码

Python如何在Word中生成多种不同类型的图表

《Python如何在Word中生成多种不同类型的图表》Word文档中插入图表不仅能直观呈现数据,还能提升文档的可读性和专业性,本文将介绍如何使用Python在Word文档中创建和自定义各种图表,需要的... 目录在Word中创建柱形图在Word中创建条形图在Word中创建折线图在Word中创建饼图在Word

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

nginx生成自签名SSL证书配置HTTPS的实现

《nginx生成自签名SSL证书配置HTTPS的实现》本文主要介绍在Nginx中生成自签名SSL证书并配置HTTPS,包括安装Nginx、创建证书、配置证书以及测试访问,具有一定的参考价值,感兴趣的可... 目录一、安装nginx二、创建证书三、配置证书并验证四、测试一、安装nginxnginx必须有"-

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot