Megatron 첫 학습 실행
Megatron 첫 학습 실행
Megatron Core로 첫 학습을 실행하는 과정을 보여드릴게요. 두 가지 학습 예제를 돌려 보고, 그 다음에 자신의 데이터셋으로 학습하기 위한 데이터 준비를 다뤄요. 최소한의 분산 루프로 환경을 검증한 뒤, 전체 LLaMA-3 학습 작업을 실행해요.
최소 학습 예제
가장 단순한 구성부터 시작해요. mock 데이터로 두 GPU에서 도는 분산 학습 루프예요. 실제 모델로 넘어가기 전에 환경이 제대로 설정됐는지 확인하는 용도예요.
torchrun --nproc_per_node=2 examples/run_simple_mcore_train_loop.py
LLaMA-3 학습 예제
환경 검증이 끝나면 프로덕션 스케일 예제를 실행해요. 아래 스크립트는 8 GPU에서 FP8 혼합 정밀도로 LLaMA-3 8B 모델을 mock 데이터로 학습하며, 텐서 병렬화와 최적화된 커널을 시연해요.
./examples/llama/train_llama3_8b_h100_fp8.sh
데이터 준비
자신의 데이터로 학습하려면 Megatron이 기대하는 전처리된 바이너리 파일(.bin과 .idx)이 필요해요.
1. JSONL 파일 준비
각 줄에 text 필드가 있어야 해요.
{"text": "Your training text here..."}
{"text": "Another training sample..."}
2. 데이터 전처리
전처리 스크립트로 토크나이즈하고 바이너리 형식으로 변환해요.
python tools/preprocess_data.py \
--input data.jsonl \
--output-prefix processed_data \
--tokenizer-type HuggingFaceTokenizer \
--tokenizer-model /path/to/tokenizer.model \
--workers 8 \
--append-eod
주요 인자
--input: 입력 JSON/JSONL 파일 경로--output-prefix: 출력 바이너리 파일(.bin·.idx) 접두사--tokenizer-type: 토크나이저 유형 (HuggingFaceTokenizer,GPT2BPETokenizer등)--tokenizer-model: 토크나이저 모델 파일 경로--workers: 병렬 처리 워커 수--append-eod: 문서 끝(end-of-document) 토큰 추가
다음 단계
학습을 확장하려면 병렬화 전략 가이드를 참고하고, 고급 기능으로 FP8 학습·컨텍스트 병렬화 등을 다뤄요.