原文:训练大模型的九大深度学习库;谷歌转向文字→视频生成的两大利器|AI系统前沿动态-六虎
练习大型深度学习模型需要极大的内存,才能贮存中间层的激活函数输出和权重等。一些模型只能在单个GPU上练习,练习时须将批巨细(batch size)设置得极小;还有一些模型则太大,单个GPU放不下。这些问题会导致在某些状况下模型练习效率极低,甚至无法练习。练习大型深度学习模型首要有两大办法:数据并行、模型并行。
当单个GPU的内存可以完整容纳整个模型时,这是可完成数据并行的最简单的状况。但此时,模型练习可用的batch size就变得较小,增加了练习难度。处理办法是将不同的模型实例放在不同的GPU上运行,每个模型实例核算不同的数据批次。
每个模型实例都有相同的参数初始化,但在前向传达中,每个模型实例会收到不同的数据批次。每个模型实例发生的梯度会被集结起来,用以核算梯度更新,然后进行模型参数更新,更新后的参数将被发送到每个模型示例中。
当单个GPU无法容纳整个模型时,模型并行就十分必要。模型并行要求将模型切分到多个GPU上进行练习。模型并行是练习大模型的有效办法,但它的缺陷是算力的利用率太低。由于同一时间只有一个GPU正在运行,其他GPU都将闲置。
现在,数据并行和模型并行都取得了必定的前进,可以提升练习和推理时的效率。以下是业界流行的九大深度学习库。
1. Megatron-LM
Megatron是NVIDIA运用深度学习研讨团队研发的大规模Transformer言语模型练习结构,支撑模型并行(张量并行、序列并行与流水并行)与多节点预练习(multi-node pre-training),现在已支撑BERT、GPT和T5模型。
链接:github.com/NVIDIA/Mega…
2. DeepSpeed
DeepSpeed是Microsoft推出的深度学习库,用于练习Megatron-Turing NLG 530B和BLOOM等大型模型,在练习、推理和紧缩三方面都有所创新。
DeepSpeed具有如下优点:
- 可进行十亿乃至万亿级参数的稀疏/密集模型的练习/推理
- 可完成超高体系吞吐量,可高效扩展至数千个GPU
- 可在资源有限的GPU体系上进行练习/推理
- 可完成史无前例的低延时与高推理吞吐量
- 可用低成本完成紧缩,然后大幅降低推理推迟并缩减模型巨细
链接:
github.com/microsoft/D…
3. FairScale
FairScale是由Facebook Research开发的PyTorch扩展库,具有高性能,可用于大型练习。FairScale的愿景如下:
- 易用性,开发简单易懂的FairScale API,运用户便利上手。
- 模块化,完成模块化,运用户可将多个FairScale API无缝参加其练习循环。
- 性能,完成 FairScale API的高可扩展性和高效率。
FairScale支撑彻底分片数据并行(FullyShardedDataParallel,FSDP),FSDP是扩展大型神经网络练习的推荐办法。
链接:
github.com/facebookres…
4. ParallelFormers
Parallelformers是根据Megatron-LM的开源库。它与HuggingFace库高度融合,只用一行代码即可将HuggingFace库中的模型并行化。现在,Parallelformers只支撑推理。
链接:github.com/tunib-ai/pa…
5. ColossalAI
Colossal-AI供给用于分布式/并行练习的一套并行组件。Colossal-AI支撑下列并行战略与优化措施:数据并行、流水并行、1D,2D, 2.5D, 3D张量并行、序列并行、零冗余优化器 (ZeRO)、异构内存办理(Heterogeneous Memory Management,用于推理体系Energon-AI。
链接:
github.com/hpcaitech/C…
6. Alpa
Alpa是一个用于练习和服务大型神经网络的体系。其特点如下:
- 主动并行化:Alpa可主动将用户的单设备代码并行化,用于分布式集群,完成数据并行、算子并行和流水并行。
- 出色的性能:Alpa在运用分布式集群练习含十亿级参数的大模型时可完成线性扩展。
- 亲近整合机器学习生态:Alpa由Jax、XLA和Ray等高性能且出产就绪的开源库供给支撑。
链接:
github.com/alpa-projec…
7. Hivemind
Hivemind库可以让用户通过网络运用PyTorch进行去中心化深度学习练习。它起初的设计意图是让来自各地的高校、企业和自发参加人员可以通过数百台不同电脑练习同一大型模型。
Hivemind的首要特点包含:
- 可完成无主节点的分布式练习:其底层的分布式哈希表可在去中心化网络中连接一切核算机。
- 反向传达容错:即便某些节点无反响或反响时间较长,也不会导致前向传达和反向传达失败。
- 去中心化参数均匀化: 来自多个worker的参数更新可以进行迭代累计,而无须在整个网络中同步。
- 可练习任意巨细的神经网络:部分神经网络层可通过去中心化混合专家体系(Decentralized Mixture-of-Experts)分布在多台核算机中。
链接:
github.com/learning-at…
8. OneFlow
OneFlow是一个高效、易用、可扩展的深度学习结构,可完成以下功用:
- 兼容PyTorch的API对模型进行编程
- 运用全局视角(Global View)API将模型扩展至n维并行履行或分布式履行
- 用静态图编译器(Static Graph Compiler)进行模型加快/布置
链接:
github.com/Oneflow-Inc…
论文:
arxiv.org/abs/2110.15…
9. Mesh-Tensorflow
Mesh TensorFlow (mtf)是一种专用于分布式深度学习的言语,可指定多种分布式张量核算。其称号中的Mesh意为“网”,表明多个处理器和核算设备相互连接构成的网络。
链接:github.com/tensorflow/…
(以上内容经授权后编译发布,原文:medium.com/@mlblogging…
10. OneFlow的大模型分片保存和加载战略
在模型比较小时(如 100G 以下),还有可能选用单机存储。当模型参数量比较大时,要求的样本数也更大,练习后做 dump 出来的模型也会很大,单机必定放不下。本文将介绍 OneFlow 的大模型分片保存、加载战略以及运用办法。
链接:
mp.weixin.qq.com/s/2Z400_r_Z…
11. 强化学习发现矩阵乘法算法,DeepMind再登Nature封面推出AlphaTensor
在最新一期 Nature 封面论文《Discovering faster matrix multiplication algorithms with reinforcement learning》中,DeepMind 提出了 AlphaTensor,并表明它是第一个可用于为矩阵乘法等基本使命发现新颖、高效且可证明正确的算法的人工智能体系。简单来说,运用 AlphaTensor 可以发现新算法。这项研讨揭示了 50 年来在数学范畴一个悬而未决的问题,即找到两个矩阵相乘最快办法。
AlphaTensor 建立在 AlphaZero 的基础上,而 AlphaZero 是一种在国际象棋、围棋和将棋等棋盘游戏中可以打败人类的智能体。这项工作展示了 AlphaZero 从用于游戏到首次用于处理未处理的数学问题的一次转变。
链接:mp.weixin.qq.com/s/kCayZUk1M…
12. 谷歌多模态大模型PaLI:选用参数量为4B的ViT-e,作用超过BEiT-3
言语和视觉使命的建模中,更大的神经网络模型能获得更好的结果,简直已经是一致。在言语方面,T5、GPT-3、Megatron-Turing、GLAM、Chinchilla和PaLM等模型显示出了在大文本数据上练习大型Transformer 的显着优势。视觉方面,CNN、视觉Transformer和其他模型都从大模型中取得了很好的结果。language-and-vision建模也是相似的状况,如SimVLM、Florence、CoCa、GIT、BEiT 和 Flamingo。来自谷歌的研讨者通过一个名为 PaLI (Pathways Language and Image)的模型来延续这一方向的研讨。
链接:mp.weixin.qq.com/s/naWS149Ja…
13. 谷歌全面转向文字→视频生成,两大利器同时应战分辨率和长度
在文本转图像上卷了大半年之后,Meta、谷歌等科技巨头又将目光投向了一个新的战场:文本转视频。Meta 公布了一个可以生成高质量短视频的东西——Make-A-Video,利用这款东西生成的视频非常具有想象力。当然,谷歌也不甘示弱。该公司 CEO Sundar Pichai 亲身安利了他们在这一范畴的最新效果:两款文本转视频东西——Imagen Video 与 Phenaki。前者主打视频品质,后者首要应战视频长度,可以说各有千秋。
链接:mp.weixin.qq.com/s/uf1xAg3e1…
14. 层出不穷的机器学习结构到底在“卷”什么?
10月19日19:00,小红书技能REDtech邀请到了国内的深度学习结构草创公司OneFlow的创始人袁进辉,与小红书智能分发部负责人瑞格带来新一期【REDtech 来了】技能直播。他们将围绕机器学习结构在工业界实际运用的应战与远景展开精彩分享。
链接:mp.weixin.qq.com/s/mtptKgY5q…
欢迎下载体会 OneFlow v0.8.0 最新版别:
github.com/Oneflow-Inc…