ReF:斯坦福提出的新型语言模型微调方法

随着预训练语言模型(LMs)在各种自然语言处理(NLP)任务中的广泛应用,模型微调成为了一个重要的研究方向。传统的全参数微调方法虽然有效,但计算成本高昂,尤其是在大型模型上。为了解决这一问题,来自斯坦福大学和 Pr(Ai)⊃2;R Group 的研究团队推出一种全新的微调方法——表征微调(ReFT)。ReFT方法的核心优势在于,它不直接对模型权重进行更新,而是通过学习对隐藏层表征的特定干预来适应下游任务。这种方法不仅能够保持模型参数的高效性,还能够更深入地挖掘和利用模型内部的语义结构,从而实现更精准、更有效的模型行为调整。通过直接编辑模型的内部表征,ReFT方法为我们提供了一种更为灵活和强大的工具,以更低的成本实现对模型行为的精细调控。本文意在介绍ReFT方法的工作原理、实现方式以及在多个NLP任务上的应用效果。

不同参数数量的LoReFT方法和其他参数高效微调(PEFT)方法在四个基准测试中的性能对比

方法

在深度学习模型的黑箱特性逐渐被揭开的过程中,模型解释性研究提供了对内部工作机制的洞察。特别是在自然语言处理领域,模型的表征能力——即如何将输入文本转换为高维空间中的向量表示——是理解其语义处理能力的关键。基于此,ReFT(Representation Finetuning)方法应运而生,它通过直接干预这些表征来优化模型行为,为模型微调提供了一种新颖且高效的途径。

ReFT(表征微调)方法

Figure 2展示了如何在模型的隐藏层表示中应用干预函数,介绍了LoReFT(低秩线性子空间ReFT)的干预机制。

图2(左面板):ReFT干预的一般过程

在左面板中,展示了一个名为I的干预过程,其中干预函数Φ被应用于层l中位置集P的隐藏表示。这个过程是ReFT方法的核心,它允许研究者在模型的特定层和特定位置对隐藏表示进行精确的调整。这种干预可以是增加、减少或改变表示的某些方面,以此来影响模型的最终预测。

图2(右面板):LoReFT特定的干预函数

右面板更详细地描述了LoReFT中使用的干预函数。LoReFT通过找到一个仅在由矩阵R的行张成的线性子空间内修改表示的编辑向量。具体来说,这里展示了一个秩为2的LoReFT如何在3维隐藏表示上操作。

  • 线性子空间:在LoReFT中,干预不是在整个表示空间中进行,而是限制在一个较低维的线性子空间内。这个子空间由一个低秩矩阵R定义,其中R的行是正交的,并且共同构成了干预发生的空间。

  • 编辑向量:LoReFT学习一个编辑向量,该向量仅在这个子空间内对隐藏表示进行修改。这种方法不仅减少了参数的数量,而且因为干预被限制在较小的子空间内,所以可以更精确地控制模型的行为。

  • 秩-2 LoReFT:图2中特别展示了秩为2的LoReFT操作。在这种情况下,子空间由两个正交向量定义,LoReFT通过在这个2维空间内调整表示来影响模型的预测。

我们可以看到ReFT方法提供了一种非常灵活的方式来调整和优化语言模型的行为,而LoReFT则展示了如何在保持参数效率的同时实现这种调整。这种干预机制为提高模型在特定任务上的性能提供了一种有效手段,同时也为理解模型内部工作方式提供了新的视角。

ReFT方法的动机根植于模型解释性研究中的因果抽象框架。通过干预模型的内部表征,研究者能够测试和验证模型中特定概念的编码方式。例如,通过交换干预(interchange intervention)技术,可以固定某个表征为模型处理某个反事实输入时的值,进而观察这种干预对模型行为的影响。这种干预不仅帮助我们理解模型内部的因果机制,也启发了通过直接编辑表征来控制模型输出的可能性。

ReFT方法的一个关键创新是利用低秩矩阵来实现对表征的高效干预。这种方法的两个实例化——LoReFT(Low-rank Linear Subspace ReFT)和DiReFT(一种LoReFT的简化版本)——展示了如何通过干预隐藏层表征的低维线性子空间来调整模型行为。

  • LoReFT:这种方法通过学习一个低秩投影矩阵来干预隐藏表征,使其在保持参数效率的同时,能够对模型的预测行为产生显著影响。LoReFT的干预函数利用了分布式对齐搜索(DAS)技术来找到最能提升预期输出概率的子空间。

  • DiReFT:作为LoReFT的一个变体,DiReFT在牺牲一些性能的同时,通过去除正交性约束和差异操作来提高训练效率。这种简化使得DiReFT在计算上更加高效,同时仍然保持了较低的参数开销。

ReFT方法不仅限于上述两种低秩实例化,它实际上定义了一类更广泛的表征干预方法。这些方法通过修改Transformer模型中的隐藏表征来实现对模型行为的控制,而无需改变模型的原始权重。

  • 一般概念:ReFT方法通过定义一个干预函数,该函数在模型的前向传播过程中修改特定的隐藏表征。干预可以针对模型的任何层和任何输入位置,提供了极大的灵活性。

  • 应用多样性:ReFT方法的一般性使其能够应用于各种不同的NLP任务,包括但不限于文本生成、分类和问答系统。通过精心设计的干预策略,ReFT能够针对特定任务优化模型的表征能力,从而提高性能。

ReFT方法的提出,不仅为语言模型的微调提供了一种新的视角,也为模型的可解释性和可控性研究开辟了新的道路。随着进一步的研究和开发,ReFT有望成为提高语言模型性能和应用范围的关键技术。

实验

在实验之前,研究者们首先需要确定ReFT方法的超参数配置。这包括决定干预的层数、干预在序列中的位置、干预的维度(即低秩矩阵的秩),以及其他神经网络训练的超参数,如学习率、批次大小和优化器等。他们采用了一个简化的超参数搜索空间,并通过在开发集上的性能来选择最佳的超参数组合。这一过程确保了ReFT方法能够在不同的任务和数据集上实现良好的泛化能力。

常识推理是评估语言模型理解和应用日常知识的能力。研究者们在包括BoolQ、PIQA、SIQA、HellaSwag、WinoGrande、ARC和OBQA在内的多个常识推理数据集上测试了ReFT方法。实验结果表明,LoReFT和DiReFT在这些任务上均展现出了卓越的性能,特别是在参数数量远少于其他PEFT方法的情况下,仍然能够达到或超越当前最佳性能。

不同大小的LLaMA模型(7B和13B表示参数量,B代表十亿)和Llama-2 7B、Llama-3 8B模型在现有PEFT方法上的准确率比较。包括不同任务(如常识推理、算术推理等)上的准确率,并与LoReFT方法进行对比

算术推理任务要求模型解决数学问题并生成解题步骤。研究者们在AQuA、GSM8K、MAWPS和SVAMP等数据集上进行了实验。尽管ReFT方法在这类任务上的表现不如某些PEFT方法,但它们在模型规模较大时仍然能够提供竞争力的性能,显示出ReFT方法在处理复杂推理任务上的潜力。

四个算术推理数据集上,LLaMA-1 7B和13B模型使用不同PEFT方法的准确率对比。用来评估LoReFT方法在算术推理任务上的有效性

指令遵循任务测试模型根据给定指令生成响应的能力。研究者们使用了Ultrafeedback数据集,并与全参数微调、LoRA和RED等方法进行了比较。LoReFT在参数数量相同的情况下,不仅在性能上超越了其他方法,而且在减少参数数量或使用较少训练数据时仍然保持了较高的性能。

使用Alpaca-Eval v1.0对Llama-2 7B模型进行指令调整(instruction-tuning)后的评估结果

自然语言理解是NLP中的核心任务之一,涉及多个子领域,如情感分析、自然语言推理等。研究者们在GLUE基准测试中评估了ReFT方法,该基准测试包括了多个不同的自然语言理解任务。实验结果显示,LoReFT在这些任务上与现有的PEFT方法相比具有竞争力,证明了ReFT方法在小规模语言模型上的有效性。

