Loading [MathJax]/jax/output/CommonHTML/jax.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >AI Infra论文阅读之《在LLM训练中减少激活值内存》

AI Infra论文阅读之《在LLM训练中减少激活值内存》

作者头像
BBuf
发布于 2024-03-26 10:09:19
发布于 2024-03-26 10:09:19
1K0
举报
文章被收录于专栏:GiantPandaCVGiantPandaCV

写了一个Megatron-LM的3D Parallel进程组可视化的Playground,界面长下面这样:

在这里插入图片描述

可以直接访问:https://huggingface.co/spaces/BBuf/megatron-lm-parallel-group-playground

脚本也开源在:https://github.com/BBuf/megatron-lm-parallel-group-playground 请随意获取和修改。

0x0. 前言

本次阅读一篇Megatron-LM的README贴出的一篇paper,是NVIDIA在2022年上传的,讲的是Megatron-LM里面的Sequence Parallel和Selective Activation Recomputation如何降低大语言模型训练中的激活内存。这里来看一下理论讲解,另外Paper的第4节的激活内存公式估计比较有用。paper链接为:https://arxiv.org/pdf/2205.05198.pdf 。序列并行目前是非常常用的,但是选择性激活重计算可能用得人不多,我想一个很重要的原因应该是 FlashAttention 的出现大大降低了激活值内存大小。但这篇Paper的一些公式仍然是有用处的,至少给我们提供了理论依据。此外,Meagtron-LM推出的Context Parallel是在Sequence Parallel的基础上更近一步,可以继续降低激活值的大小,并且支持更长的序列。

摘要就是说通过Sequence Parallel和Selective Activation Recomputation可以减少激活重计算,把Sequece Parallel和Tensor Parallel结合在一起基本可以避免激活重计算的需要。然后在高达一万亿参数规模的语言模型上评估了上面的两个方法,并展示了这里的放大把激活内存降低了5倍,同时把激活重计算的执行时间开销减少了超过90%。例如,在2240 NVIDIA A100 GPUs上训练一个530B参数的GPT-3风格模型时,实现了54.2%的MFU,比使用重计算实现的42.1%快了29%。

0x1. 介绍

这里简单总结一下,一般来说Meagtron-LM里面张量并行都是放在同一个GPU的节点里面,节点内部由NVLink连接。然后,流水线并行虽然可以减少存储模型参数和优化器状态的内存,但是由于要存储一些Micro Batch的激活,所以并不能减少激活需要的内存。因此,激活内存的存储成为了训练大语言模型的一个关键问题。图1显示了从220亿参数到1万亿参数的四种模型配置所需的内存(模型配置的详细信息在表3中提供)。

这里的present work就是通过激活重计算(也叫Gradient Checkpointing)来减轻Activation的存储大小。之前标准的做法是在每一个Transformer层的边界进行重计算,paper也把这种方法叫作完全激活重计算。但完全激活重计算会导致增加30-40%左右的时间开销。为了节省这部分计算开销,但又要Scale Up模型,所以就引入了Paper介绍的两种方法Sequence Parallel和Selective Activation Recomputation。

0x2. 相关工作rt

对Megatron-LM的张量并行进行了简单的介绍,没什么干货,忽略。

0x3. Transformer的结构

如下图的图2所示:输入token被送入一个大小为

的词嵌入表中,token嵌入与学习到的位置嵌入(大小为

)结合,其中

是序列长度,

是隐藏维度,

是词表大小。嵌入层的输出,即Transformer块的输入,是一个大小为

的3维张量,其中

是微批量大小。每个Transformer层由一个自注意力块组成,该块有

个注意力头,接着是一个增加隐藏大小到

然后再减少回

的两层多层感知器(MLP)。每个Transformer层的输入和输出大小相同,为

。最后一个Transformer层的输出被投影回词汇维度以计算交叉熵损失。paper假设词嵌入和输出层权重是共享的。变量名在表1中列出以供参考。

0x4. Activation Memory

首先,Paper导出了一个近似的公式来估计激活内存的大小,这里的激活指的是在Forward过程中创建并且在Backward中用于梯度计算所必需的任何张量。然后,这里只考虑对激活内存贡献最大的部分不考虑小的Buffer,比如对于LayerNorm来说,输入包含bsh个元素,但均值和方差每个只有sb个元素,由于h一般很大,所以bsh远远大于2sb,所以就忽略掉2sb,以sbh来计算LayerNorm层的激活大小。

