自我激励学习提升语言模型的推理能力

随着人工智能技术的快速发展,语言模型(LMs)在各种下游任务中展现出了卓越的能力。特别是在少样本(few-shot)和零样本(zero-shot)学习环境中,通过吸收特定任务的指令和示例,这些模型已经引起了广泛关注。然而,要提升模型的推理能力,大规模高质量的训练数据是不可或缺的。由于注释成本高昂,包含推理步骤的高质量数据集相对稀缺。为了解决这一问题,本文提出了一种自我激励学习框架,旨在通过自动化地生成现有数据集上的推理步骤,激发模型自身的潜力。

自我激励学习方法的动机。图中显示了“Rationale”和“Answer”是由语言模型生成的,主要思想是:(1) 正确的给定答案更有可能产生正确的推理过程;(2) 导致正确答案的推理过程优于导致错误答案的推理过程

方法

自我激励学习框架是一种创新的方法,它通过激发模型自身的潜力,在现有数据集上自动生成推理过程。这种方法的核心在于利用模型产生的内在偏好——即能够产生正确答案的推理过程应当优于那些导致错误答案的推理过程。自我激励学习框架通过三个主要步骤实现:推理过程生成、推理收集和模型训练。

这张图概述了自我激励学习方法的三个主要步骤:推理过程生成、推理收集和模型训练。图中详细描述了如何使用少量样本CoT生成推理过程,如何通过比较给定答案和最终答案来过滤推理过程,以及如何使用这些数据进行模型训练

在推理过程生成阶段,框架采用了Few-shot-CoT技术来生成推理过程。具体来说,对于每个给定的任务,模型会根据问题和提供的答案(无论是正确还是错误)生成一系列的推理步骤。这些推理步骤随后被用来生成最终的答案。通过这种方式,模型能够学习如何基于不同的答案生成相应的推理过程。

生成推理过程和最终答案的提示模板。表格中有两个部分,一个是使用问题和给定答案生成推理过程,另一个是使用问题和生成的推理过程生成最终答案
表格提供了一个示例,展示了如何使用正确答案和错误答案生成更好的和更差的推理过程。表格中给出了一个问题和两个不同的答案,以及基于这些答案生成的推理过程

接下来,在推理收集阶段,生成的推理过程会根据其质量进行筛选。这一过程涉及到评估给定答案和最终答案与正确答案之间的一致性。如果两者都正确,则相应的推理过程被归类为高质量;如果都错误,则被归类为低质量。此外,还会根据推理内容、标签引用和数值准确性等标准进行进一步的筛选,以确保推理过程的相关性和准确性。

在模型训练阶段,筛选出的高质量推理过程被用来训练监督式微调模型(SFT Model)。该模型通过最小化语言建模损失来优化其参数。同时,使用不同质量的推理过程来训练奖励模型(RM),该模型能够评估生成的推理过程的质量。通过结合SFT Model和RM,模型利用PPO算法进行强化学习,进一步提升其生成高质量推理过程的能力。

自我激励学习框架的优势在于它减少了对外部大型模型或手动注释的依赖,通过模型自身的学习和优化,提高了推理能力。这种方法不仅提高了模型在复杂推理任务上的性能,而且具有很好的通用性和可扩展性。通过这种方式,即使是较小的模型也能够通过自我生成的高质量推理过程来提升其解决问题的能力。

实验

研究者们选择了8个数据集来评估自我激励学习框架,这些数据集覆盖了三类复杂的推理任务:数学问题求解、常识推理和策略推理。这些数据集包括了单步方程求解(SingleEq)、加减法问题(AddSub)、多步算术问题(MultiArith)、SVAMP、GSM8K、日期理解(Date Understanding)、常识问答(CommonSenseQA)和策略问答(StrategyQA)。这些任务和数据集的多样性确保了实验结果的广泛适用性和说服力。

在研究中使用的8个数据集,包括它们的任务类型、样本数量、测试样本数量、数据分割比例、许可证和参考文献

为了展示自我激励学习框架的优势,研究者们将其与几种基线方法进行了比较。这些基线方法包括直接使用开源和闭源的大型语言模型生成推理步骤,以及使用这些模型进行微调的方法。还包括了仅使用少量样本提示(Few-shot-CoT)的方法,以及在不同数据集上微调后使用CoT方法生成推理步骤的方法。

实验的实现使用Llama2 7B模型,并采用了Lora技术进行模型的微调。模型训练的过程,包括如何使用高质量的推理步骤数据来训练监督式微调模型(SFT Model),以及如何使用不同质量的推理步骤数据来训练奖励模型(RM)。

