[论文阅读]SCOTT: Self-Consistent Chain-of-Thought Distillation

news2024/11/25 11:05:53

中文译名:SCOTT: 思维链一致性蒸馏

会议:Proceedings of the 61st Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers)

链接:SCOTT: Self-Consistent Chain-of-Thought Distillation - ACL Anthology

摘要:

尽管思维链 CoT 可以显著提高性能,但这种收益仅在足够大的 LMs 中才能观察到。更令人担忧的是,几乎无法保证生成的理由与 LM 的预测一致或忠实地证明决策的合理性。在这项工作中,我们提出了 SCOTT,这是一种忠实的知识蒸馏方法,用于从规模大几个数量级的教师模型中学习一个小型、自洽的 CoT 模型。为了形成更好的监督,我们通过对比解码从大型 LM(教师)中引出支持黄金答案的理由,这鼓励教师生成仅在考虑答案时才更合理的标记。为了确保忠实的蒸馏,我们使用教师生成的理由以反事实推理 目标来学习学生 LM,这防止学生忽略理由做出不一致的预测。实验表明,在产生相当的最终任务性能的同时,我们的方法可以生成比基线更忠实的 CoT 理由。进一步的分析表明,这样的模型在做决策时更尊重理由;因此,我们可以通过改进其理由来更多地提高其性能。 

现有工作:

主要出于计算效率或任务性能的考虑,提议从大型 LMs 中学习推理。他们提示一个大型 LM (教师)为下游数据集生成理由,然后用于训练一个小型 LM (学生)。

存在问题:

  1. LMs 容易产生幻觉,这意味着它们经常生成与输入无关的文本。因此,教师可能无法生成完全支持答案的主题相关理由。
  2. 学生可能将理由生成和答案预测视为两个独立的过程。 这是由于问题和答案之间的虚假相关性,学生将其作为推理捷径。

上面的两个问题共同导致一个不忠实的学生,会生成空洞的理由,且可能做出与理由不一致的预测。

文中的方法:

方法设计:

分别从两个方面增强普通的知识蒸馏 KD 过程。

  1. 为了从教师那里引出更多主题相关的理由,我们提议利用对比解码,旨在将每个理由与答案联系起来。这种技术鼓励教师生成仅在考虑答案时更合理的标记,而不是在不考虑答案时也相当合理的标记。
    对比解码技术:通过向教师模型提供扰动答案(空字符串或错误答案),计算每个标记的合理性增长,以获得更一致的教师模型,使其生成的理由更符合主题且能更好地支持黄金答案。
  2. 为了训练一个忠实的学生,我们要求学生进行反事实推理,即当理由导致不同答案时相应地进行预测:通过要求教师为抽样的错误答案生成理由来获得训练数据
    反事实推理训练:通过将正确答案替换为错误答案获取反事实理由,训练学生模型更加忠实于生成的理由进行预测,避免忽略理由导致的不一致预测。

目标:

  1. 从大型语言模型中引出一致的理由,即那些能很好地证明黄金答案的理由,作为监督
  2. 训练一个自洽的学生模型来忠实推理, 即根据其生成的理由进行相应的回答

 具体描述:

 数据集:

使用上 文学习自动从教师模型中获取理由,而不是要求人类为每个问 题 - 答案元组{q, a∗}标注一个理由。

思路是在提供新实例之前,用仅几个标注示例作为演示来提示一个冻结的语言模型作为教师。每个示例由从训练集中随机抽样的问题 q、黄金答案 a∗和一个人类标注的理由 r 组成,该理由说明 a∗为什么是正确的。

提示词的策略如上图。

训练:

在这项工作中,我们专注于自我合理化范式,其中学生首先生成一个理由,然后根据生成的理由预测答案。这与相关工作不同,后者进行事后合理化,即在预测答案后生成理由,或者进行多任务学习,将理由生成视为除答案预测之外的辅助任务。原因是后两种范式中理由的生成从设计上不影响决策,因此理由的忠实性首先无法 得到保证。

蒸馏一个自相一致的学生模型:

常规的知识蒸馏中,如果老师模型输出了不相关的文本(幻觉),导致生成的理由不支持给定的答案,这种理由和答案的不一致性将被学生模型学到,从而误导学生认为答案预测和理由生成是相互独立的;学生模型会通过采取推理捷径来学习预测答案而不考虑生成的理由。

上述问题导致一个不可信的学生模型,其生成的理由不能始终如一地证明答案的合理性。

文章提出了两个相应的技术

对比解码

对比解码基于这样一个假设,即模型在生成理由时,应该更倾向于生成那些在考虑答案时更合理的标记。通过向教师模型提供扰动答案(可以是空字符串或错误答案),计算每个标记的合理性增长。

扩展了一种先前称为对比解码的技术,用于开放式文本生成

核心思想是搜索仅在考虑答案时更合理的理由标记,而不是在不考虑答案时也相当合理的标记。

 向同一教师提供一个干扰答案a'来建模幻觉行为,然后获得给定答案 a ∗时任何标记 ti的合理性增长

