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:数学问题。

相关推荐
冬奇Lab1 小时前
Workflow 系列(02):设计范式——四层架构、三种 Context 传递模式与确认门设计
人工智能·agent·工作流引擎
冬奇Lab1 小时前
每日一个开源项目(第145篇):Trellis - 把项目记忆、规范和任务上下文持久化进代码仓库
人工智能·开源·资讯
有道AI情报局1 小时前
Harness即产品
人工智能·agent
罗西的思考2 小时前
机器人 / 强化学习】HIL-SERL:人类在环驱动的具身智能进化框架
人工智能·算法·机器学习
IT_陈寒4 小时前
SpringBoot自动配置的坑,我的API突然就404了
前端·人工智能·后端
笃行3504 小时前
从零到上线:用 EdgeOne Makers + CodeBuddy 搭一个「对账核对员」AI Agent
人工智能
用户6856326208694 小时前
Claude Code 乱猜字段名?我给它写了一个"数据库查询约束 Skill"
人工智能
你_好4 小时前
# 给你的产品嵌入一个「会操作界面的 AI 助手」
人工智能
ShallWeL4 小时前
【机器学习】(3)—— 线性回归:梯度下降
人工智能·机器学习
陈广亮4 小时前
Prompt、Context、Harness、Agentic:LLM 应用四层嵌套结构,搞清自己卡在哪一层
人工智能