实验结果显示,自我激励学习框架在所有8个任务中都取得了显著的性能提升。在某些任务中,该框架的性能甚至超过了目前最先进的模型,如text-davinci-002。这些结果以百分比准确率的形式呈现,清楚地展示了自我激励学习框架相对于基线方法的改进。

不同模型和方法在8个任务中的准确率比较。表格中列出了不同的基线模型、在Llama2 7B上的方法,以及本文提出的方法

研究者们探讨了奖励模型得分与推理质量之间的关系,发现得分较高的推理步骤更可能是正确的。研究者还分析了给定答案与推理过程的一致性,以及强化学习如何帮助模型从错误中学习并提高其推理能力。通过这些分析,研究者们进一步证明了自我激励学习框架的有效性,并揭示了其在不同方面提升模型性能的潜力。

在SingleEq数据集上的分析,包括奖励模型得分阈值与正确推理比率和数量的关系,PPO/RM模型的准确率和平均得分随时间的变化,以及在PPO过程中每个时期的RM模型得分分布

自我激励学习框架提供了一种任务通用的方法,用于在减少对大型模型和手动注释依赖的同时,提升语言模型的推理性能。通过一系列实验证明了该方法能够在不同类别的复杂推理任务中显著提高模型性能。

论文链接:https://arxiv.org/abs/2404.07017

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

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

相关文章

Makefile 编译文件中的c文件,输出可执行文件main

Makefile文件 CC aarch64-linux-gnu-gcc CFLAGS SRCS $(wildcard *.c) OBJS $(SRCS:.c.o) TARGET mainall: $(TARGET)$(TARGET): $(OBJS)$(CC) $(CFLAGS) -o $ $^%.o: %.c$(CC) $(CFLAGS) -c $< -o $clean:rm -f $(OBJS) $(TARGET)执行make之后输出&#xff1a; to…

CLIP: Learning Transferable Visual Models From Natural Language Supervision

1、引言 论文链接&#xff1a;ReadPaper 现在最先进的计算机视觉系统都是训练模型来预测一组固定的、预定义好的目标类别&#xff08;如 ImageNet 的 1000 类和 COCO 的 80 类&#xff09;。这种受限制的监督形式限制了它们的通用性和可用性&#xff0c;因为需要额外的标记数据…

深入探索 MongoDB GridFS:高效大文件存储与管理的全面指南

GridFS 是 MongoDB 的一个规范&#xff0c;用于存储和检索超过 BSON 文档大小限制&#xff08;16MB&#xff09;的文件。与传统的文件系统不同&#xff0c;GridFS 可以将一个大文件分割成多个小块&#xff0c;并存储在 MongoDB 的两个集合中&#xff1a;fs.files 和 fs.chunks。…

光纤通信基础(光纤的构造、工作原理、色散、工作频段、损耗、分类、不同标准及应用、接口类型、常见标示方法、熔接)

文章目录 光纤的构造&#xff1a;纤芯、包层、涂覆层光纤的工作原理&#xff1a;利用全反射来传输光信号光纤的色散光纤的工作频段光纤的损耗光纤的分类光纤的不同标准及应用光纤的接口类型&#xff08;SC、LC、ST、FC&#xff09;光纤的常见标示方法&#xff1a;如“FC/PC”&a…

项目准备和启动

1.什么是项目建议书&#xff1f; 2.项目建议书的内容 3.可行性分析方法 4.项目组织结构&#xff08;职能型 项目型 矩阵型&#xff09; 5.项目管理层决策层执行层之间的关系 6.软件项目的可行性分析包括哪几个方面&#xff1f;影响决策的关键因素又是什么&#xff1f; 软件项目…

mysql的双机热备

一般主从复制是主服务器数据库可读可写&#xff0c;从服务器数据库只读&#xff0c;而双机热备是主从服务器的数据库双向复制&#xff0c;从服务器数据库可读也可写。 说到主从复制不得不说–读写分离&#xff0c;此介绍请看这一篇 一文浅谈“读写分离”技术 双机热备的概念简…

鸿蒙开发实战:灵活定制Tabs组件,实现个性化页签布局

闪客 沉默的闪客 2024-06-16 20:01 陕西 大家好&#xff0c;又一个项目已经基本完成 是一个元服务英语单词卡片项目&#xff0c;后面一步一步的进行分析拆解&#xff0c;今天来实现一个Tabs组件自定义界面开发。 鸿蒙ArkUI 开发的时候&#xff0c;Tabs 组件很常用&#xff0c;…

CDA二级(Level II)数据分析师——考试内容梳理三(简单重点案例)

PR曲线是基于召回率的准确性来进行判断的&#xff1b; 混淆矩阵&#xff1a; ROC曲线以真阳性率&#xff08;敏感性、召回率&#xff09;为纵坐标&#xff0c;假阳性率&#xff08;1-特异性&#xff09;为横坐标 假阳性率&#xff1a;负样本中被误认为正样本的概率 FP/FPTN 真…

