谷歌推出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

相关文章

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

MySQL中动态生成SQL语句去掉所有字段的空格的操作方法

《MySQL中动态生成SQL语句去掉所有字段的空格的操作方法》在数据库管理过程中,我们常常会遇到需要对表中字段进行清洗和整理的情况,本文将详细介绍如何在MySQL中动态生成SQL语句来去掉所有字段的空... 目录在mysql中动态生成SQL语句去掉所有字段的空格准备工作原理分析动态生成SQL语句在MySQL

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Java利用docx4j+Freemarker生成word文档

《Java利用docx4j+Freemarker生成word文档》这篇文章主要为大家详细介绍了Java如何利用docx4j+Freemarker生成word文档,文中的示例代码讲解详细,感兴趣的小伙伴... 目录技术方案maven依赖创建模板文件实现代码技术方案Java 1.8 + docx4j + Fr

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

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