本文为DeepSpeed的入门介绍,通过以下维度帮助各位看官了解什么是DeepSpeed:
- What: DeepSpeed是什么?
- Why: DeepSpeed解决了什么痛点?
- How: DeepSpeed是怎么解决这个痛点问题的?(这个下周更)
近年来机器学习一直是 一个很热门的话题,它在视觉,自然语言,语音等领域突不断突破,达到新的高度。之所以有不断有新的成果涌现,我理解大厂们开源的机器学习框架功不可没,例如Tensorflow,Pytorch。框架提供了完善的基础设施,例如丰富的算子,配套齐全的调试优化工具等,尽可能简化工程师搭建机器学习模型的难度,从而降低了机器学习门槛,让新人快速上手。
但这种和谐的场面正面临这严峻的挑战,原因来源于机器学习的模型大小增加急速膨胀中。以自然语言处理领域来说, Transformer网络的参数是*,然而GPT-3模型的参数已经高达173Billion,不时还有参数量高达万亿的模型刷爆头条。这级别参数量的模型所需的内存以及算力已经不是少量GPU卡能够hold住,它可能需要一个gpu集群来提供足量的算力。此时需要将参数和模型合理的分配的不同的机器上,以便充分利用各台机器的内存和算力,避免出现木桶效应。而传统的框架像tensroflow和pytorch对大规模的分布式模型的的支持不完善。DeepSpeed框架便是用于部署大规模分布式训练模型的。
初识DeepSpeed
一句话来说,DeepSpeed是微软开源的应用与大规模分布式训练的一个机器学习的框架。各位看官,如果看到这里,你注意到了上句中的大规模分布式训练和机器学习的框架两个词组,你就明白了DeepSpeed是什么了。接下来我说一下这两个概念
机器学习,顾名思义,就是机器学习人类对事物的认知。这个学习的过程就是模型的训练过程。不同的模型其复杂度也是不一样的。在机器上量化模型这个复杂度主要有两个宏观的指标:占用的内存和单次迭代的时间。训练任务越复杂,模型越大,占用的内存越大和单次迭代的时间越长。
按照模

本文介绍了DeepSpeed这一开源机器学习框架,专为大规模分布式训练设计。随着模型参数量激增,传统的单卡或多卡训练方式面临挑战,DeepSpeed通过激活重计算、负载均衡等策略解决内存限制,同时采用流水并行、张量模型并行优化多卡协作,助力高效训练超大模型。

1万+

被折叠的 条评论
为什么被折叠?