什么是作用域?作用域有哪几种?

**作用域&#xff08;Scope&#xff09;**是一个程序设计中的重要概念&#xff0c;它指的是变量、函数和对象在程序中可访问和引用的区域。作用域决定了代码块中声明的变量、函数和对象的可见性和生命周期。不同的编程语言提供了不同的作用域类型&#xff0c;以下是几种常见的作…

基于B/S版java语言+SpringBoot技术开发的云HIS系统源码 HIS系统住院业务模块常见问题及解决方案

基于B/S版java语言SpringBoot技术开发的云HIS系统源码 HIS系统住院业务模块常见问题及解决方案 随着医疗技术的不断提高&#xff0c;住院治疗已成为许多病人的常规选择。但是&#xff0c;住院治疗不仅需要医护人员的精心照顾&#xff0c;也需要个高效的信息系统来保证整个治疗过…

C语言程序设计-8 函 数

8.1 概述 在前面已经介绍过&#xff0c;&#xff23;源程序是由函数组成的。虽然在前面各章的程序中大都只有一个 主函数 main()&#xff0c;但实用程序往往由多个函数组成。函数是&#xff23;源程序的基本模块&#xff0c;通过对函 数模块的调用实现特定的功能。&#xff23…

HBase学习之HBaseAPI

HBase学习之HBaseAPI: package com.shujia.base;import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.*; import org.apache.hadoop.hbase.client.*; import org.apache.hadoop.hbase.util.Bytes; import org.junit.After; import org.junit.Before…

Unity制作透明材质直接方法——6.15山大软院项目实训

之前没有在unity里面接触过材质的问题&#xff0c;一般都是在maya或这是其他建模软件里面直接得到编辑好材质的模型&#xff0c;然后将他导入Unity里面&#xff0c;然后现在碰到了需要自己在Unity制作透明材质的情况&#xff0c;所以先搜索了一下有没有现成的方法&#xff0c;很…

删除名为 `XXXX` 的 conda 环境的命令

要删除名为 musetalk 的 conda 环境,您可以使用以下命令: conda remove --name musetalk --all这个命令会删除 musetalk 环境及其中安装的所有包。 执行上述命令后,您可以使用 conda env list 命令验证该环境是否已被成功删除。 如果您想要保留该环境中安装的某些包,可以先使…

C++迈向精通:当我尝试修改虚函数表

尝试修改虚函数表 本期纯整活儿好吧&#xff01;&#xff01;&#xff01;&#xff01; 初衷 有一天我突然开始好奇虚函数表是否真的存在&#xff0c;于是我开始想是否能够从C中查看或者调用虚函数表中的内容。&#xff0c;于是有了下面的操作。 操作过程 起初我并没有思路…

使用net.sf.mpxj读取project的.mpp文件

1、导入.mpp文件 public void importMppFile(String updateType, MultipartFile multipartFile) {try (InputStream inputStream multipartFile.getInputStream()) {// 读取文件的组件MPPReader mppReader new MPPReader();// 注意&#xff0c;如果在这一步出现了读取异常&a…

神经网络模型---AlexNet

一、AlexNet 1.导入tensorflow库&#xff0c;这里给简称为tf库 import tensorflow as tf from tensorflow.keras import datasets, layers, modelsdatasets&#xff1a;是用于训练和测试机器学习模型的数据集合 layers&#xff1a;是构建神经网络模型的关键组成部分 models&a…

Golang并发控制的三种方案

Channel Channel是Go在语言层面提供的一种协程间的通信方式&#xff0c;我们可以通过在协程中向管道写入数据和在待等待的协程中读取对应协程的次数来实现并发控制。 func main() {intChan : make(chan int, 5)waitCount : 5for i : 0; i < waitCount; i {go func() {intC…

上海SNEC光伏展参展总结--安科瑞

安科瑞戴婷 Acrel-Fanny 今年的snec上海光伏展吸引了来自全球各地的光伏行业专业人士及爱好者&#xff0c;本次展会共有来自30多个国家和地区的超过2000家企业参展&#xff0c;展出的光伏产品涵盖了太阳能电池、太阳能组件、逆变器、太阳能辅助设备等众多领域。 随着近年来光…

Oracle中常用特殊字符chr值

在Oracle数据库中&#xff0c;特殊字符的chr值&#xff08;即字符与ASCII码之间的对应关系&#xff09;对于数据的处理和查询非常重要。以下是一些常见的特殊字符及其对应的chr值&#xff1a; 换行符&#xff08;LF&#xff09;&#xff1a; chr值&#xff1a;10 示例&#…