设计了两种干扰答案的方式: 将 a '设置为空字符串或除 a ∗之外的错误答案

反事实推理

反事实推理是一种假设在某些条件发生改变的情况下,结果会如何不同的思维方式。在本文的方法中,反事实推理用于训练学生模型更加忠实于理由进行预测。具体操作是将教师模型中原本的黄金答案替换为错误答案a^',按照与之前相同的方式(例如使用相同的采样策略)让教师模型生成相应的反事实理由r^'。然后,训练学生模型在接收到反事实理由时,应该预测出与该反事实理由相对应的错误答案a^'。这样可以迫使学生模型不能仅仅依赖于问题和答案之间可能存在的虚假相关性,而是要真正根据理由进行预测,从而提高学生模型对理由的忠实性。

为了鼓励学生对其生成的理由进行忠实推理,训练学生进行反事实推理,即当理由导致不同答案时相应地进行预测,在学生被要求对同一问题根据理由给出不同的答案

实验结果:

  1. 对比解码可以导致一个更一致的教师,其生成的理由更支持黄金答案。
  2. 在更一致的 理由 - 答案 对上进行训练,学生学会更好地将答案预测与理由生成联系起来。
  3. 通过反事实推理作为辅助训练目标,学生学会不采用推理捷径, 而是更加尊重理由。
  4. 尽管更加忠实,但我们的模型与基线模型的性能相当。
  5. 消融研究表明,尽管表现更好,但更大的学生模型更容易不一致。我们的方法无论学生模型的大小如何,都能稳健地纠正这种不一致性。
  6. 有了一个更忠实的学生,我们可以通过纠正其理由来更好地提高其性能,展示了我们的方法 在模型改进中的效用。

总结 

优点: 对比解码能有效鼓励教师生成更符合主题、更具区分性的理由;反事实推理使得学生模型更加忠实于生成的理由进行预测。

缺点:对比解码增加了计算成本;方法侧重于提高理由忠实性而非性能提升。

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

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

相关文章

MySQL【知识改变命运】05

1&#xff1a;where的基本用法练习&#xff08;比较运算符&#xff09; 基本操作&#xff1a;查询英语<60的同学 如果english为NULL&#xff0c;会自动过滤掉&#xff0c;NULL比较特殊 查询语⽂成绩⾼于英语成绩的同学 这个过程&#xff1a;先读取表中每行记录&#xf…

18925 试卷排序(双向链表)

### 思路 1. **初始化队列**&#xff1a;将编号为1的试卷放入队列。 2. **依次插入试卷**&#xff1a;从第2张试卷开始&#xff0c;根据输入的x和p&#xff0c;将试卷插入到指定位置。 3. **输出结果**&#xff1a;输出最终的试卷序列。 ### 伪代码 function reorder_papers(…

计算机的错误计算(一百二十二)

摘要 讨论 的计算精度问题。 例1. 已知 计算 不妨在 Excel 的单元格中计算&#xff0c;则有&#xff1a; 若在Python下计算&#xff0c;则输出似乎更精确&#xff1a; 然而&#xff0c;16位有效数字的正确结果为 0.4999999999940000&#xff08;ISRealsoft 提供&#…

Matlab 多机器人编队数据分析

文章目录 前言一、Function quiver not supported for code generation.二、在仿真环境中添加障碍物三、simulink中function函数初始化五、在MATLAB中&#xff0c;实现在绘图时只删除上一次绘制的图形而不是整个图形界面六、matlab simulink中&#xff0c;程序不断发出机器人位…

git的学习使用(搭建本地仓库,创建本地仓库,配置本地仓库)(附带Ubuntu云服务器git安装流程)

学习目标&#xff1a; 学习使用git&#xff0c;并且熟悉git的使用 学习内容&#xff1a; 必备环境&#xff1a;xshell&#xff0c;Ubuntu云服务器 如下&#xff1a; 搭建 git 环境掌握 Java 基本语法掌握条件语句掌握循环语句 搭建git环境&#xff1a; 1、先检查自己的云服…

vscode的一些概念和原理,插件系统简单上手指南

VScode 技术栈和架构 使用的技术栈&#xff1a; Electron。Typescript。Node.js。Monaco Editor。 代码编辑器 主进程 (Main Process): 负责应用的生命周期管理、菜单、系统托盘等操作系统相关的功能。Electron 的主进程还负责启动渲染进程&#xff0c;并提供与 Node.js 之间…

Excel:多种方法实现1列转多列表格(含vba实现)

要求&#xff1a;将A列中的名字放到右边的表格里面 一、当数据较少的时候手动实现更快 实现的步骤&#xff1a; 1.先按照下面的方式填充右边的表格 然后选中a2、a7所在的前两行进行下拉填充 2.填充完毕表格的样子 3.选中该表格所在的区域 → 点击菜单栏“开始” → 查找 → 替…

python之selenium接管打开的谷歌浏览器窗口——隐藏爬虫特征,跳过登陆弹窗验证

