写点什么

谷歌开源 AI 微调方法: Distilling Step-by-Step

  • 2023-11-08
    北京
  • 本文字数:1379 字

    阅读完需:约 5 分钟

大小:681.48K时长:03:52
谷歌开源 AI 微调方法: Distilling Step-by-Step

华盛顿大学和谷歌研究中心的一个团队最近开源了 Distilling Step-by-Step(逐步蒸馏),一种用于微调规模较小的语言模型的技术。与标准微调相比,逐步蒸馏需要的训练数据更少,并且生成的模型更小,但模型性能却优于参数规模是它 700 倍的小样本提示大型语言模型 (LLM)。

 

虽然 LLM 一般可以在提示较少的情况下在多种任务上有良好的表现,但由于其内存和算力要求过高,模型的托管是比较有挑战的。规模较小的模型在微调后也可以有良好的表现,但这需要工程师手动创建针对具体任务优化的数据集。逐步蒸馏的关键思想是使用 LLM 自动生成一个小型微调数据集,其中的数据有一个输入和一个输出标签,以及选择这个输出标签的“理由”。微调过程会训练这个小模型来预测输出标签并生成对应的理由。在 NLP 基准上评估时,小型微调模型的性能优于 540B PaLM 模型,同时仅需要这个基准测试的全部微调数据的 80%。据谷歌称:


我们展示了,逐步蒸馏既减少了构建针对特定任务的较小模型所需的训练数据集规模,也减少了实现甚至超越小样本提示 LLM 的性能水平所需的模型大小。总的来说,逐步蒸馏提出了一种可以高效利用资源的范例,可以解决模型大小和所需训练数据之间的权衡问题。


研究表明,增加 LLM 中的参数规模可以提高其性能,目前最先进的模型(例如 PaLM)拥有数百亿个参数。然而,这些大型模型价格昂贵,且难以用于推理,因为它们需要多个并行连接的 GPU 才能把这么多参数保存在内存里。最近的研究开发出了规模稍小的模型(例如 Meta 的 Llama 2),其性能表现差不多,但参数少了一个数量级;然而,这些小一些的模型还是很庞大,需求的算力也很高。

 

要做出在特定任务上表现良好的小模型的一种方法,是使用针对具体任务收集的数据集来微调小规模语言模型。虽然这个数据集可能相对较小(大约有数千个示例),但其数据收集起来可能还是费时费钱。另一种选择是知识蒸馏,也就是使用大型模型作为较小模型的老师。 InfoQ 最近报道了谷歌开发的一项技术,使用 PaLM LLM 来创建训练数据集,最后生成的微调模型的性能可与规模大 10 倍的 LLM 相媲美。

 

逐步蒸馏确实需要微调数据集,但它减少了创建高性能模型所需的数据量。源数据集通过思维链提示输入 PaLM LLM,要求模型给出其答案的理由。输出结果是修正后的微调数据集,其中包含原始输入和答案以及理由。这个较小的目标模型经过微调来执行两项任务:回答原始问题并生成理由。

 

谷歌使用四个 NLP 基准测试评估了他们的技术,每个基准都包含一个微调数据集。他们使用逐步蒸馏来修正这些数据集,并使用了参数不到 1B 的微调 T5 模型。他们发现,这些模型在仅使用数据集的一小部分数据的情况下,性能就比基线微调模型要好;在某些情况下只要 12.5% 的数据就有这样的表现。他们还发现,他们的 770M 参数模型在 ANLI 基准测试中的性能优于大它 700 倍的 540B 参数 PaLM,同时只需要 80% 的微调数据集数据。

 

在 X(以前的 Twitter)上关于这项工作的讨论中,人工智能企业家 Otto von Zastrow 写道:


这些结果非常厉害。我会把这种办法叫做合成数据生成,而不是蒸馏,我真的很好奇,如果你根据每个示例问题的合成理由来训练原始的 LLM 会发生什么事情。