0x4.1 每个Transformer层的Activation估计

注意Paper发表的时候还没有FlashAttention

如上图2所示,每个Transformer层由一个注意力层和一个MLP块组成,两者通过两个LayerNorm链接。下面,paper到处来存储每个元素激活所需的内存:

  • Attention块。包括自注意力机制后跟一个线性投影和一个注意力dropout。线性投影存储其输入激活,大小为2sbh,而注意力dropout需要一个大小为sbh的掩码。如图3所示的自注意力包含几个元素:
    • 查询(Q)、键(K)和值(V)矩阵乘法:我们只需要存储它们共享的输入,大小为

    。QKT矩阵乘法:它需要存储Q和K,总大小为

    • Softmax:反向传播需要大小为

    的Softmax输出。

    • Softmax dropout:只需要一个大小为

    的掩码。

    • 对值(V)的注意力:我们需要存储dropout输出(

    )和值(

    ),因此需要

    的存储空间。将上述值相加,总的来说,注意力块需要

    字节的存储空间。

在这里插入图片描述

  • MLP块。两个线性层存储它们的输入,大小为

。GeLU非线性也需要其大小为

的输入以进行反向传播。最后,dropout存储其掩码,大小为

。总的来说,MLP块需要

字节的存储空间。

  • LayerNorm。每个LayerNorm存储其输入,大小为

,因此总共我们将需要

的存储空间。

将注意力、MLP和层LayerNorm所需的内存相加,存储单层Transformer网络激活所需的内存是:

在这里插入图片描述

这是在没有应用模型并行时的计算公式,也就是单张卡需要的激活内存计算大小。

0x4.2 模型并行

这一节量化了张量并行对每个Transformer层的激活内存的影响。然后引入了序列并行的新方法,进一步减少了每一层的激活所需内存。最后还讨论了Pipline并行对激活内存的影响,并推导了激活内存的理论公式。

0x4.2.1 张量并行

指的就是Megatron-LM的张量并行,如下图所示:

然后应用了张量并行之后上面的公式就变成:

在这里插入图片描述

这里的10分别表示两个LayerNorm的输入,以及SelfAttention和MLP模块的输入以及输出部分Dropout所需要的激活内存。

0x4.2.2 序列并行

Megatron-LM序列并行的原理就是下面这张图,对比图4来看我们可以发现在非Tensor Parallel的部分使用了Sequence Parallel,同时通信原语也发生了变化:

在这里插入图片描述

在Figure4中,由于LayerNorm和Dropout必须接收完整的数据,对于一个Transformer Layer来说前向和后向都分别有2次all-reduce。而在序列并行中,前后向的2次allreduce分别被拆成了allgather+reduce-scatter,总的通信量没发生变化。paper在这一节对此有一个证明,这里就忽略了,直接给出同时使用序列并行和Tensor并行下的激活内存计算公式:

在这里插入图片描述

和单纯的张量并行相比,现在两个LayerNorm的输入,以及SelfAttention和MLP模块的输入以及输出部分Dropout所需要的激活内存都减少了

倍,因为按照序列的维度进行了切分。

0x4.2.3 Pipline并行

GPipe->1F1B

Pipline并行可以读我之前写的这篇paper解读:AI Infra论文阅读之将流水线并行气泡几乎降到零(附基于Meagtron-LM的ZB-H1开源代码实现解读)。在这篇文章里面提到过对于GPipe来说流水线中最长驻留了

个未完成的 micro batch(上半部分图). 而 1F1B 则限制其最多驻留流水线深度

个未完成的 micro batch,如此形成了上图中的下半部分的流水线。这个流水线的特点是一个迭代的时间没有变化,但是

,所以驻留的未完成的 micro batch极大减少,减少了显存峰值。(重点是减少了显存的峰值,但是气泡还是不变)。这也是下图为什么估计第一个Stage的激活内存时分子乘以了L的原因,而和micro bacth的大小无关。

在这里插入图片描述

对于VPP来说,公式有一些变化,第一个Stage的显存会增加。

0x4.3 总的激活内存

上面的公式5没有考虑输入嵌入,最后一层的LayerNorm以及如图2所示的输出层所需的激活内存。位置和词嵌入在反向传播中不需要存储任何大量的激活内存。但Dropout操作需要激活内存。嵌入层中的Dropout也沿序列维度并行化。因此,它将需要

