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 パフォーマンス測定を実現。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト