Meta | 对比解码:进一步提升LLM推理能力

85d21197392441b13084a62df2177d81.png

深度学习自然语言处理 原创
作者:wkk

为了改进LLM的推理能力,University of California联合Meta AI实验室提出将Contrastive Decoding应用于多种任务的LLM方法。实验表明,所提方法能有效改进LLM的推理能力。让我们走进论文一探究竟吧!7914b2a09fdce4f42727208c90ef3c67.png

  • 论文:Contrastive Decoding Improves Reasoning in Large Language Models

  • 地址:https://arxiv.org/pdf/2309.09117.pdf

进NLP群—>加入NLP交流群

对比解码(Contrastive Decoding)

在走进论文之前首先介绍一下什么是对比解码,其是由Li等人在2022年提出的一种文本生成方法,具有简单、计算量小、训练自由等特点。它通过查找到最大化强模型和弱模型之间可能性差异的字符串来生成文本,从而产生更多且更高质量的文本。在对比解码中,弱模型可以是常规的贪心解码方法,如一些简单的采样方法,强模型可以是经过训练的大型语言模型。对比解码可以在很多推理任务上表现出色,包括算术推理和多项选择排名任务,可以提高语言模型的准确率。

本文创新点:探索对比解码在LLM上的应用。具体地,通过最大化专家模型和较弱的业余模型之间存在的可能性误差(如下图所示)来搜索字符串,避免了专家模型中的不良影响和贪婪解码会出现的采样误差问题。

9ea9bddc3fff6fb1d41c2d050025830c.png

实验结论:通过在多种任务上的测试,本文证明了对比解码可以提高大型语言模型在推理和文本生成问题上的性能,这是第一种同时在推理和文本生成问题上实现最先进结果的生成算法。此外,还分析了对比解码的改进原因,并探讨了该方法在常识推理和事实检索方面的适用性。

实验

实验设置

  • 模型:实验采用LLaMA家族的原始模型,其中专家模型为LLaMA-65B,业余模型为具有1.5B的LLaMA模型。此外,在消融实验中,本文还对FLAN-T5家族的模型进行实验分析。

  • 解码参数:α=0.1,为原始论文中相同的超参数:专家模型分配的最大概率的比例,任何标记都分配了较低的概率被屏蔽掉。β=0.5是对应于业余惩罚强度的超参数。将前导 (1 + β) 系数包含在专家 logits 中,以将对比惩罚的强度与输出 logits 的预期尺度解耦,描述了用于采样的温度的对比权衡之间的对比权衡。f52007665683d09fa9a4f1fb9b5476e0.png

  • prompt:对于生成任务使用8-shot的CoT。

  • 数据集:聚焦代数问题的AQuA、ASDiv、GSM8K、SVAMP和MATH数据集,针对常识推理的CommonsenseQA、StrategyQA数据集以及AI2 Reasoning Challenge、BooIQ、HellaSwag、MMLU、PIQA、SIQA和WinoGrande等基准数据集。

实验结果

  • 在GSM8K上的实验表明,β=0.5能获得更好的结果同时业余模型对于性能的提升可能大于专家模型。97ddc28a233cd7ebda6d9ee254baa06d.png

  • 对比解码往往有助于全面完成具有CoT提示的算术推理任务。其中一个例外是MATH数据集,它被证明对标准解码和对比解码都具有挑战性。作者推测因为对比解码放大了专家比业余模型学得更好的技能,所以它对远远超出专家模型的任务没有帮助。bb6da1365bab2d8ce3e14dfe06744567.png

  • 在CommonsenseQA和StrategyQA数据集上实验发现对比解码会损害较小模型的性能。

对比解码的影响

本文还进行了一系列附加实验,研究表明,对比解码可以在大型语言模型中提高推理能力。在算术推理和多项选择排名任务上,包括LLaMA-65B这样的大型模型,都有普遍的改进,这表明对比解码可以使更大的模型受益。通过分析对比解码改进的原因。实证表明,与贪婪解码相比,对比解码从提示中复制的表面层次较少,错过的推理步骤也较少。这一结果表明,对比解码通过减少模型分布中的短、重复或其他不良模式来起作用。