在GLUE基准测试中,RoBERTa基础版和大版模型使用不同PEFT方法的准确率对比

通过一系列实验证明了ReFT方法不仅在常识推理、算术推理、指令遵循和自然语言理解等任务上取得了优异的性能,而且相比于传统的参数高效微调方法,ReFT展现出了更高的参数效率和更好的泛化能力。

尽管ReFT方法取得了令人鼓舞的成果,但也存在一些问题,如,ReFT方法的超参数选择对最终性能有显著影响,而找到最优的超参数组合可能需要大量的实验和调整。尽管ReFT在多个任务上表现良好,但其在某些特定类型的任务上可能不如其他专门设计的PEFT方法。ReFT方法的干预机制虽然提供了对模型行为的控制,但这种控制的精确性和可解释性仍需进一步研究和改进。

未来的工作将集中在以下几个方面:一是自动化超参数调优过程,以减少手动调整的工作量并提高效率;二是探索ReFT在更多类型的任务和不同规模的模型上的应用,以验证其泛化能力;三是深入研究ReFT干预的可解释性,以及如何更好地理解和利用这些干预来改进模型的决策过程。

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

GitHub 地址:https://github.com/stanfordnlp/pyreft

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ONLYOFFICE 文档 8.1 现已发布:功能全面的 PDF 编辑器、幻灯片版式等等

最新版本的 ONLYOFFICE 在线编辑器已经发布,整个套件带来了30多个新功能和432个 bug 修复。阅读本文了解全部更新。 什么是 ONLYOFFICE 文档 ONLYOFFICE 文档是一套功能强大的文档编辑器,支持编辑处理文本文档、电子表格、演示文稿、可填写的表单、PDF&…

LVS(Linux Virtual Server)集群,(1)NAT模式

Cluster:集群,为了解决某个特定问题将多台计算机组合起来形成的单个系统。 集群分为三种类型: LB(Load Balancing),负载均衡,多个主机组成,每个主机只承担一部分访问请求 HA(High Availiablity)&#xf…

深入浅出Git原理与Gitflow流程

1 Git原理 版本控制系统在软件开发和团队协作中扮演着至关重要的角色。它们帮助开发人员跟踪和管理代码的变化,协调多人同时编辑同一代码库,回溯历史版本,并解决代码冲突等问题。Git作为当今最流行的分布式版本控制系统,为开发人…

“网安之夜”院校领导座谈会举行:共谋实战网络安全人才产教融合培养之道

6月15日,由网安世纪科技有限公司主办的“网安之夜”院校领导座谈会在河北省唐山市圆满举行。本次活动旨在汇聚教育界与产业界智慧,共同构建紧密协作机制,搭建产教融合、校企合作平台,探索网络安全人才培养新模式,培养具…

植物神经紊乱,如何寻回内心的宁静

🌸在这个快节奏的时代,许多朋友都可能遭遇植物神经紊乱的困扰,它如同一个隐形的小恶魔,悄悄偷走我们的安宁与快乐。那么,面对这样的挑战,我们又该如何放松心情,寻回那份久违的宁静呢&#xff1f…

Pytorch构建vgg16模型

VGG-16 1. 导入工具包 import torch.optim as optim import torch import torch.nn as nn import torch.utils.data import torchvision.transforms as transforms import torchvision.datasets as datasets from torch.utils.data import DataLoader import torch.optim.lr_…

git中的多人协作开发场景

✨前言✨ 📘 博客主页:to Keep博客主页 🙆欢迎关注,👍点赞,📝留言评论 ⏳首发时间:2024年6月20日 📨 博主码云地址:博主码云地址 📕参考书籍&…

如何使用SQL工具批量执行SQL文件?(以MySQL和SQLynx为例)

目录 1. 配置MySQL数据源 2. 打开 SQL 文件 3. 执行 SQL 文件 4. 检查执行结果 5. SQL文件示例 6. 注意事项 7. 总结 在现代数据库管理和操作中,批量执行 SQL 文件在 MySQL 中显现出其巨大的价值和不可替代的作用。通过将多个 SQL 语句集成在一个文件中进行批…

