PyTorchでゼロから分散学習の並列化を実装する、小さな教育用リポジトリを作りました:
https://github.com/shreyansh26/pytorch-distributed-training-from-scratch
高レベルの抽象化を使うのではなく、コードは順伝播/逆伝播のロジックと集合通信(collectives)を明示的に書いているので、アルゴリズムをそのまま見られます。
モデルは意図的に、合成タスク上での「2つの行列積(2-matmul)」のMLPブロックを繰り返すだけのものです。したがって、主に調べているのは通信パターンです。
これは主に、大規模なフレームワークを掘り下げることなく、分散学習の数式をそのまま実行可能なコードに対応づけたい人向けに作りました。
JAX ML Scaling book の第5部:Training をもとにしています。
[リンク] [コメント]




