NeurIPS 2024 | 小模型引导大模型生成,无需微调实现弱到强泛化!

NeurIPS 2024 | 小模型引导大模型生成,无需微调实现弱到强泛化!

NeurIPS 2024 | 小模型引导大模型生成,无需微调实现弱到强泛化!

原创 周展辉  2024年11月04日 21:07 北京

www.zeeklog.com  - NeurIPS 2024 | 小模型引导大模型生成,无需微调实现弱到强泛化!

©PaperWeekly 原创 · 作者 | 周展辉

单位 | 上海人工智能实验室

研究方向 | 语言模型对齐

大语言模型通常需要通过微调来符合人类的偏好,但直接微调这些大模型需要大量的资源,并不容易。

在本研究中,我们提出“弱到强搜索”(weak-to-strong search)方法,将大模型的对齐过程转变为推理阶段的一种贪婪搜索方式:我们首先微调一个小模型,然后在大模型解码过程中,引导大模型去最大化微调前后小模型的输出对数概率差,从而实现类似于微调大模型的效果

这种方法具有以下两大作用:

1)作为一种计算高效的模型扩展策略,通过微调小模型来对大模型进行推理阶段的引导,避免直接对大型模型进行微调;

2)作为一种弱到强的泛化(weak-to-strong generalization)[1] 的实现方式,通过弱推理时引导来提高强模型的性能。

在实验中,我们展示了“弱到强搜索”(weak-to-strong search)在不同任务中的有效性。此方法适用于提升白盒以及黑盒大模型的性能(如 gpt3.5),而无需额外训练;且此方法在情感控制生成,摘要生成,以及对话任务上都展现出出色的效果。

www.zeeklog.com  - NeurIPS 2024 | 小模型引导大模型生成,无需微调实现弱到强泛化!

论文标题:

Weak-to-Strong Search: Align Large Language Models via Searching over Small Language Models

论文链接:

https://arxiv.org/abs/2405.19262

Github地址:

https://github.com/ZHZisZZ/weak-to-strong-search

www.zeeklog.com  - NeurIPS 2024 | 小模型引导大模型生成,无需微调实现弱到强泛化!

▲ 图1:“弱到强搜索”(weak-to-strong search)通过开源小模型(zephyr-7b-beta 以及其微调前的版本 mistral-7b-sft-beta)的弱推理时引导,提高了各种大模型的在标准问答任务上(AlpacaEval 2.0)的表现。

www.zeeklog.com  - NeurIPS 2024 | 小模型引导大模型生成,无需微调实现弱到强泛化!

背景

1.1 语言模型的对齐

语言模型的对齐目标通常被形式化为以下表达式:

www.zeeklog.com  - NeurIPS 2024 | 小模型引导大模型生成,无需微调实现弱到强泛化!

其中, 是提问分布, 是语言模型的回复, 奖励语言模型与人类价值对齐, 限制微调后的模型  与微调前模型  的分布差异。

对齐算法主要分为两大类:

(i) 基于搜索的算法,在推理过程中通过基于图的搜索来优化公式(1);

(ii) 基于学习的算法,通过梯度下降来优化公式(1),目标是得到一个参数化的最优语言模型。我们在本工作提出的算法属于基于搜索的算法

1.2 语言模型和奖励函数的二象性

公式(1)的解析解可以通过构造以下拉格朗日函数获得:

www.zeeklog.com  - NeurIPS 2024 | 小模型引导大模型生成,无需微调实现弱到强泛化!

此目标函数的有一个众所周知的闭式解,表达了奖励函数  和最优语言模型  之间的二象性:

www.zeeklog.com  - NeurIPS 2024 | 小模型引导大模型生成,无需微调实现弱到强泛化!

其中  是配分函数。值得注意的是,这个映射关系不仅体现了语言模型和奖励函数的二象性,同时也蕴含一个重要的实际意义:我们可以使用微调和未微调的语言模型的输出差异来表示一个奖励函数。

方法:弱到强搜索(Weak-to-Strong Search)

在本节中,我们介绍了“弱到强搜索”(weak-to-strong search),这是一种基于搜索的算法,通过在微调和未微调小模型之间的对数概率差上进行搜索来对齐大型语言模型。