粉尘螨虫满天飞?教你一招解决,推荐好用的空气净化器品牌

“家中无尘,心中无事”,这是每个家庭的理想状态。然而,灰尘和螨虫无处不在,即使每天打扫,也难以彻底消除。传统的清洁手段,比如扫地和擦灰,并不能从根本上解决问题。这时候,除尘空气…

一款Wordpress网站导航主题,带昼夜切换功能

Wordpress网站导航主题,带昼夜切换功能。 基于wordpress,部署和使用都比较方便。 界面比较简洁大方。后台管理功能也比较全面,值得一试。 这款主题界面、功能都非常简洁。 作者把这款定位为简约导航主题,所以这款wordpress导航…

如何获得一个Oracle 23ai数据库(vagrant box)

准确的说,是Oracle 23ai Free Developer版,因为企业版目前只在云上(OCI和Azure)和ECC上提供。 前面我博客介绍了3种方法: Virtual ApplianceRPM安装Docker 今天介绍最近新出的一种方法,也是我最为推荐的…

Python 基础:异常

目录 一、异常概念二、处理异常2.1 抛出异常2.2 使用 try-except 代码块2.3 使用 try-except-else 代码块2.4 静默失败 三、总结 遇到看不明白的地方,欢迎在评论中留言呐,一起讨论,一起进步! 本文参考:《Python编程&a…

记一次某单位的内网渗透测试

0x01 web打点 访问漏洞url:http://www.xx.xx.com进入某医疗系统 使用越权加文件上传拿到shell 0x02 内网渗透 192.168.xx.x 管理员 通过哥斯拉上线msf 上线后进行信息收集: 网卡信息、补丁信息、杀毒进程、用户在线情况、是否存在域、翻文件查找数据库密码、浏览器保存密码…

数据结构和算法之复杂度比较

数据结构和算法之复杂度比较 参考如下网址:https://www.bigocheatsheet.com/ 方便快速查询 1. 复杂度比较 2. 常见数据结构复杂度 3. 常见算法复杂度

强化学习和Q-Learning的综合研究

目录 一、说明 二、什么是强化学习? 三、监督学习、无监督学习和强化学习之间的区别。 四、强化学习中使用的术语。 五、强化学习中的智能体-环境交互:一个迷宫示例。 六、贝尔曼方程。 七、马尔可夫决策过程 (MDP) 八、马尔可夫决…

活动 | 华院计算受邀参加同心知联汇,走进“模速空间”

6月17日,由市知联会先导产业专委会、市知联会经济与金融专委会、市经信系统知联会、上海市人工智能行业协会主办,上海创智合力信息科技有限公司、上海大模型生态发展有限公司承办的同心知联汇,走进“模速空间”活动在上海大模型创新生态社区成…

SQLite 3 优化批量数据存储操作---事务transaction机制

0、事务操作 事务的目的是为了保证数据的一致性和完整性。 事务(Transaction)具有以下四个标准属性,通常根据首字母缩写为 ACID: 原子性(Atomicity):确保工作单位内的所有操作都成功完成&…

wps要会员才能把pdf分开,这不纯属智商税吗

我有一个文档 然后 我给你们写好了一个代码 from PyPDF2 import PdfReader, PdfWriterdef split_pdf(file_path, ranges, output_names):# Open the input PDF filewith open(file_path, rb) as pdf_file:reader = PdfReader(pdf_file)total_pages = len(reader.pages)if len…

Day14—基于Langchain-chatchat搭建本地智能

一、基于Langchain-chatchat搭建本地智能 知识问答系统 1、项目介绍 基于 ChatGLM 等大语言模型与 Langchain 等应用框架实现,开一种利用 langchain 思想实现的基于本地知识库的问答应用,目标期望建立一套对中文场景与开源模型支持友好、可离线运行的知…

vue3 antdv Select 实现输入关键词,通过服务器去查询数据,并显示到表格中的实现思路。

实现思路: 1)输入关键词,通过Select的查询事件(onSearch)来到服务器查询数据。 2)根据查询到的数据显示到表格中,然后通过表格的(cellClickEvent)事件来选择相关的用户…