大模型训练的显存瓶颈如何突破:从ZeRO到Flash Attention的五年技术演进
显存墙:大模型训练的第一道坎 2020年,OpenAI训练GPT-3时,1750亿参数的模型需要超过350GB的显存——这远超任何单张GPU的容量。三年后,Meta训练Llama 2-70B时,单张A100 80GB显卡甚至无法完整加载模型权重。显存,而非计算能力,已经成为大模型训练的首要瓶颈。 ...
显存墙:大模型训练的第一道坎 2020年,OpenAI训练GPT-3时,1750亿参数的模型需要超过350GB的显存——这远超任何单张GPU的容量。三年后,Meta训练Llama 2-70B时,单张A100 80GB显卡甚至无法完整加载模型权重。显存,而非计算能力,已经成为大模型训练的首要瓶颈。 ...
当你在8张GPU上训练一个7B参数模型需要3天,扩展到128张GPU时却发现只快了8倍而不是16倍——剩下的一半性能去哪了?答案藏在每一步迭代中都会发生却极少被提及的操作里:梯度同步。 ...
当你的显卡显存不足以容纳更大的batch size时,梯度累积似乎是唯一的救星。这个技术在几乎所有大模型训练框架中都有支持,从Hugging Face Transformers到PyTorch Lightning,再到各种分布式训练框架。只需一行配置,你就能在有限的显存下"模拟"更大的batch size——至少文档是这么说的。 ...
当我们与一个训练完成的大语言模型对话时,它似乎能理解我们的问题、组织连贯的回答、甚至在某些领域展现出接近专家的知识水平。但这个"智能体"并非凭空诞生——在它能说出第一句话之前,背后是一个历时数月、耗资千万美元、涉及万亿级token的复杂训练过程。 ...
2020年2月,微软研究院发布了一个名为DeepSpeed的深度学习优化库,其中最引人注目的组件是ZeRO(Zero Redundancy Optimizer)。这项技术声称可以在1024块GPU上训练万亿参数模型。当时最大的语言模型GPT-2仅有15亿参数,Megatron-LM也不过83亿参数。ZeRO究竟做了什么,能让模型规模提升百倍以上? ...
2023年10月,伯克利大学的研究团队提交了一篇论文,声称可以让Transformer处理"接近无限"长度的上下文。实验数据令人咋舌:在512块TPU v4上,7B模型可以训练超过800万Token的序列;在1024块TPU v4上,这个数字飙升到1600万。 ...
2020年,OpenAI发布了拥有1750亿参数的GPT-3模型。按照FP16精度计算,仅存储模型权重就需要350GB显存——而当时最先进的NVIDIA A100 GPU只有80GB显存。这意味着,即使不考虑训练过程中额外的梯度、优化器状态和激活值,单张GPU连加载模型都做不到。 ...