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

相关推荐
武子康几秒前
让不同大模型共享一个 Agent:Pi 如何统一 Provider 与 Context Handoff
人工智能
秦先生在广东3 分钟前
`agent-skills`:用工程纪律驯化 AI 编程 Agent 的结构化实践
人工智能
月光船幽幽8 分钟前
门控函数SHS阈值与调制机制解析
人工智能·python·算法
秦先生在广东12 分钟前
Agency-Agents:用结构化「职业操作系统」替代临时 Prompt 的 AI 角色仓库
人工智能
王烁鑫23 分钟前
从 0 到 1 做实时语音 Agent:先解决“会不会误操作”,再谈自主行动
人工智能
lucas_AI24 分钟前
Muse Glimmer 30B:Meta 难得给的真开源,强在哪、虚在哪
人工智能·算法
字节跳动数据库24 分钟前
火山引擎 RDS MySQL 向量索引:把高性能向量检索带到 MySQL 上
人工智能·后端·mysql
一心只读圣贤书24 分钟前
AI 驱动前端测试实战:从需求文档到 Playwright 自动化用例
前端·人工智能
小白的后端世界26 分钟前
LangChain 模型初始化参数详解:从基础配置到企业级实践
java·人工智能·langchain
jimidou26 分钟前
第 0 篇:Agent 世界观——先搞懂 LLM、Context、Tool 与 Agent 到底是什么
人工智能