结论

使用对比解码(Contrastive Decoding)方法可以显著提高大型语言模型在一系列推理任务中的准确性,这种方法不仅在生成文本方面表现优异,还可以在推理问题方面超越当前现有的各种模型。同时,该方法能够减少模型分布中的短、重复或其他不良模式,从而提高模型的推理能力。然而,该方法在常识推理任务中表现良莠不齐,需要进一步研究和改进。总的来说,对比解码方法在改善语言模型的生成和推理能力上具有广泛的应用前景。


进NLP群—>加入NLP交流群

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

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

相关文章

“百华多功能休闲鞋”走进CCTV移动传媒真购好物

激动的心, 颤抖的手。 百华多功能休闲鞋福利来袭! 坚守匠心之道, 安全是我们的使命。 百华入选产品将在CCTV移动传媒 《真购好物》直播。 9月21日晚10点30分,经过层层选拔,山东百华鞋业有限公司的“百华多功能休…

网络协议学习地图分享

最近在回顾网络知识点的时候,发现华为数通有关报文格式及网络协议地图神仙网站,这里涵盖了各个协议层及每个协议层对应的协议内容,最人性的化的一点是点击每个单独的协议可以跳转到该协议详细报文格式页面,有对应的说明和解释&…

linux下链接

linux下链接用法 ln链接格式与介绍 linux下链接用法一、链接的使用格式二、链接的介绍 一、链接的使用格式 链接: 格式: ln 源文件 链接文件 硬链接 ln -s 源文件 链接文件 软连接 硬链接文件占磁盘空间 但是删除源文件不会影响硬链接文件 软链接文件不…

Android 应用上线注意事项

将 Android 应用上线到 Google Play 商店需要仔细注意一系列问题,以确保应用的质量、安全性和用户体验。以下是一些在 Android 应用上线过程中需要注意的关键问题,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司&…

介绍Spring Security框架,以及如何使用它实现应用程序的安全性

文章目录 什么是 Spring Security?Spring Security 的工作原理如何使用 Spring Security 构建安全的应用程序步骤 1:添加 Spring Security 依赖步骤 2:配置 Spring Security步骤 3:配置安全性规则步骤 4:创建用户和角色…

【Linux系统编程】通过系统调用获取进程标识符 及 创建子进程(fork)

文章目录 1. 通过系统调用获取进程标示符(PID)1.1 进程id(PID)1.2 父进程id(PPID) 2. bash也是一个进程3. 通过系统调用创建进程-fork初识3.1 批量化注释3.2 取消注释3.3 fork创建子进程3.4 fork的返回值3.…

目标检测算法改进系列之Neck添加渐近特征金字塔网络(AFPN模块)

渐近特征金字塔网络(AFPN模块) 在目标检测任务中,多尺度特征对具有尺度差异的目标进行编码具有重要意义。多尺度特征提取的常用策略是采用经典的自顶向下和自底向上的特征金字塔网络。 然而,这些方法存在特征信息丢失或退化的问…

十四、流式编程(2)

本章概要 中间操作 跟踪和调试流元素排序移除元素应用函数到元素在 map() 中组合流 中间操作 中间操作用于从一个流中获取对象,并将对象作为另一个流从后端输出,以连接到其他操作。 跟踪和调试 peek() 操作的目的是帮助调试。它允许你无修改地查看…

Maven3.6.1下载和详细配置

1.下载maven 说明:以下载maven3.6.1为例 1.1网址 Maven – Welcome to Apache Maven 1.2点击下载 1.3点击Maven 3 archives 1.4 点击相应的版本 1.5 点击binaries下载 说明:binaries是二进制的意思 1.6点击zip格式 1.7 蓝奏云获取 说明&#xff1a…

