Tuning Language Models by Proxy

1、写作动机:

调整大语言模型已经变得越来越耗资源,或者在模型权重是私有的情况下是不可能的。作者引入了代理微调,这是一种轻量级的解码时算法,它在黑盒 大语言模型 之上运行,以达到直接微调模型的结果,但只访问其在输出词汇上的预测。

2、主要贡献:

微调一个较小的语言模型,然后应用小型微调和未微调语言模型之间预测的差异,以将基础模型的原始预测朝向调整方向移动,同时保留更大规模预训练的好处。这个工作展示了使用小型调整语言模型通过解码时指导高效定制大型、潜在专有语言模型的前景。

3、方法:

假设有一个大型预训练模型 M,我们希望对其进行微调。对于输入 M 的任意输入,我们假设我们可以访问整个词汇表的输出 logit。我们假设存在一个小的预训练模型 M−,将直接微调它以获得 M+。请注意,M− 不需要与 M 属于同一模型系列;我们只需要它们共享相同的词汇表。代理微调通过为每个token添加一个 logit 偏移量来操作 M 关于下一个词的输出分布,该偏移量由 M− 和 M+ 的 logits 之间的差异确定。这是解码时专家的应用,其中 M+ 充当"专家"(其 logits 被加性组合),而 M− 则充当"反专家"(其 logits 被负组合),与基础模型 M 相结合。形式上,在每个时间步 t,我们将基础模型 M、专家 M+ 和反专家 M− 在提示 x<t 下进行条件设置,以获得 logit 分数(即,语言建模头部在整个词汇表上的最终未归一化分数)sM、sM+ 和 sM−。代理微调模型M~ 的概率分布由以下公式给出:

请注意,在概率空间中,我们有以下关系:

4、实验:

4.1指令微调实验:

  • GSM是一个算术单词问题数据集,其中正确答案是一个数字。将模型响应中的最后一个数字提取为最终答案。

  • AlpacaFarm)包含开放式指令,模型根据其响应与 TEXT-DAVINCI-003 的响应的胜率进行评估,由 GPT-4 判断。

  • Toxigen(通过一系列针对人口统计群体的令人厌恶的陈述来提示模型;正确行为是不生成更多的令人厌恶的文本使用基于 ROBERTA-LARGE 的毒性分类器对输出进行评判。

  • TruthfulQA包含常常误导性的问题,在两个设置下进行评估:多项选择(MC)和开放式问题回答。

4.2代码相关实验:

CodexEval:要求模型在给定函数签名和描述的情况下编写一个 Python 函数。

DS-1000:包含来自 StackOverflow 的 Python 编程问题。

4.3任务微调实验:

TriviaQA :一个包含问题和短片段作为参考答案的题库。

GSM:数学问题。

相关推荐
飞哥数智坊6 分钟前
一只虾到多只虾:先聊聊我为什么要“拆虾”
人工智能
飞哥数智坊13 分钟前
架构图 SKILL 封装好了,顺便做了虾的适配
人工智能
冬奇Lab19 分钟前
Code Agent 解剖(16):AgentTeams——为什么一个 agent 不够用?
人工智能
东风破_27 分钟前
聊天记录越来越长怎么办?从消息数量截断到 Token 截断
人工智能
冬奇Lab28 分钟前
开源项目第204期:LoopX — 长周期 Agent 控制平面,跑在 Codex/Claude Code 之上的状态管理层
人工智能·开源
ZGIAI1 小时前
旧模型下线前,客服 Agent 怎么迁移
人工智能·架构
东风破_1 小时前
程序重启后,AI 为什么把你忘了?从 InMemory 到持久化 Memory
人工智能
ZGIAI1 小时前
客服知识库更新后,怎么批量验收
人工智能·架构
Asize2 小时前
AI 协作开发新范式:我用 SDD 做了个排版 npm 包
前端·人工智能
IT_陈寒4 小时前
用了Proxy才发现以前的JavaScript白写了
前端·人工智能·后端