文章目录 引言使用selenium接管打开的谷歌浏览器总结 引言 我们知道通过selenium打开的浏览器与本地电脑上打开的浏览器是不同的&#xff0c;selenium通过插件打开浏览器页面会显示爬虫特征信息&#xff0c;且在访问某些网站时&#xff0c;很容易被检测出是一个爬虫机器&#x…

第十五周:机器学习

目录 摘要 abstrct 一、HW3——食物图片分类CNN 二、GAN计算推导 1、引入 2、最大似然估计 3、divergence的计算 4、总结 三、GAN的架构——fGAN 1、f-divergence 2、共轭函数 3、connetction with GAN 总结 摘要 本周进一步学习了GAN基本原理&#xff0c;主…

element el-tree 自定义图标

除了自定义以外,下方代码还包含 tree自动展开 点击节点后节点聚焦 节点的click事件 节点查询 <template><el-inputplaceholder"请输入要查询的节点"v-model"filterText"clearable></el-input><el-treehighlight-currentclass&quo…

【RabbitMQ】RabbitMQ 的七种工作模式介绍

目录 1. Simple(简单模式) 2. Work Queue(工作队列) 3. Publish/Subscribe(发布/订阅) 4. Routing(路由模式) 5. Topics(通配符模式) 6. RPC(RPC通信) 7. Publisher Confirms(发布确认) 上一篇文章中我们简单认识了RabbitM1: 【RabbitMQ】RabbitMQ 的概念以及使用Rabb…

【Qt】窗口关闭提示框

在关闭QWdiget窗口时弹出提示框 重写**closeEvent**函数 void closeEvent(QCloseEvent* event) override;QMessageBox *msgBox new QMessageBox(QMessageBox::Question, "信息提示", "是否保存当前数据&#xff1f;", QMessageBox::Save | QMessageBox::N…

github克隆项目中的子模块submodule时遇到“无法访问远程仓库,请检查权限“

问题描述 在拉取仓库的时候发现了新东西。 仓库中有两个文件夹提示 点击之后&#xff0c;发现跳转到了另一个仓库 &#xff0c;原来这是仓库的子模块&#xff0c;第一次见&#xff0c;也就是仓库中包含了其他的的仓库&#xff0c;就是这么简单的原理。 但是在拉取仓库以后发现…

VScode环境配置

目录 好用插件推荐 1.Auto Rename Tag 2.openbrowser 3.实时预览&#xff08;推荐&#xff09; VSCode常用的快捷键 1. 快速复制一行 2.快速复制一行代码选定多个相同的单词 3. 添加多个光标 4. 全局替换某写单词 5. 快速定位到某一行 6. 选择某个区块 7. 放大缩…

高一全栈开发;国产 Arc 浏览器;Tauri 2.0 发布 | 生活周刊 #3

发现新应用 Vectorcraftr Vectorcraftr 提供免费可商用的插画库&#xff0c;风格有很多&#xff0c;自行食用 书立 一款功能强大、特性丰富的笔记软件&#xff0c;包含富文本&#xff0c;双链&#xff0c;表格&#xff0c;富目录树&#xff0c;WebDAV &#xff0c;自由导出等…

WPF 为button动态设置不同的模板

有时候需要动态的设置一些按钮的状态模板。使一个button显示不同的内容&#xff0c;比如Button未点击安装显示&#xff1a; 安装后显示&#xff1a; 可以通过设置button的content&#xff0c;通过content来设置不同的模板来实现功能&#xff0c;以下是代码&#xff1a; MainWi…

【消息队列】Kafka从入门到面试学习总结

国科大学习生活&#xff08;期末复习资料、课程大作业解析、大厂实习经验心得等&#xff09;: 文章专栏&#xff08;点击跳转&#xff09; 大数据开发学习文档&#xff08;分布式文件系统的实现&#xff0c;大数据生态圈学习文档等&#xff09;: 文章专栏&#xff08;点击跳转&…

CentOS7安装Gitlab服务

文章目录 前言一、安装依赖二、安装gitlab1、上传安装2、修改配置 三、启动gitlab服务四、修改密码五、设置为中文&#xff08;低版本有问题&#xff09;六、常用命令 前言 文中gitlab版本为&#xff1a; gitlab-ce-14.2.7 一、安装依赖 gitlab需要安装如下依赖&#xff0c;否…

Linux编辑器-vim的配置及其使用

vim是一种多模式的编辑器&#xff1a; 1.命令模式&#xff08;默认模式&#xff09;&#xff1a;用户所有的输入都会当作命令&#xff0c;不会当作文本输入。 2.插入模式&#xff1a;写代码&#xff0c; 按「 i 」切换进入插入模式「 insert mode 」&#xff0c;按 “i” 进入…

2024/10/13周报

文章目录 摘要Abstract文献阅读题目1. 背景与问题提出2. 提出的CLATT方法2.1 卷积神经网络&#xff08;CNN&#xff09;2.2 长短期记忆网络&#xff08;LSTM&#xff09;2.3 注意力机制2.4 滑动窗口方法 3. 实验设计与结果3.1 数据集3.2 实验基线与评价指标3.3 实验结果与分析 …