首先,我们讨论了如何使用语言模型来参数化偏好奖励函数,从而使得奖励最大化问题可以通过简单的贪婪搜索算法来求解(2.1 节)。接着,我们介绍了一种实用的束搜索方法——分块束搜索(Chunk-level Beam Search),适用于引导白盒和黑盒大型语言模型(2.2 节)。

2.1 语言模型同时作为奖励和价值函数

基于搜索的对齐算法面临的一个挑战是偏好奖励信号的稀疏性。基于Bradley-Terry模型的偏好奖励函数  只有在模型生成完整回复  时才会发出最终奖励。没有任何中间奖励或提供中间指导的价值函数时,搜索算法往往会遇到困难。

然而,如果我们使用语言模型对该稀疏奖励函数进行参数化(公式(3)),则可以同时获得密集的奖励函数(2.1.1 节)和价值函数(2.1.2 节)。

2.1.1 语言模型作为奖励函数

www.zeeklog.com  - NeurIPS 2024 | 小模型引导大模型生成,无需微调实现弱到强泛化!

为了获得一个密集的奖励函数,我们可以利用稀疏的偏好奖励函数与密集的语言模型概率之间的二象性(1.2 节)。通过在语言模型下显式分解完整回复 的对数概率,我们为公式(3)得到一种“奖励之和”形式的表达:

www.zeeklog.com  - NeurIPS 2024 | 小模型引导大模型生成,无需微调实现弱到强泛化!

结合公式(1)和公式(4),我们用一个逐词元的(per-token)奖励函数重写了原始目标:

www.zeeklog.com  - NeurIPS 2024 | 小模型引导大模型生成,无需微调实现弱到强泛化!

其中省略了  和 ,因为它们不影响最优解。

需要注意的是,用于参数化奖励函数的参考模型()和用于约束推理时搜索空间的参考模型()可以是不同的。在实际应用中,解耦参考模型非常有用,因为这允许使用一个微调过的和一个未微调的语言模型对(即 )来引导任意基础语言模型()的解码,而无需重新训练。

2.1.2 语言模型作为价值函数

在此稠密奖励的引导下,我们便能复用常用的贪婪搜索例如 beam search 去优化目标(5)。但在稠密的奖励下进行贪婪搜索也存在导致短视的决策的风险 [2],因为贪婪搜索往往不会充分考虑未来的奖励,而是优先最大化当下的累计奖励。

虽然这种批评对大多数马尔可夫决策过程是正确,但基于词元级别的马尔科夫决策过程(token-level MDP)[3],生成过程中的累积奖励实际上是长期价值的可靠指示器,从而使得束搜索不那么短视

www.zeeklog.com  - NeurIPS 2024 | 小模型引导大模型生成,无需微调实现弱到强泛化!

换句话说,词元级别的奖励函数之和可以视作一个价值函数  提供长远的生成指导。在下一小节,我们将基于此想法,介绍一个实际的推理算法,将 视作价值函数来引导模型生成。

注: 表示一个完整的回复,而  既可以表示一个完整回复也可以表示一个不完整的回复。

2.2 分块束搜索(Chunk-level Beam Search)

www.zeeklog.com  - NeurIPS 2024 | 小模型引导大模型生成,无需微调实现弱到强泛化!

▲ 图2:分块束搜索示意图,参数 。

在分析了使用贪婪搜索算法(如束搜索)优化目标(5)的可行性后,我们提出了一种实用的束搜索变体。支撑我们方法的核心算法——分块束搜索(Chunk-level Beam Search,简称 CBS)在图 2 中进行了说明。

关键点在于我们的束搜索在块级别上操作。搜索从提问开始,并始终保持一个假设集 ,其中包含  个状态。

对于  中的每个状态 ,CBS 从  中采样  个长度为  的后续块 。这产生了  个后继状态。在这些后继状态中,仅保留部分回报  最高的前  个后继状态,并进一步扩展。

最终,选择中间回报最高的终端状态 ,并从中提取完整的回复 。

2.3 应用:模型扩展与弱到强的泛化

CBS 的最实际应用是在微调和未微调模型(、)比要引导的模型  更小时:

首先,这种情况作为一种模型扩展策略,直接对小模型进行微调 ,从而引导大模型的解码,实现与直接微调大模型相似的效果。

其次,由于小模型(、)通常比要引导的大模型  弱,这种情况也体现了从弱到强的泛化,通过仅在测试时提供弱的引导来增强强模型的性能。我们将 CBS 的这种应用称为“弱到强搜索”(weak-to-strong search),这是我们研究的重点。

www.zeeklog.com  - NeurIPS 2024 | 小模型引导大模型生成,无需微调实现弱到强泛化!

实验

在本节中,我们通过实验评估“弱到强搜索”(weak-to-strong search),在仅使用小语言模型的推理时引导下,对齐大型语言模型的能力。

首先,在控制情感生成和摘要生成任务中,我们微调 gpt2 以建模每个任务中所需的行为,然后使用微调和未微调的 gpt2 来引导不同规模的大模型(图3)。

接着,在更具挑战的指令跟随基准测试 AlpacaEval 2.0 中,我们不再微调小模型,而是直接使用现成的开源 7B 模型及其未微调版本来引导一系列大型模型,包括开源的 70B 模型和一个黑盒模型(图 4)。

www.zeeklog.com  - NeurIPS 2024 | 小模型引导大模型生成,无需微调实现弱到强泛化!

▲ 图3:控制情感生成任务(左)和摘要生成任务(右)。我们用微调前后的124M参数的gpt2模型引导其他更大的模型进行生成;弱到强搜索(Weak-to-Strong Search)超越了其他推理时对齐基线,实现了近似直接微调(Directly tuned)的效果。

www.zeeklog.com  - NeurIPS 2024 | 小模型引导大模型生成,无需微调实现弱到强泛化!

▲ 图4:问答任务。我们用现成的开源 7B 模型及其未微调的版本(左:zephyr及其微调前版本;右:tulu及其微调前版本)以引导其他更大或更强的模型进行生成;弱到强搜索(Weak-to-Strong Search)超越了其他推理时对齐基线,并展现了稳定的弱到强泛化:虽然被引导的模型本身(蓝色柱状图)比提供引导的模型强(加粗虚线),我们的方法依旧能稳定提升强模型的性能。

www.zeeklog.com  - NeurIPS 2024 | 小模型引导大模型生成,无需微调实现弱到强泛化!

结论

我们提出了“弱到强搜索”,一种在保持大型语言模型冻结的情况下,将大模型的对齐过程转变为在小模型引导下的推理阶段的一种贪婪搜索方式。

这种方法提供了一种计算高效的模型扩展策略,避免了直接微调大型模型的复杂性,同时体现了“弱到强的泛化”,通过仅在测试时提供弱引导使强模型更强。实验证明,该方法在控制情感生成、摘要生成和指令跟随任务中是有效的。

www.zeeklog.com  - NeurIPS 2024 | 小模型引导大模型生成,无需微调实现弱到强泛化!

参考文献

www.zeeklog.com  - NeurIPS 2024 | 小模型引导大模型生成,无需微调实现弱到强泛化!

[1] Burns, Collin, et al. "Weak-to-strong generalization: Eliciting strong capabilities with weak supervision." arXiv preprint arXiv:2312.09390 (2023).

[2] Janner, Michael, Qiyang Li, and Sergey Levine. "Offline reinforcement learning as one big sequence modeling problem." Advances in neural information processing systems 34 (2021): 1273-1286.

[3] Rafailov, Rafael, et al. "From $r$ to $Q^*$: Your Language Model is Secretly a Q-Function." arXiv preprint arXiv:2404.12358 (2024).

Read more

60个“特征工程”计算函数(Python代码)

60个“特征工程”计算函数(Python代码)

