Home

Awesome

SWARM Parallelism: Training Large Models Can Be Surprisingly Communication-Efficient

Illustration of SWARM parallelism

This repository contains the code to replicate experiments of "SWARM Parallelism: Training Large Models Can Be Surprisingly Communication-Efficient".

Note: this codebase, as well as the project itself, is a work in progress: certain features (e.g., rebalancing between pipeline stages) are not yet added to the repository, expect the paper to get updated as well. In the meantime, you can watch this repository or visit the repository of Petals — a similar project for inference of large language models that was inspired by SWARM and shares portions of codebase with it.

Large-scale experiments and throughput estimation

Instructions to replicate the experiments on large-scale language model pretraining and throughput estimation on multiple preemptible nodes, as well as the prototype implementation of SWARM, are located in the swarm subfolder.

Bottleneck experiments

Instructions to replicate the compression-aware architecture experiments can be found in bottleneck/README.md.

Contacts

Feel free to ask any questions about this work by email.

References

@misc{ryabinin2023swarm,
    title={SWARM Parallelism: Training Large Models Can Be Surprisingly Communication-Efficient},
    author={Max Ryabinin and Tim Dettmers and Michael Diskin and Alexander Borzunov},
    year={2023},
    eprint={2301.11913},
    archivePrefix={arXiv},
    primaryClass={cs.DC}
}