的存储空间。这里的p是Pipline并行维度,以及我们需要存储

个micro batch的事实。输出层之前的LayerNorm也使用序列并行,因此需要

的存储空间。输出层投影到词汇维度需要

的存储空间。最后,交叉熵损失需要存储以32位浮点数计算的对数值,因此将需要

的存储空间。总共

,仅在没有Pipline并行的情况下包括(

)。加上上述内存,由输入嵌入、最后一层LayerNorm和输出层引起的额外激活内存公式是:

其中,

在p=1时为1,否则为0。实际上这里的额外激活相比于公式5来说就太小了,例如对于22B的模型来说,额外激活的占比只有0.01%,所以一般直接用公式5估计激活内存就比较准确了。

0x5. 选择性的激活重计算

这一节翻译一下原文。

公式5得出的所需总激活内存对于大型模型来说仍然可能相当大。通过存储(或“checkpointing”)一组层的输入激活并在反向传播期间使用额外的前向pass重计算其它所需激活,激活重计算[5]克服了这一内存限制(这在本文中被称为完全激活重计算)。假设组只包含单个层,并忽略Transformer层外的激活,这种方法将激活所需的总内存减少到2sbhL。我们注意到,如果我们只在每个张量并行等级中存储部分激活,则这个所需内存可以进一步减少到2sbhL/t。然而,这种方法需要每层额外进行一次全收集操作,并将增加通信开销,因此,我们不考虑这种方法。

与存储所有激活(公式5)相比,对所有Transformer层进行checkpointing显著减少了训练模型所需的内存量。这种减少确实以重新计算(一个额外的前向pass)的成本为代价,可能引入高达30-40%的计算时间开销。为了平衡内存节省和计算开销,理想情况下应该只checkpointing足够的激活,以允许给定的模型并行配置在设备内存的限制下进行训练。序列并行性提供的内存节省使得许多更多的配置能够在无需重计算的情况下进行训练,但大型模型的最佳模型并行配置通常仍需要保存和重计算一些激活。选择存储与重计算激活数量的一个简单方法是只对一些Transformer层进行检查点,并存储其它层的所有激活。这种方法对大型模型的扩展性不是很好;例如,在训练MT-NLG时,每个设备只有三层,限制了你在内存与计算之间平衡的粒度。此外,我们注意到,并非所有激活都需要相同数量的操作来重新计算,因此,更加明智地选择哪些激活要存储和哪些需要重计算是有益的。

我们提出的不是对整个Transformer层进行checkpointing和重新计算,而是只对每个Transformer层中占用大量内存但重计算计算成本不高的部分进行checkpointing和重计算,或称为选择性激活重计算 。为此,我们注意到,公式5中的

项是由于网络宽度通过计算Q、K和V值的线性层增加后的注意力操作所致;即,

矩阵乘法、softmax、softmax dropout和对V的注意力操作。这些操作通常具有大的输入大小,因此激活量大,然而,每个输入元素的浮点操作数(FLOPs)非常低。Transformer层的其余部分占据了公式5中的

项。因此,对于大型模型,其中

,如果我们checkpointing并重新计算Transformer层的这一部分,我们存储的激活几乎可以少一半,并且重计算那些未存储的激活只有一个相对不高的成本。

使用这种形式的选择性激活重计算,存储激活所需的内存从公式5减少到:

在这里插入图片描述

上述公式展示了,使用选择性激活重计算允许所需的激活内存与序列长度线性比例增长,并且独立于注意力头的数量。正如第4.2.3节中讨论的,在使用VPP Schedule的情况下,上述公式需要乘以

在使用Pipline并行时,如第4.2.3节讨论的,尽管给定设备只有

层,但第一个Stage仍必须存储相当于L层激活的量,因为它必须为

个micro batch存储Activation来流水。在这种情况下,可以采用的另一种技术是尽可能根据可用设备内存存储尽可能多的micro-batch的所有激活,并对其余部分进行完全或选择性重计算。实践中我们发现,应用序列并行和选择性激活重计算后,重计算开销足够小,以至于这种额外技术提供的改进非常有限。这种技术在附录C中有更详细的描述和分析。

