写点什么

谷歌开源 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:003920

评论

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

【活动预告】Apache ShardingSphere 5.0.0 全新 Database Plus 架构演进

SphereEx

开源社区 ShardingSphere TiDB SphereEx 线下沙龙

前端开发规范之代码规范

@零度

大前端

《致命愿望》:与魔鬼签订契约

爱奇艺技术产品团队

使用kubeadm快速搭建K8s环境

walker12138

高可用是什么意思啊?行云管家支持高可用部署吗?

行云管家

高可用 服务器 IT运维

【活动预告】下一代数据平台走向何方?

SphereEx

大数据 大前端 ShardingSphere SphereEx 线上沙龙

Apache APISIX request_uri 变量控制不当,存在路径穿透风险公告(CVE-2021-43557)

API7.ai 技术团队

Apache 云原生 漏洞修复 Apache APISIX ingress-controller

基于CarbonData的电信时空大数据探索

华为云开发者联盟

大数据 网络 电信 CarbonData 无线通信网络

基于内存通信的gRPC调用

Robert Lu

gRPC Go 语言

10年阿里人告诉你:秒杀系统设计就该这么玩

热爱java的分享家

Java 架构 程序人生 编程语言 经验分享

Kvrocks 发布 Exporter 工具

Kvrocks

redis Prometheus kvrocks

ETL工具算法构建企业级数据仓库五步法

大数据技术指南

11月日更

CWE4.6标准中加入 OWASP 2021 TOP10

华为云开发者联盟

漏洞 cwe 软件安全 CWE4.6 OWASP

模块四 千万级学生管理系统的考试试卷存储方案

加速云原生应用落地,焱融 YRCloudFile 与天翼云完成兼容性认证

焱融科技

云计算 分布式 云原生 高性能 文件存储

Tapdata “设擂招贤”携手 LeetCode 举办全球极客技术竞赛

tapdata

深入理解 volatile 关键字

编程江湖

volatile JAVA开发

Java开发基础之开发环境搭建

@零度

JAVA开发

「Oracle」Oracle 数据库基本概念

恒生LIGHT云社区

数据库 oracle

如何与 Dapr 集成打造 Apache APISIX 网关控制器

API7.ai 技术团队

云原生 网关 dapr Apache APISIX ingress-controller

Linux学习有用吗?《Linux一学就会》教你如何学会Linux

侠盗安全

Linux 运维 云计算架构师 linux电子书

【干货】大数据开发之Spark总结

@零度

大数据 spark

Apache Tomcat 7.x安全加固指南

喀拉峻

网络安全 安全 信息安全

架构实战营模块 9 作业指导

华仔

架构实战营

破解数据匮乏现状:纵向联邦学习场景下的逻辑回归(LR)

华为云开发者联盟

联邦学习 数据隐私 数据安全 逻辑回归 纵向联邦学习

本周话题:元宇宙到底是不是未来?

InfoQ写作社区官方

话题讨论 元宇宙

云小课|打造企业数据“高内聚,低耦合”--试试GaussDB(DWS)逻辑集群,实现数据物理隔离

华为云开发者联盟

EI企业智能 数据仓库服务GaussDB(DWS) 逻辑集群

HBase 的协处理器详细剖析

五分钟学大数据

11月日更

龙智携手Atlassian亮相GOPS全球运维大会,助力企业高效开发与运维

龙智—DevSecOps解决方案

运维 运维大会 GOPS大会

微信 ClickHouse 实时数仓的最佳实践

科技热闻

Java 项目中使用 Resilience4j 框架实现异步超时处理

码语者

Java TimeLimiter 超时管理

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