初始化项目,由ModelHub XC社区提供模型
Model: pathcosmos/frankenstallm Source: Original Platform
This commit is contained in:
60
source/configs/3b_pretrain.yaml
Normal file
60
source/configs/3b_pretrain.yaml
Normal file
@@ -0,0 +1,60 @@
|
||||
# Korean LLM 3B parameters — FP8 (B200 TransformerEngine MXFP8)
|
||||
#
|
||||
# [아키텍처 근거 — 2026-02-27]
|
||||
# - 저스티스리그 제안 기반: d_model=2560, 32L, 32H, 8KV
|
||||
# - 파라미터: ~2.39B ("3B급" — Llama-3.2-3B 대비 경량, 한국어 64K vocab 효율)
|
||||
# - d_ffn=6912: 2.7×d_model, 16배수 FP8 정렬
|
||||
# - GQA 4:1 (32H:8KV) — 추론 효율 + KV cache 절약
|
||||
# - head_dim=80 (2560/32) — Flash Attention 효율적
|
||||
#
|
||||
# [데이터/학습 설계]
|
||||
# - 데이터: korean_train.bin 8.91B tokens
|
||||
# - Chinchilla 최적: 2.4B × 20 = 48B tokens
|
||||
# - 실제 목표: 60B tokens (6.7 에포크) — 한국어 단일 언어 특성상 추가 학습 유리
|
||||
# - max_steps 57000 = 60B tokens / 1,048,576 tok/step
|
||||
#
|
||||
# [GPU 메모리 예측 — 8× B200 183GB]
|
||||
# - 모델 FP8: 2.4 GB
|
||||
# - Optimizer (bf16 master + fp32 mom/var): 23.9 GB
|
||||
# - Gradient (bf16): 4.8 GB
|
||||
# - Activation (per GPU, bs=8): ~27 GB
|
||||
# - 합계: ~58 GB/GPU (31.7% 활용) → 여유 충분
|
||||
#
|
||||
# 실행: bash scripts/launch_korean_3b.sh
|
||||
# 테스트: RUN_NAME=korean_3b_test bash scripts/launch_korean_3b.sh --max_steps 50
|
||||
|
||||
model:
|
||||
vocab_size: 64000
|
||||
d_model: 2560
|
||||
n_layers: 32
|
||||
n_heads: 32
|
||||
n_kv_heads: 8 # GQA 4:1 (K/V 파라미터 75% 절감)
|
||||
d_ffn: 6912 # 2.7×d_model, 16배수 (FP8 alignment)
|
||||
max_seq_len: 4096
|
||||
rope_theta: 500000.0
|
||||
dropout: 0.0
|
||||
bias: false
|
||||
use_flash_attn: true
|
||||
use_fp8: true # TransformerEngine MXFP8BlockScaling (B200 네이티브)
|
||||
|
||||
train:
|
||||
# 57k steps × 1,048,576 tok/step = 59.8B tokens ≈ 6.7 에포크
|
||||
max_steps: 57000
|
||||
batch_size: 4 # per GPU: 4 × 4096 = 16,384 토큰 | VRAM ~130 GB (183GB의 71%)
|
||||
grad_accum_steps: 8 # eff_batch: 4 × 8GPU × 8 × 4096 = 1,048,576 tok/step
|
||||
lr: 1.5e-4 # 3B 규모: GPT-3 scaling 기준 1B(2e-4) → 3B(1.5e-4)
|
||||
weight_decay: 0.1
|
||||
warmup_steps: 2000 # 57k steps의 3.5% — 안정적 warmup
|
||||
max_grad_norm: 1.0
|
||||
log_interval: 10
|
||||
save_interval: 1000 # 57k steps 기준 ~57 체크포인트
|
||||
eval_interval: 500 # val loss 모니터링
|
||||
use_amp: false # fp8_autocast가 대체
|
||||
compile_model: false # TE 2.10 + DDP graph break 위험
|
||||
fp8_amax_history_len: 16
|
||||
fp8_amax_compute_algo: "max"
|
||||
fp8_format: "MXFP8" # B200 Blackwell 네이티브 블록 스케일링
|
||||
|
||||
tokenizer:
|
||||
vocab_size: 64000
|
||||
type: sentencepiece_unigram
|
||||
Reference in New Issue
Block a user