当前位置:首页 > 文章列表 > 科技周边 > 人工智能 > 30年历史回顾,Jeff Dean:我们整理了一份「稀疏专家模型」研究综述

30年历史回顾,Jeff Dean:我们整理了一份「稀疏专家模型」研究综述

来源:51CTO.COM 2023-04-16 06:08:49 0浏览 收藏

对于一个科技周边开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《30年历史回顾,Jeff Dean:我们整理了一份「稀疏专家模型」研究综述》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

稀疏专家模型是一个已有 30 年历史的概念,至今依然被广泛使用,是深度学习中的流行架构。此类架构包括混合专家系统(MoE)、Switch Transformer、路由网络、BASE 层等。稀疏专家模型已经在自然语言处理、计算机视觉和语音识别等多个领域展示出良好的性能。

近日,谷歌 AI 负责人 Jeff Dean 等人撰写了一篇稀疏专家模型的综述,回顾了稀疏专家模型的概念,提供了通用算法的基本描述,最后展望了未来的研究方向。


图片

论文地址:https://arxiv.org/pdf/2209.01667.pdf

通过增加计算预算、训练数据和模型大小,机器学习(尤其是自然语言)取得了显著进步。著名的里程碑语言模型包括 GPT-2(Radford et al., 2018)、BERT(Devlin et al., 2018)、T5(Raffel et al., 2019)、GPT-3(Brown et al., 2020)、Gopher (Rae et al., 2021)、Chinchilla (Hoffmann et al., 2022) 和 PaLM (Chowdhery et al., 2022)。

然而,最先进的模型现在需要数以千计的专用互连加速器,训练数周或数月的时间,因此这些模型的生产成本很高(Patterson et al., 2021)。随着机器学习系统规模的扩大,该领域寻求更有效的训练和服务范式。稀疏专家模型已成为一种很有前途的解决方案。

图片

稀疏专家模型(其中,混合专家系统(MoE)是最流行的变体)是一种特殊的神经网络,其中一组参数被划分为 “专家”,每个“专家” 具有唯一的权重。

在训练和推理期间,模型将输入样本给到特定的专家权重,让每个样本仅与网络参数的子集交互,这与将整个网络用于每个输入的常规方法不同。由于每个样本仅使用一小部分专家,因此相对于总模型来说计算量大幅减小了。

许多现代稀疏专家模型从 Shazeer et al. (2017)中汲取了灵感。该研究训练了当时最大的模型,并取得了最先进的语言建模和翻译结果。与 Transformer 语言模型结合使用时,稀疏专家模型的受欢迎程度进一步飙升(Lepikhin et al., 2020; Fedus et al., 2021)。虽然大部分工作都在自然语言处理方面,但稀疏专家模型也已成功用于各种领域,包括计算机视觉(Puigcerver et al., 2020)、语音识别(You et al., 2021)和多模态学习(Mustafa et al., 2022)。Clark et al. (2022) 研究了稀疏专家模型在不同模型大小和专家数量下的扩展特性。此外,许多基准测试的最新结果目前由 ST-MoE 等稀疏专家模型持有(Zoph et al., 2022)。随着研究和工程的进步,该领域正在迅速发展。

这篇综述论文将调查范围缩小到狭义深度学习时代(从 2012 年开始)的稀疏专家模型,回顾了最近的进展并讨论了有希望的未来途径。

稀疏专家模型

机器学习中的 MoE 概念可以追溯到至少 30 年前,在早期的概念中,专家们定义了一个完整的神经网络,MoE 类似于一种集成方法。

Eigen et al. (2013) 提出在抖动(jittered)的 MNIST 上使用堆叠层专家混合架构,这项工作为后来模型的高效实现奠定了基础。

Shazeer et al. (2017)提出在两个 LSTM 层之间插入一个 MoE 层,由此产生的稀疏模型在机器翻译中实现 SOTA 性能。然而,此方法虽然取得了成功,但后续研究就像冬眠了一样,停滞不前,大部分研究都转向了 Transformer。