转自:coggle数据科学 近期一些朋友询问我关于如何做特征工程的问题,有没有什么适合初学者的有效操作。 特征工程的问题往往需要具体问题具体分析,当然也有一些暴力的策略,可以在竞赛初赛前期可以带来较大提升,而很多竞赛往往依赖这些信息就可以拿到非常好的效果,剩余的则需要结合业务逻辑以及很多其他的技巧,此处我们将平时用得最多的聚合操作罗列在下方。 最近刚好看到一篇文章汇总了非常多的聚合函数,就摘录在下方,供许多初入竞赛的朋友参考。 聚合特征汇总 pandas自带的聚合函数 * 其它重要聚合函数 其它重要聚合函数&分类分别如下。 def median(x):     return np.median(x) def variation_coefficient(x):     mean = np.mean(x)     if mean != 0:         return np.std(x) / mean     else:         return np.nan def variance(x):     return

By Ne0inhk
90w,确实可以封神了!

90w,确实可以封神了!

要说24年一定最热的技术,还得是AIGC! 前段时间阿里旗下的开源项目,登上GitHub热榜! AI大热,如今ChatGPT的优异表现,必然会出现各种细分场景应用的工具软件,和大量岗位项目! 山雨欲来风满楼,强人工智能的出现,所有科技公司已经开始巨量扩招此领域的人才。算法的岗位,近三个月已经增长68%!这件事在HR届也是相当震撼的。 目前各行各业都不景气的市场,人工智能岗位却一直保持常青!甚至同属AI边缘岗都比其他岗薪资高40%! 与此同时,AI算法岗上岸也不简单,竞争激烈,好公司核心岗位不用说,谁都想去。 所以事实就是,想要上岸,门槛也逐渐变高,项目经历、实习经历都很重要,越早明白这个道理就越能提前建立起自己的优势。 但我在b站逛知识区的时候,经常看到有些同学,因为一些客观原因导致无法参加实习,这种情况下,如果你想提升背景,增加项目经历的话,可以试试这个《CV/NLP 算法工程师培养计划》。 目前已经有上千位同学通过该计划拿到offer了,最新一期学员就业薪资最高能拿到78K!年薪94w! 优势就是有BAT大厂讲师带领,手把手带做AI真实企业项目(包含CV、NLP等

By Ne0inhk
再见nohup!试试这个神器,Python Supervisor!

再见nohup!试试这个神器,Python Supervisor!

👇我的小册 45章教程:() ,原价299,限时特价2杯咖啡,满100人涨10元。 作者丨Ais137 https://juejin.cn/post/7354406980784373798 1. 概述 Supervisor 是一个 C/S 架构的进程监控与管理工具,本文主要介绍其基本用法和部分高级特性,用于解决部署持久化进程的稳定性问题。 2. 问题场景 在实际的工作中,往往会有部署持久化进程的需求,比如接口服务进程,又或者是消费者进程等。这类进程通常是作为后台进程持久化运行的。 一般的部署方法是通过 nohup cmd & 命令来部署。但是这种方式有个弊端是在某些情况下无法保证目标进程的稳定性运行,有的时候 nohup 运行的后台任务会因为未知原因中断,从而导致服务或者消费中断,进而影响项目的正常运行。 为了解决上述问题,通过引入 Supervisor 来部署持久化进程,提高系统运行的稳定性。 3. Supervisor 简介 Supervisor is a client/

By Ne0inhk
第一本给程序员看的AI Agent图书上市了!

第一本给程序员看的AI Agent图书上市了!

AI Agent火爆到什么程度? OpenAI创始人奥特曼预测,未来各行各业,每一个人都可以拥有一个AI Agent;比尔·盖茨在2023年层预言:AI Agent将彻底改变人机交互方式,并颠覆整个软件行业;吴恩达教授在AI Ascent 2024演讲中高赞:AI Agent是一个令人兴奋的趋势,所有从事AI开发的人都应该关注。而国内的各科技巨头也纷纷布局AI Agent平台,如:钉钉的AI PaaS、百度智能云千帆大模型平台等等。 Agent 是未来最重要的智能化工具。对于程序员来说,是时候将目光转向大模型的应用开发了,率先抢占AI的下一个风口AI Agent。 小异带来一本新书《大模型应用开发 动手做 AI Agent》,这本书由《GPT图解》的作者黄佳老师创作,从0到1手把手教你做AI Agent。现在下单享受5折特惠! ▼点击下方,即可5折起购书 有这样一本秘籍在手,程序员们这下放心了吧,让我们先来揭开 Agent 的神秘面纱。 AI Agent 面面观

By Ne0inhk