deepspeedai/DeepSpeed
DeepSpeed is a deep learning optimization library that makes distributed training and inference easy, efficient, and effective.
What it solves
DeepSpeed는 GPU 하드웨어의 메모리와 연산 제한을 극복하고, 매우 큰 딥러닝 모델을 학습할 수 있도록 설계되었습니다. 수천억, 심지어 수조 개 파라미터에 달하는 모델 학습을 가능하게 하여 대규모 AI 트레이닝을 보다 효율적이고 효과적이며 접근하기 쉽게 만듭니다.
How it works
DeepSpeed는 메모리 사용량과 처리량을 최적화하기 위해 다양한 시스템 수준 혁신을 적용합니다. 주요 기술은 다음과 같습니다:
- ZeRO (Zero Redundancy Optimizer): 옵티마이저 상태, 그래디언트, 파라미터를 파티셔닝하여 GPU 간 메모리 중복을 감소시킵니다.
- 3D-Parallelism: 서로 다른 유형의 병렬성을 결합해 다수의 디바이스에 걸쳐 학습을 확장합니다.
- Offloading: ZeRO‑Infinity, ZenFlow, SuperOffload와 같은 기술을 통해 GPU 메모리와 CPU/NVMe 스토리지 간에 데이터를 이동시켜 "메모리 벽"을 깨뜨립니다.
- Sequence Parallelism: 긴 컨텍스트 LLM 학습을 위해 특별히 설계되었습니다(예: Ulysses Sequence Parallelism).
Who it’s for
수백억~수조 개 파라미터 규모의 언어 모델이나 기타 대규모 딥러닝 모델을 학습하고, 여러 GPU 혹은 다양한 하드웨어 가속기(NVIDIA, AMD, Intel, Huawei)에서 학습을 확장해야 하는 AI 연구자와 엔지니어를 위한 도구입니다.
Highlights
- Proven Scale: MT-530B, BLOOM 등 세계 최고 수준 모델 학습에 사용되었습니다.
- Hugging Face Integration: Transformers와 Accelerate 라이브러리와 깊이 통합되어 있습니다.
- Broad Hardware Support: NVIDIA, AMD, Intel Gaudi/XPU, Huawei Ascend NPU와 호환됩니다.
- Advanced Memory Management: ZeRO와 ZeRO‑Infinity와 같은 기능을 통해 GPU 메모리 한계를 초과하는 모델도 학습할 수 있습니다.