XTuner V1

AI工具9小时前更新 AI工具集
0 0 0

XTuner V1 – 上海AI Lab开源的新一代大模型训练引擎

XTuner V1:上海人工智能实验室推出的新一代大模型训练引擎,专为超大规模模型(如1T参数MoE)设计,在显存、通信及负载优化方面实现突破,训练效率超越传统3D并行,并与昇腾技术深度融合,提供高性能、易用的训练解决方案。

XTuner V1:赋能超大模型训练新纪元

XTuner V1,作为上海人工智能实验室匠心打造的新一代大模型训练引擎,在PyTorch FSDP的基础上进行了深度革新。它系统性地解决了超大规模模型训练过程中普遍存在的显存瓶颈、通信延迟和负载不均等难题。XTuner V1的出现,不仅支持高达1T参数量的MoE(混合专家)模型训练,更在200B参数量级模型上实现了训练吞吐量的显著超越,相较于传统的3D并行方案,其性能优势尤为突出。该引擎还与华为昇腾技术团队紧密合作,进一步挖掘硬件潜力,极大提升了训练效率和模型浮点运算利用率,为学术界和工业界带来了高性能、低门槛且易于扩展的大模型训练新范式。

XTuner V1核心能力概览

  • 引领超大模型训练效率:XTuner V1能够驾驭1T参数量级的MoE模型,在200B以上规模的混合专家模型训练中,其吞吐量表现远超传统3D并行训练方法。
  • 精妙显存管理:通过创新的自动Chunk Loss机制与Async Checkpointing Swap技术,XTuner V1显著降低了显存峰值。即使在处理64K序列长度的200B参数量级MoE模型时,也无需依赖序列并行即可实现高效训练。
  • 通信开销的隐匿大师:XTuner V1通过极致的显存优化,延长了单次迭代的最大序列长度,从而增加每层计算耗时,有效地“掩盖”了参数聚合的通信开销。此外,Intra-Node Domino-EP技术的应用,更是大幅削减了参数聚合的通信量,化解了专家并行带来的额外通信压力。
  • 实现DP负载均衡:针对大模型训练中因变长注意力机制导致的计算空泡问题,XTuner V1引入了序列排序策略。通过对每n个step内的已拼接序列进行排序,确保了不同DP(数据并行)进程在每次计算时最长子序列长度的均衡,从而最大化计算资源的利用率。
  • 跨平台硬件适应性:XTuner V1与华为昇腾技术团队的深度合作,使其在Ascend A3 NPU超节点上得到了极致优化。充分利用了超节点的硬件特性,即使在理论算力低于NVIDIA H800近20%的情况下,XTuner V1仍能实现训练吞吐量反超H800近5%,模型浮点运算利用率(MFU)更是领先20%以上。

XTuner V1:底层技术解析

  • 源自PyTorch FSDP的深度演进:XTuner V1建立在PyTorch FSDP(Fully Shard Data Parallel)数据并行策略之上。FSDP通过将模型参数细粒度切分至各计算卡,并优化参数的提前聚合与重切分,以实现显存的节约。XTuner V1在此基础上进行了深入的优化,着力解决了FSDP通信量大的固有挑战。
  • 突破性显存优化技术

    • 自动Chunk Loss机制:为应对计算损失函数过程中的计算图,XTuner V1开发了支持多场景、多硬件的自动Chunk Loss机制,有效降低了显存峰值占用。
    • Async Checkpointing Swap:该技术在模型前向计算启动时,将重计算所需的激活值从GPU(Device)迁移至CPU(Host),释放GPU显存;在反向传播阶段,则提前将激活值从Host回传至Device。前向传播结束后,激活值占用的显存即可释放,进一步实现了显存的精细化管理。
  • 通信开销的巧妙掩盖

    • 计算耗时掩盖通信耗时:XTuner V1通过极致的显存优化,提升了单次迭代的最大序列长度,进而增加了每层计算的耗时。当计算耗时大于通信耗时,通信开销便被有效掩盖,避免了计算资源的闲置。
    • Intra-Node Domino-EP:针对显存或通信带宽受限的训练场景,Intra-Node Domino-EP技术能够显著降低每一层参数聚合的通信量,从而有效地掩盖了引入专家并行所产生的额外通信开销。
  • 数据并行负载均衡策略:在大模型训练中,通常会将多条句子拼接成固定长度的序列,并采用变长注意力机制进行计算。XTuner V1通过对每n个step内已拼接好的序列进行智能排序,使得在每次计算时,不同数据并行(DP)进程的最长子序列长度趋于一致,显著减少了因变长注意力导致的计算空泡,提升了整体训练效率。

XTuner V1项目链接

  • 官方文档:https://xtuner.readthedocs.io/zh-cn/latest/
  • GitHub代码库:https://github.com/InternLM/xtuner

XTuner V1的应用领域

  • 自然语言处理(NLP):XTuner V1是训练GPT、BERT等超大规模语言模型的理想选择,能够显著提升模型的语言理解与生成能力,广泛应用于机器翻译、文本创作、情感分析等任务。
  • 计算机视觉(CV):在图像识别、目标检测等领域,XTuner V1能够高效训练ResNet、Transformer等大规模视觉模型,提升模型的精度与效率。
  • 多模态融合学习:XTuner V1支持训练CLIP等结合语言与视觉信息的多模态模型,赋能图像描述生成、视觉问答等应用,增强模型对复杂场景的理解力。
  • 强化学习:在机器人控制、游戏AI等长序列强化学习任务中,XTuner V1能够高效处理海量序列数据,加速模型训练进程,显著提高策略学习的效率。
阅读原文
© 版权声明
蝉镜AI数字人

相关文章

蝉镜AI数字人

暂无评论

暂无评论...