简而言之,通过选择性激活重计算,可以有效减少存储激活所需的内存,使其与序列长度线性相关,而与注意力头数量无关。尤其在使用管道并行性时,采用额外技术进一步降低重计算成本是可能的,但在实际应用中,序列并行性和选择性激活重计算已经能够显著降低重计算开销,使得额外技术的效果较为有限。

这一节的Table2值得注意一下,是对上面各种并行和重计算方式的中间激活内存的计算公式。

在这里插入图片描述

0x6. 实验部分

Table3展示了进行试验的几个模型的尺寸大小和超参数。

在这里插入图片描述

然后实验部分看下几个图和表格就可以了。

在这里插入图片描述

这张图是实测了下相比于单纯的模型并行,Sequence Parallel,Selective Recompute,Full Compute等能节省的显存比例,可以看到序列并行和选择性重计算很有作用。

在这里插入图片描述

Table4展示了序列并行和选择性重计算分别对前后向时间的影响,是在22B的模型上实验的,可以看到序列并行和选择性重计算同时作用的情况下也只增加了4%的overhead。

在这里插入图片描述

这张图的结论就是序列并行和选择性重计算相比于完全重计算来说增加的算力开销非常少。

在这里插入图片描述

通过序列并行和选择性重计算可以提升各个尺寸大模型的吞吐和MFU。

0x7. 结论