2020 到 2021 年间,GShard 和 Switch Transformer 发布,两者都用专家层取代了 Transformer 中的前馈层。

尽管使用一层专家层的方法已经成为主导范式,但近两年的研究重新审视了专家模型作为完全独立模型的概念,以实现模块化和可组合性。

下图 2 是 Shazeer et al. (2017) 提出的原始 top-k 路由机制,这是许多后续工作的基础。该综述论文在第四章中详细讲解了路由算法的新进展。

图片

硬件

现代稀疏专家模型已与用于训练最大神经网络的分布式系统共同设计。

大型神经网络(Brown et al., 2020; Rae et al., 2021; Chowdhery et al., 2022)的研究表明神经网络已经远远超过单个加速器的内存容量,因此权重,激活函数,优化器变量等张量需要使用各种并行策略分片。

三种常见的并行方法包括:数据并行(复制模型权重,对数据进行分片)、张量模型并行(数据和权重张量跨设备分片)和 pipeline 并行(整个层或层组被跨设备分片),混合专家模型通常能够适应这些并行方案。

在MoE 模型的训练和部署方面,Jaszczur et al. (2021)将 Transformer 模型的所有层进行稀疏化,从而实现了 37 倍的推理加速;Kossmann et al. (2022)通过 RECOMPILE 库解决了静态专家批处理大小的约束问题。

除了数据并行、模型并行和专家并行外,Rajbhandari et al.(2022) 提出 DeepSpeed-MoE 库,以支持 ZeRO partitioning 和 ZeRO-Offload,实现了 10 倍推理提升和 SOTA 翻译性能,从而增加了模型在生产服务中的实用性。

稀疏专家模型的扩展特性

密集神经语言模型的交叉熵损失表现为一种关于模型参数计数、数据量和计算预算(Kaplan et al., 2020)的幂律。幂律系数后来在 Hoffmann et al. (2022)中得到纠正,这表明计算最优模型需要数据和参数扩展更紧密的平衡。相比之下,稀疏专家模型的早期研究以启发式方式扩展获得了强有力的实证结果,但没有仔细描述扩展定律。此外,一些工作强调了上游(例如预训练)和下游(例如微调)行为之间的差异(Fedus et al., 2021; Artetxe et al., 2021),进一步复杂化了对稀疏专家模型的理解。

上游扩展

稀疏专家模型在大型数据集上训练时表现出色。自然语言处理中的常见模式是先执行上游训练(例如预训练),然后对特定感兴趣的数据分布进行下游训练(例如微调)。在上游阶段,稀疏专家模型一直比密集对应模型产生更高的收益。Shazeer et al. (2017) 在 10 亿字语言建模基准(Chelba et al., 2013)上提出了关于模型参数和计算预算的扩展曲线,与密集版本相比取得了显著收益。Lepikhin et al. (2020)提出了模型扩展函数的改进版本,并在其最大的 600B 参数稀疏模型上获得了 13.5 的 BLEU 分数增益。Switch Transformer (Fedus et al., 2021) 在 T5 模型上使用相同的计算资源测量到 4-7 倍的 wall-time 加速。该工作还研究了作为参数计数函数的交叉熵损失扩展,但观察到超过 256 位专家时,收益减少了。

下游扩展

然而,可靠的上游扩展并没有立即在下游任务上产生一致的收益。在一项强调迁移挑战的工作中,Fedus et al. (2021)使用低计算、高参数编码器 - 解码器 Transformer(1.6T 参数,每个稀疏层有 2048 个专家)观察到 4 倍的预训练改进,但它在 SuperGLUE 等密集型推理任务上的微调效果不佳。这一发现暗示了进一步的必要研究以及计算和参数之间可能需要的平衡。