逐步蒸馏的源代码和训练数据集可在 GitHub 上获取。 Google Cloud 的 Vertex AI 平台还提供该算法的非公开预览。

 

原文链接

https://www.infoq.com/news/2023/10/google-distillation/

2023-11-08 08:004160

评论

发布
暂无评论
发现更多内容

用javascript分类刷leetcode24.其他类型题(图文视频讲解)

js2030code

JavaScript LeetCode

《迷你世界》亿级玩家都在用的游戏场景推荐系统长啥样?

华为云开发者联盟

数据库 后端 华为云 企业号 1 月 PK 榜

技术分享| 如何使用Prometheus实现系统进程监控

anyRTC开发者

Prometheus 服务器 运维开发 数据监控 系统进程监控

【深入浅出Sentinel原理及实战】「基础实战专题」零基础探索分析Sentinel控制台开发指南(3)

码界西柚

sentinel sentinel集群限流 1月日更

专注软件供应链安全,「安势信息」完成数千万元级别Pre-A轮融资

安势信息

开源安全 开源软件供应链 安势信息 Pre-A轮融资 开源软件供应链安全

从开源安全看汽车安全新挑战

安势信息

开源安全 汽车安全 SBOM 开源漏洞 清源CleanSource SCA

阿里云专有云重磅亮相中国信通院2022混合云技术发展论坛

云布道师

阿里云 混合云

邮箱中的Qt线程设计

统信软件

邮箱 邮箱系统

面向深蓝!西北工业大学团队借助昇腾AI,打造海面落水目标智能机载搜寻系统

极客天地

前端工程师leetcode算法面试必备-二叉树深度广度遍历

js2030code

JavaScript LeetCode

使用QuTrunk+AWS ParallelCluster3进行并行计算

启科量子开发者官方号

量子计算

如何看待PyTorch 2.0?

OneFlow

人工智能 深度学习 PyTorch

构建api gateway - 序与目录

八苦-瞿昙

Gateway API Gateway build api gateway

数字先锋| 公开!青海师大“接轨社会人才”培养秘籍!

天翼云开发者社区

云计算 大数据 云平台

深度解读天翼云紫金DPU,软硬协同造就极致性能!

天翼云开发者社区

2022 倒带 - NutUI

京东科技开发者

小程序 开源 开发 技术栈 企业号 1 月 PK 榜

“新范式”——2022创业邦100未来独角兽峰会暨创业邦年会圆满落幕

创业邦

直播|PostgreSQL 技术内幕(五)Greenplum-Interconnect模块

酷克数据HashData

postgresql

Polaris 和 dubbogo 全面对接,让微服务更简单

阿里巴巴云原生

阿里云 云原生 dubbogo

鲸品堂:2023你好

鲸品堂

技术人

互联网一线研发管理之殇

葱小白

互联网 管理 前端

2022 年,这 20+22 位共建者闪耀 StarRocks 社区

StarRocks

数据库 开源

什么是A/B实验,为什么要开A/B实验?

字节跳动数据平台

大数据 AB testing实战

前端工程师leetcode算法面试必备-二叉树的构造和遍历

js2030code

JavaScript LeetCode

开源共创,StarRocks 祝您 2023 年前 “兔” 无量!

StarRocks

数据库 开源

《SBOM: 提高软件供应链透明度的关键》重磅白皮书来袭

安势信息

SCA SBOM 清源CleanSource SCA 安势信息 开源软件供应链安全

袋鼠云产品功能更新报告03期丨产品体验全面优化,请查收!

袋鼠云数栈

大数据

重磅发布!《天翼云白皮书》+天翼云紫金DPU来了!

天翼云开发者社区

CDN 系统

手把手带你开发starter,点对点带你讲解原理

京东科技开发者

spring 开发 服务器 系统 企业号 1 月 PK 榜

音视频开发进阶|第七讲:分辨率与帧率·上篇

ZEGO即构

谷歌开源 AI 微调方法: Distilling Step-by-Step_生成式 AI_Anthony Alford_InfoQ精选文章