EleutherAI/gpt-neox
An implementation of model parallel autoregressive transformers on GPUs, based on the Megatron and DeepSpeed libraries
GPT‑NeoX란 무엇인가요?
GPT‑NeoX는 GPU 클러스터에서 초대형 자기회귀 언어 모델(수십억 개의 매개변수)을 훈련하기 위한 오픈 소스 라이브러리입니다. NVIDIA의 Megatron‑LM 코드베이스를 기반으로 구축되었으며, DeepSpeed 스타일의 최적화를 추가하고, 많은 슈퍼컴퓨팅 환경(AWS, Summit, Frontier, LUMI 등)에서 대규모 훈련을 실용적으로 만드는 많은 엔지니어링을 포함합니다.
누가 사용할까요?
- 연구실: 처음부터 새로운 LLM을 훈련하거나 기존 LLM 훈련을 계속하려는 곳.
- 엔지니어: Slurm, MPI 또는 IBM Job Step Manager 클러스터에서 실행할 수 있는 프로덕션 준비된 훈련 스택이 필요한 곳.
- 모두: 이미 다중 노드, 다중 GPU 훈련을 위한 컴퓨팅 예산을 가지고 있으며, 저수준 PyTorch에서 모든 것을 구축하는 대신 턴키 프레임워크를 원하는 곳.
기존 모델에서 추론만 실행해야 하는 경우, README에서는 대신 Hugging Face transformers를 사용하도록 권장합니다.
핵심 기능 (README에 설명된 대로)
| 기능 | 의미 |
|---|---|
| 분산 훈련 | ZeRO 단계 최적화 및 3D 병렬 처리(데이터, 텐서, 파이프라인)를 지원하여 모델을 여러 GPU에 분산시킵니다. |
| 하드웨어 유연성 | NVIDIA 및 AMD GPU에서 작동하며, Slurm, MPI, pdsh 또는 IBM Job Step Manager를 통해 시작할 수 있고, 클라우드(AWS, CoreWeave) 및 많은 슈퍼컴퓨터(Summit, Frontier, Polaris, LUMI)에서 실행되었습니다. |
| 최신 모델 기법 | rotary 및 alibi 위치 임베딩, flash attention, 병렬 피드포워드 레이어, 그리고 Mixture‑of‑Experts, RWKV, Mamba 및 기타 새로운 아키텍처에 대한 지원을 포함합니다. |
| 커리큘럼 학습 및 선호 학습 | 커리큘럼 일정을 위한 내장 파이프라인과 DPO, KTO, 보상 모델링과 같은 최신 미세 조정 방법. |
| 생태계 통합 | Hugging Face tokenizers/transformers를 사용하고, WandB, Comet, TensorBoard에 로그를 기록하며, EleutherAI LM‑Evaluation‑Harness로 평가할 수 있습니다. |
| 내보내기 | 훈련된 체크포인트는 다운스트림 추론을 위해 Hugging Face 형식으로 변환할 수 있습니다. |
| 컨테이너 지원 | 재현 가능한 환경을 위해 Docker 및 Apptainer 이미지가 제공됩니다. |
시작하는 방법(빠른 시작 개요)
- Python 환경을 설정하고(Python 3.8‑3.10, PyTorch 1.8‑2.0)
requirements/*.txt파일을 통해 필요한 패키지를 설치합니다. - 시작 방법 선택 – 예: Slurm, MPI 또는 기본
pdsh. 노드/GPU를 설명하는 hostfile을 만듭니다. - 구성 선택 또는 작성 – 리포지토리에는 인기 있는 모델 크기(1‑3 B, 20 B 등)와 아키텍처(Pythia, PaLM, Falcon, LLaMA 1/2)에 대한 YAML 구성이 제공됩니다.
- 도우미 스크립트를 사용하여 훈련 실행:
python3 deepy.py train.py /path/to/your/config.yml - WandB, Comet 또는 TensorBoard를 통해 모니터링하고, 선택적으로 S3에 체크포인트를 저장합니다.
- 최종 체크포인트를 추론을 위해 Hugging Face 형식으로 내보내기합니다.
적합하지 않은 경우
- 기존 모델에 대한 추론만 필요한 경우(
transformers사용). - 다중 GPU 클러스터에 대한 액세스 권한이나 수십억 매개변수 훈련을 위한 예산이 부족한 경우.
- 저수준 시작 세부 정보를 추상화하는 더 높은 수준의 단일 노드 트레이너(예: Lightning, FastChat)를 선호하는 경우.
추가 정보를 찾을 수 있는 곳
- 도입 및 출판물 섹션에는 GPT‑NeoX를 사용한 연구실 및 논문이 나열되어 있습니다.
- 라이선스 및 기여 세부 정보는 리포지토리의 관리 노트에 있습니다.
- 컨테이너는 Docker 또는 Apptainer용
containers/아래에 있습니다.
결론: GPT‑NeoX는 다양한 HPC 환경에서 대규모 분산 훈련 작업을 실행해야 하는 연구원 및 엔지니어를 위한 진지하고 프로덕션 등급의 대규모 언어 모델 훈련 프레임워크입니다. 장난감 데모나 단순한 추론 라이브러리가 아닙니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트