LLM(Large Language Model)을 학습하기 위해 얼마나 많은 시간이 필요할까?
최근 Compute Budget관련 블로그 페이지를 정리하면서 LLM 학습에 어떠한 HW 시스템을 사용하는지, 학습 시간은 얼마나 걸릴지 궁금했다. 왜냐하면 LLM을 학습하는데 수년이 걸린다면 그 LLM은 실제로 사용하기 어려우므로 수 주에서 2~3개월 수준 내에서 학습 가능한 HW 시스템 사양이 필요하기 때문이다.
이를 계기로 각 업체 또는 프로젝트 별로 LLM 학습에 사용하는 HW 시스템와 LLM 모델 학습에 걸리는 시간을 정리하였다.
1. BigScience 프로젝트
“BigScience” 프로젝트는 21년초 HuggingFace, GENCI(Grand équipement National de calcul intensif. 영문으로는 프랑스의 Nation HPC Equipment), IDRIS(프랑스. The Institute for Development and Resources in Intensive Scientific Computing) 사이에서 논의를 통해 시작한 프로젝트이다.
BigScience 프로젝트팀의 목표
LLM은 자원이 풍부한 연구 그룹과 소수의 기업만이 가질 수 있으며 실제 그 연구 결과물들을 공개하지 않는다. BigScience는 협력적인 개방형 과학 이니셔티브로 오픈 소스 대형 언어 모델을 만들기 위한 최초의 시도이다.
BigScience 프로젝트에 참여하는 연구원들은 전세계 1000명 이상이며 전 세계의 많은 연구원들이 함께 협력하여 대규모 언어 모델을 학습한다. 모든 것이 공개적으로 진행되며 누구나 참여할 수 있으며 모든 연구 결과물은 전체 연구 커뮤니티와 공유된다.
모델 사양
- 모델: 176B
- 데이터셋: 350B words
- 46개 언어
HW 시스템 사양
사용된 장비는 Supercomputer Jean Zay로 BigScience 프로젝트에 투입된 사양은 다음과 같다.
학습 시스템의 SW 구성
BigScience 프로젝트는 클러스터 GPU를 효율적으로 확장하기 위해 NVIDIA와 DeepSpeed팀과 긴밀히 협력하였다.
(1) Parallelism
BigScience 프로젝트는 높은 모델 처리량을 얻기 3D parallelism을 사용하였다. 1개의 모델 replica를 Model Parallelism으로 학습하기 위해 48개의 GPUs가 사용되며, 8개의 모델 replica를 Data Parallelism로 학습하기 위해 총 384개의 GPUs가 사용되었다.
- Tensor Parallelism: 4-way
- Pipeline Parallelism: 12-way
- Data Parallelism: 8-way
(2) SW library
- Pytorch 1.11
- CUDA 11.5
- DeepSpeed 0.6.0
- NVIDIA’s apex
(3) Throughput
초기 throughput은 90 TFLOPs 정도였으나 150 TFLOPs까지 향상시켰다.
학습 시간
150 TFLOPs를 가정하였을 때 3.5개월이 걸리는 것으로 평가되나 잠재적인 문제들을 고려하면 150~200일이 걸린다고 한다.
2. Meta : OPT (Open Pre-trained Transformer)
모델 사양
- 175B
- 300B tokens
- ~4.30E+23 FLOPs
HW 사양
- 1024 A100 GPUs (80GB)
학습 시간
- ~33 일
3. Meta: MoE 모델(1.1T)
모델 사양
- 1.1T MoE 모델 (6.7B dense 모델과 동등한 computation)
- ~2.16E+22 FLOPs
HW 사양
- 512 A100 GPUs (80GB)
학습 시간
- ???
4. OpenAI: GPT-3 (175B)
모델 사양
- 175B
- 3.14E+23 FLOPs
HW 사양
- 10K V100 GPUs
학습 시간
- 14.8 days
레퍼런스
[1] Which hardware do you need to train a 176B parameters model?
[2] Meta — OPT: Open Pre-trained Transformer Language Models
[3] Jean Zay Supercomputer