Du et al.(2021) 展示了稀疏 GLaM 模型的扩展,范围从 1B-64B FLOP,每个稀疏层使用 64 位专家。GLaM 取得了 SOTA 结果,在 zero-shot 和 one-shot 性能方面优于 175B 参数的 GPT-3 模型(Brown et al., 2020),同时在推理时每个token使用的 FLOP 减少了 49%,功耗降低了 65% (如下图4(左)所示)。下图 4 (右) 是稀疏模型在少样本推理上表现良好的另一个例子。

图片

Srivastava et al. (2022) 研究了稀疏模型在多项选择 BIG-Bench 任务上的校准,即度量预测概率与正确概率匹配的程度。研究结果如下图 5 所示,虽然较大的密集模型和稀疏模型的校准都得到了改善,但稀疏模型与使用 10 倍以上 FLOP 的密集模型的校准相当。

图片

扩展专家层的数量、大小和频率

有几个重要的超参数控制着稀疏专家模型的扩展,包括:1)专家数量,2)每个专家的大小,以及 3)专家层的频率。这些决策可能对上游和下游扩展产生重大影响。

许多早期的工作扩展到每层数千个相对较小的专家,从而产生了出色的预训练和翻译质量(Shazeer et al., 2017; Lepikhin et al., 2020; Fedus et al., 2021)。然而,稀疏模型的质量在域偏移(Artetxe et al., 2021)或对不同任务分布进行微调(Fedus et al., 2021)时不成比例地降低。为了使计算和参数获得更好的平衡,用于小样本推理 (GLaM (Du et al., 2021)) 和微调 (ST-MoE (Zoph et al., 2022)) 的 SOTA 稀疏模型最多仅能使用 64 个更大的专家。由于专家维度的增加,这些模型需要有针对加速器的特定系统级分片策略才能有效运行(Du et al., 2021; Rajbhandari et al., 2022)。

路由算法

路由算法是所有稀疏专家架构的关键特性,它决定了将样本发送到哪里。该领域已被广泛研究,包括使用固定的、非学习路由模式的反直觉方法(Roller et al., 2021)。由于要对选择哪些专家做出离散决策,因此路由决策通常是不可微的。

专家选择问题后来被重新定义为 Bandit 问题,并且已有一些工作使用强化学习来学习专家选择(Bengio et al., 2016; Rosenbaum et al., 2017; 2019; Clark et al., 2022)。Shazeer et al. (2017) 提出了一种可微的启发式算法,以避开强化学习的难点。

该论文详细阐述了路由算法的分类,并进一步说明了该领域的关键问题——负载均衡。

稀疏专家模型的迅速发展

稀疏专家模型的影响正在迅速蔓延到NLP以外的其他领域,包括计算机视觉、语音识别和多模态应用。尽管领域不同,但模型的架构和算法大致相同,下表 1 显示了不同域的稀疏层输入表征。

图片

稀疏专家模型近几年的发展非常迅速。以NLP领域为例,Shazeer et al. (2017) 为 LSTM 语言建模和机器翻译引入了混合专家层,这些层被插入到 LSTM 模型的标准层之间。

2020 年,Lepikhin et al. (2020)首次将 MoE 层引入到 Transformer,当研究人员将每个专家层扩展到 2048 名专家时,模型在 100 种不同语言上实现了 SOTA 翻译结果。

Fedus et al. (2021) 创建了一个稀疏的 1.6T 参数语言模型,实现了 SOTA 预训练质量。

新研究正在推动小样本学习推理和微调基准的发展。Du et al. (2021) 训练了一个纯 MoE 解码器语言模型,取得了小样本上的 SOTA 结果,并且只需要训练 GPT-3 所需的 1/3 计算量。Zoph et al. (2022) 提出了 ST-MoE,这是一种稀疏编码器 - 解码器模型,在大量推理和生成任务中都实现了 SOTA。在 SuperGLUE 上进行微调时,ST-MoE 的性能优于 PaLM-540B ,同时仅使用约 1/20 的预训练 FLOP 和 1/40 的推理 FLOP。

什么时候使用稀疏模型