gateway之断言的使用详解

文章目录 gateway产生的背景,为什么要是用gateway什么是网关gateway 带来的好处功能特征gateway在项目中使用的依赖 什么是断言断言分类内置自定义示例 断言和过滤器的不同 gateway产生的背景,为什么要是用gateway 一个系统会被拆分为多个微服务&#x…

软考 -- 计算机学习(2)

文章目录 一、安全性知识1.1 信息安全和信息系统安全1.2 信息安全技术1.3 网络安全技术 二、多媒体技术三、软件工程基础知识3.1 信息系统生命周期3.2 软件过程模型3.3 信息系统开发方法3.4 系统分析和设计概述3.5 结构化开发方法3.6 系统运行与维护 四、项目管理4.1 进度管理4…

说说hashCode() 和 equals() 之间的关系?

每天一道面试题,陪你突击金九银十! 上一篇关于介绍Object类下的几种方法时面试题时,提到equals()和hashCode()方法可能引出关于“hashCode() 和 equals() 之间的关系?”的面试题,本篇来解析一下这道基础面试题。 先祭一…

ESP-IDF学习——1.环境安装与hello-world

ESP-IDF学习——1.环境安装与hello-world 0.前言一、环境搭建1.官方IDE工具2.vscode图形化配置 二、示例工程三、自定义工程四、点灯五、总结 0.前言 最近在学习freertos,但由于买的书还没到,所以先捣鼓捣鼓ESP-IDF,因为这个比Arduino更接近底…

『贪吃蛇』AI 算法简易实现(中秋特别版)

前言 一年一度的中秋节就快到了,平台也有各种各样的中秋发文活动,正在翻阅时偶然间我看到了这篇文章:《兔饼大作战》:吃月饼、见月亮,还能咬自己?| 欢庆中秋特制版 - 掘金 (juejin.cn) 大家肯定比较熟悉了…

python处理CSV文件

CSV库还有其他处理CSV的方法,这里只是介绍几个常用的,后面如果用到别的会进行更新 目录 1 生成一个新的csv文件,并向其中写一点东西 2 单纯往里面写几行 3 读取csv文件 1 生成一个新的csv文件,并向其中写一点东西 import…

Mybatis学习笔记11 缓存相关

Mybatis学习笔记10 高级映射及延迟加载_biubiubiu0706的博客-CSDN博客 缓存:cache 缓存的作用:通过减少IO的方式,来提高程序的执行效率 Mybatis的缓存:将select语句的查询结果放到缓存(内存)当中,下一次还是这条select语句的话,直接从缓存中取,不再查数据库.一方面是减少了I…

vision transformer

一、网络构建 import torch from torch import nn from functools import partial# --------------------------------------- # # (1)patch embeddingimg_size224 : 输入图像的宽高 patch_size16 : 每个patch的宽高,也是卷积核的…

zabbix监控nginx

目录 一、实验准备 二、监控nginx 一、实验准备 zabbix-sever(192.168.115.4) zabbix-agent(192.168.115.5) 添加监控对象 二、监控nginx 安装NGINX在192.168.115.5上安装NGINX,开启status模块 yum -y install ep…

uniapp:OCR识别身份证上传原图失败,问题解决

1、上传普通图片成功 2、上传>4M | >5M图片失败检查&#xff1a;1、uni.uploadFile自身没有文件大小限制。然而&#xff0c;这仍然取决于你的应用程序所在的平台和存储空间容量。 2、上传照片后不在fail&#xff0c;在sucess 提交照片-3 {"data": "<h…

yolov5自动训练/预测-小白教程

文章目录 引言一、配置参数设置1、数据参数配置2、模型训练参数配置3、模型预测参数配置 二、一键训练/预测的sh介绍1、训练sh文件(train.sh)介绍2、预测sh文件(detect.sh)介绍 三、本文训练main代码解读1、训练main函数解读2、数据加工与参数替换 四、本文预测main代码解读1、…