序列并行目前是非常常用的,但是选择性激活重计算可能用得人不多,我想一个很重要的原因应该是FlashAttention的出现大大降低了激活值内存大小。但这篇Paper的一些公式仍然是有用处的,至少给我们提供了理论依据。此外,Meagtron-LM推出的Context Parallel是在Sequence Parallel的基础上更近一步,可以继续降低激活值的大小,并且支持更长的序列。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-03-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GiantPandaCV 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
历时6个月,Hugging Face开源LLM「超大规模实战手册」!200页3万字4000次训练
最近,Hugging Face发布了一个「超大规模训练手册」,教我们如何在GPU集群上训练LLM。
新智元
2025/03/03
2250
历时6个月,Hugging Face开源LLM「超大规模实战手册」!200页3万字4000次训练
AI Infra论文阅读之将流水线并行气泡几乎降到零(附基于Meagtron-LM的ZB-H1开源代码实现解读)
这篇论文对应的链接为:https://openreview.net/pdf?id=tuzTN0eIO5 ,最近被ICLR 2024接收,但不少AI Infra的同行已经发现了这个工作的价值,并且已经开源在 https://github.com/sail-sg/zero-bubble-pipeline-parallelism ,在一些AI Infra相关的地方也存在一些讨论和介绍。比如 https://www.zhihu.com/question/637480969/answer/3354692418
BBuf
2024/02/22
2.5K0
AI Infra论文阅读之将流水线并行气泡几乎降到零(附基于Meagtron-LM的ZB-H1开源代码实现解读)
AI Infra论文阅读之LIGHTSEQ(LLM长文本训练的Infra工作)
从 https://github.com/RulinShao/LightSeq 注意到这篇paper(https://arxiv.org/pdf/2310.03294.pdf),paper里面有一些比较有趣的发现并且这个paper的代码是基于Triton来实现的,所以激发了我阅读兴趣。我后续也会从源码的角度来解读这篇paper核心idea的代码实现,顺便学习下Triton。介于篇幅原因,这篇文章只读一下这篇paper,把握一下核心的Infra相关的idea。这篇paper应该还没有中会议,处于openreview阶段。
BBuf
2024/02/22
4490
AI Infra论文阅读之LIGHTSEQ(LLM长文本训练的Infra工作)
大模型训练:Megatron-Core中的通信优化
来源丨https://zhuanlan.zhihu.com/p/694877232
BBuf
2024/06/03
1.2K0
大模型训练:Megatron-Core中的通信优化
大模型训练之难,难于上青天?预训练易用、效率超群的「李白」模型库来了!
机器之心发布 机器之心编辑部 LiBai(李白)模型库覆盖了 Hugging Face、Megatron-LM、DeepSpeed、FairSeq 这些所有主流 Transformer 库的优点,让大模型训练飞入寻常百姓家。 大模型多了去了,告诉我怎么加速?自 2018 年 BERT 诞生,到 GPT-3、ViT 等拥有数以亿计的参数规模的模型不断涌现,AI 模型参数量的爆发式增长已不足为奇,让炼丹师无暇顾及甚至感到麻木。 与此同时,大模型对计算和内存资源提出了巨大的挑战。训练成本急剧上升,比如用一块非
机器之心
2022/07/07
1.2K0
大模型训练之难,难于上青天?预训练易用、效率超群的「李白」模型库来了!
LLM高性能并行训练技术
- **深度学习的重要性**:人工智能成为国际竞争焦点,深度学习是其核心技术,在众多领域取得突破,推动社会向智能化跃升。
zhangjiqun
2024/12/31
1790
DeepSpeed结合Megatron-LM训练GPT2模型笔记(上)
本文基于DeepSpeedExamples仓库中给出的Megatron相关例子探索一下训练GPT2模型的流程。主要包含3个部分,第一个部分是基于原始的Megatron如何训练GPT2模型,第二个部分是如何结合DeepSpeed的特性进行训练Megatron GPT2,由于篇幅原因这篇文章只写了第一部分,主要是非常细致的记录了跑起来Megatron GPT2训练流程碰到的一些问题和如何解决的。本文主要以 https://github.com/microsoft/DeepSpeedExamples/tree/bdf8e59aede8c8e0577e8d4d557298ca8515268f 这里的codebase展开写作。
BBuf
2023/08/22
2.3K0
DeepSpeed结合Megatron-LM训练GPT2模型笔记(上)
Megatron-LM 分布式执行调研
Created by: strint Created time: May 31, 2023 6:02 PM
BBuf
2023/08/22
2.2K0
Megatron-LM 分布式执行调研
【AI系统】张量并行
在大模型的训练中,单个设备往往无法满足计算和存储需求,因此需要借助分布式训练技术。其中,模型并行(Model Parallelism, MP)是一种重要的方法。模型并行的基本思想是将模型的计算任务拆分到不同的设备上执行,以提高训练效率和处理更大规模的模型。下面将重点介绍模型并行中的张量并行。
用户11307734
2024/12/09
3320
OpenAI炼丹秘籍:教你学会训练大型神经网络
来源:新智元本文约3000字,建议阅读5分钟本文详细介绍了一些训练大型神经网络的相关技术及底层原理。 想知道那些超大规模神经网络都是怎么训出来的?OpenAI一篇文章总结:除了显卡要多,算法也很重要! 如今AI的很多进步都要归功于大型神经网络,尤其是大公司和研究机构提供的预训练模型更是推动了下游任务的进步。 但想自己动手训练一个大型神经网络并不简单,首先要面对的就是海量的数据、多机协调和大量GPU的调度工作。 一提到「并行」,冥冥之中就会感觉多了很多隐藏的bug。 最近OpenAI发布了
数据派THU
2022/07/19
4050
OpenAI炼丹秘籍:教你学会训练大型神经网络
如何准确的估计llm推理和微调的内存消耗
Command-R+, Mixtral-8x22b和Llama 3 70b都在最近的几周内发布了,这些模型是巨大的。它们都有超过700亿个参数:
deephub
2024/04/30
7340
如何准确的估计llm推理和微调的内存消耗
硬件高效的线性注意力机制Gated Linear Attention论文阅读
上篇文章 flash-linear-attention中的Chunkwise并行算法的理解 根据GLA Transformer Paper(https://arxiv.org/pdf/2312.06635 作者是这位大佬 @sonta)通过对Linear Attention的完全并行和RNN以及Chunkwise形式的介绍理解了Linear Attention的Chunkwise并行算法的原理。但是paper还没有读完,后续在paper里面提出了Gated Linear Attention Transformer,它正是基于Chunkwise Linear Attention的思想来做的,不过仍有很多的工程细节需要明了。这篇文章就来继续阅读一下paper剩下的部分,把握下GLA的计算流程以及PyTorch实现。下面对Paper的第三节和第四节进行理解,由于个人感觉Paper公式有点多,所以并没有对paper进行大量直接翻译,更多的是读了一些部分之后直接大白话一点写一下我对各个部分的理解和总结。这样可能会忽略一些细节,建议读者结合原Paper阅读。
BBuf
2024/06/05
4480
硬件高效的线性注意力机制Gated Linear Attention论文阅读
[源码解析] PyTorch 流水线并行实现 (1)--基础知识
本系列开始介绍PyTorch的流水线并行实现。实质上,PyTorch就是 GPipe 的PyTorch版本。这些开源软件在互相借鉴思路,互相学习,从 PyTorch 的源码注释中,可以见到我们之前介绍的部分框架/库的引用或者论文链接。
罗西的思考
2021/09/26
1.9K0
[源码解析] PyTorch 流水线并行实现 (1)--基础知识
放弃Softmax,首个线性注意力Transformer大模型:1750亿参数,速度、精度更优
近日,上海人工智能实验室和 OpenNLPLab 的一个研究团队提出了一种新的大型语言模型 TransNormerLLM,其中完全抛弃了基于 Softmax 的注意力机制,而是使用了新提出的线性注意力。据介绍,TransNormerLLM 是首个基于线性注意力的大型语言模型(LLM),其在准确度和效率方面的表现优于传统的基于 Softmax 注意力的模型。研究者也将发布其预训练模型的开源版本。
机器之心
2023/08/08
4660
放弃Softmax,首个线性注意力Transformer大模型:1750亿参数,速度、精度更优
DeepSeek开源周 Day04:从DualPipe聊聊大模型分布式训练的并行策略
今天是DeepSeek开源周的第四天,官方开源了一种新型并行计算优化策略——DualPipe。 其实大家阅读过Deepseek-V3技术报告的同学,对这个技术并不陌生。
致Great
2025/02/28
4240
DeepSeek开源周 Day04:从DualPipe聊聊大模型分布式训练的并行策略
FlashAttention:快速且内存高效的准确注意力机制
在深度学习领域,注意力机制是提高模型性能的关键组件。然而,传统的注意力机制在长序列处理时会消耗大量内存和计算资源。为了解决这个问题,Tri Dao等人提出了FlashAttention,这是一种快速且内存高效的注意力机制。本文将介绍FlashAttention及其改进版FlashAttention-2的核心概念、安装方法和使用示例。
857技术社区
2024/07/04
1.8K0
FlashAttention:快速且内存高效的准确注意力机制
腾讯云TACO推出混合序列并行USP,大幅提升LLM和DiT训练性能
大语言模型长序列是近期研究的热点,如何训练超长序列的模型成为关注的重点。序列并行(SP)是一种将输入序列维度进行切分的技术,它已成为训练和推理更长序列的一种有效方法。近段时间,腾讯云在大模型序列并行领域取得重大突破,推出了创新的USP(Unified Sequence Parallel)技术。对比主流的DeepSpeed-Ulysses[1]和Ring-Attention[2]序列并行方式,USP在DiT场景下生图的性能提升最多24%,在LLAMA2-7B场景的性能提升最多2倍以上,为DiT和长序列场景提供强力支持。
腾讯云计算产品团队
2024/07/12
8410
腾讯云TACO推出混合序列并行USP,大幅提升LLM和DiT训练性能
用FP8训练大模型有多香?微软:比BF16快64%,省42%内存
大型语言模型(LLM)具有前所未有的语言理解和生成能力,但是解锁这些高级的能力需要巨大的模型规模和训练计算量。在这种背景下,尤其是当我们关注扩展至 OpenAI 提出的超级智能 (Super Intelligence) 模型规模时,低精度训练是其中最有效且最关键的技术之一,其优势包括内存占用小、训练速度快,通信开销低。目前大多数训练框架(如 Megatron-LM、MetaSeq 和 Colossal-AI)训练 LLM 默认使用 FP32 全精度或者 FP16/BF16 混合精度。
机器之心
2023/11/02
9330
用FP8训练大模型有多香?微软:比BF16快64%,省42%内存
以 GPT-175B 为例,聊聊大语言模型分布式训练的最佳实践
导读本文分享主题为大语言模型分布式训练的相关技术及量化分析,并以GPT-175B 为例,介绍相关技术的最佳实践。
NewBeeNLP
2023/12/20
1.8K0
以 GPT-175B 为例,聊聊大语言模型分布式训练的最佳实践
北大校友“炼丹”分享:OpenAI如何训练千亿级模型?
“炼大模型”已成为人工智能领域的主流研发趋势。从GPT-3的1750亿,到如今悟道2.0的1.75万亿,超大语言模型在 NLP 基准任务中不断刷新SOTA。
AI科技评论
2021/10/11
1.5K0
北大校友“炼丹”分享:OpenAI如何训练千亿级模型?
推荐阅读
相关推荐
历时6个月,Hugging Face开源LLM「超大规模实战手册」!200页3万字4000次训练
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档