一个常见的问题是,如果给你一个固定的计算或 FLOP 预算(例如 100 个 GPU 20 小时),你应该训练什么类型的模型来获得最佳性能?

从根本上说,稀疏模型允许通过增加专家的数量来大幅增加模型中的参数数量,同时保持每个样本的 FLOP 大致恒定。这种做法有好有坏,具体取决于模型的用途。

当你有许多加速器(例如 GPU/TPU)来承载使用稀疏性带来的所有附加参数时,稀疏性是很有利的。

使用稀疏性还需要仔细考虑下游任务。假如你有许多机器来进行预训练,但是用来微调或者服务的机器却很少,那么稀疏度(例如专家的数量)应该根据下游用例中可用的内存量进行调整。

在有些情况下,稀疏模型看起来总是比密集模型差。例如当所有参数都保存在加速器内存中,这种情况稀疏模型就不如密集模型了。当你有能力在多台机器上并行训练或服务,以便托管来自专家的附加模型参数时,稀疏模型就非常合适。

此外,该综述论文还介绍了对稀疏模型训练的改进、可解释性和未来的研究方向等,感兴趣的小伙伴可以查看原论文,了解更多研究内容。

理论要掌握,实操不能落!以上关于《30年历史回顾,Jeff Dean:我们整理了一份「稀疏专家模型」研究综述》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

版本声明
本文转载于:51CTO.COM 如有侵犯,请联系study_golang@163.com删除
何以为猫?可解释AI从语义层面理解CNN的识别机制何以为猫?可解释AI从语义层面理解CNN的识别机制
上一篇
何以为猫?可解释AI从语义层面理解CNN的识别机制
数据科学和人工智能将如何改变医疗保健行业?
下一篇
数据科学和人工智能将如何改变医疗保健行业?
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    542次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    508次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    497次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    484次学习
查看更多
AI推荐
  • 毕业宝AIGC检测:AI生成内容检测工具,助力学术诚信
    毕业宝AIGC检测
    毕业宝AIGC检测是“毕业宝”平台的AI生成内容检测工具,专为学术场景设计,帮助用户初步判断文本的原创性和AI参与度。通过与知网、维普数据库联动,提供全面检测结果,适用于学生、研究者、教育工作者及内容创作者。
    18次使用
  • AI Make Song:零门槛AI音乐创作平台,助你轻松制作个性化音乐
    AI Make Song
    AI Make Song是一款革命性的AI音乐生成平台,提供文本和歌词转音乐的双模式输入,支持多语言及商业友好版权体系。无论你是音乐爱好者、内容创作者还是广告从业者,都能在这里实现“用文字创造音乐”的梦想。平台已生成超百万首原创音乐,覆盖全球20个国家,用户满意度高达95%。
    29次使用
  • SongGenerator.io:零门槛AI音乐生成器,快速创作高质量音乐
    SongGenerator
    探索SongGenerator.io,零门槛、全免费的AI音乐生成器。无需注册,通过简单文本输入即可生成多风格音乐,适用于内容创作者、音乐爱好者和教育工作者。日均生成量超10万次,全球50国家用户信赖。
    26次使用
  •  BeArt AI换脸:免费在线工具,轻松实现照片、视频、GIF换脸
    BeArt AI换脸
    探索BeArt AI换脸工具,免费在线使用,无需下载软件,即可对照片、视频和GIF进行高质量换脸。体验快速、流畅、无水印的换脸效果,适用于娱乐创作、影视制作、广告营销等多种场景。
    28次使用
  • SEO标题协启动:AI驱动的智能对话与内容生成平台 - 提升创作效率
    协启动
    SEO摘要协启动(XieQiDong Chatbot)是由深圳协启动传媒有限公司运营的AI智能服务平台,提供多模型支持的对话服务、文档处理和图像生成工具,旨在提升用户内容创作与信息处理效率。平台支持订阅制付费,适合个人及企业用户,满足日常聊天、文案生成、学习辅助等需求。
    30次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码