huggingface/nanotron

Minimalistic large language model 3D-parallelism training

它解决了什么问题

Nanotron 简化了预训练 transformer 模型的复杂过程,提供了一个可扩展且高性能的框架,让用户无需从零开始构建底层的分布式训练基础设施,即可在自定义数据集上训练模型。

运作方式

它提供了一个灵活的 API 和一套优化的训练脚本,利用先进的分布式训练技术。该库实现了 3D 并行处理(结合数据、张量和流水线并行处理)以及针对 Mixture-of-Experts (MoE) 模型的专家并行处理,以有效地将工作负载分配到多个 GPU 和节点上。

目标对象

它专为需要预训练大规模语言模型 (LLMs) 或其他基于 transformer 架构,且需要一个既易于使用又能扩展到大型计算集群的工具的研究人员和工程师而设计。

特色亮点

  • 3D 并行处理: 支持数据并行处理 (DP)、张量并行处理 (TP) 和流水线并行处理 (PP)。
  • MoE 支持: 包含针对 Mixture-of-Experts 模型的专家并行处理。
  • 优化技术: 具备 ZeRO-1 优化器、FP32 梯度累积以及自定义模块检查点功能,以提高内存效率。
  • 扩展工具: 实现了 spectral µTransfer 参数化,有助于扩展神经网络。
  • 性能监控: 使用基于 CUDA 事件的计时功能,进行精确的 GPU 性能测量。

相关

  • 项目
  • 项目
  • 项目
  • 项目