金融科技复合型人才缺口持续扩大,企业如何实现内部人才“活水”? 了解详情
写点什么

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

评论

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

超越对齐-企业数字化转型之路

涛哥 数字产品和业务架构

企业架构 数字化转型

AI简报-GAN和CGAN

AIWeker

深度学习 GAN AI简报 7月月更

解读《深入理解计算机系统(CSAPP)》第9章虚拟内存

小明Java问道之路

操作系统 csapp 虚拟内存 7月月更 虚拟操作系统

小程序表单-2

小恺

7月月更

Docsify 配合 Github Pages 搭建一个自己的云笔记

宁在春

GitHub Pages docsify 7月月更

金融行业的双模核心

穿过生命散发芬芳

7月月更 双模核心

王者荣耀商城异地多活架构设计

极客土豆

JUnit 5简明教程

okokabcd

Java junit5

【愚公系列】2022年07月 Java教学课程 03-Hello World的运行

愚公搬代码

7月月更

AWS CloudTrail

冯亮

云计算 DevOps AWS

面试前我做了这三件事,结果居然直接....

KEY.L

Istio的流量管理API

阿泽🧸

7月月更 Istio流量管理

玩转Liunx系统,看这篇文章就够了(一)

Java学术趴

7月月更

研发效能生态完整图谱&DevOps工具选型必看

laofo

DevOps cicd 研发效能 持续交付 工程效率

解构陌生人社交,「融云游戏房」上线

融云 RongCloud

Hibernate 元数据模型(MetaModel)提示类没有找到错误

HoneyMoose

阿里云架构师朱波:云上高性能计算加速药物研发

阿里云弹性计算

高性能计算 生命科学 EHPC

赛博女娲,怎么造数字人?

白洞计划

成都 Meetup|分布式数据库 企业降本增效新引擎

OceanBase 数据库

数据库 程序员 oceanbase 分布式, 降本增效

开发前的开胃小菜之前端开发规范🍖🍖

猪痞恶霸

前端 7月月更

中车*IoTDB | 构建城市轨道交通车辆智能运维系统,应对日百万人次客流量

Apache IoTDB

上海电信发布公共算力服务,联合华为等伙伴签订“智能算力应用联合创新中心”行动计划

Geek_2d6073

zookeeper-安装zookeeper与znode说明

zarmnosaj

7月月更

jQuery(二)

Jason199

jquery 选择器 7月月更

架构师训练营第八期-刘新国

liu

长安链研究笔记-IOC容器

长安链

新星计划Day6【数据结构与算法】 链表Part2

京与旧铺

7月月更

Java类的特性之内部类

未见花闻

7月月更

静态广播发送流程分析

北洋

android 7月月更

浅入浅出mybatis(三)

ES_her0

7月月更

Lombok 使用在 IDEA 中进行 JUnit 测试的时候提示 variable log 错误

HoneyMoose

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