H64LM: PyTorch로 밑바닥부터 구현한 249M 파라미터 Mixture-of-Experts Transformer
요약
PyTorch를 사용하여 249M 파라미터 규모의 MoE Transformer를 밑바닥부터 직접 구현한 연구 프로젝트입니다. GQA, SwiGLU, RoPE 등 현대적 LLM의 핵심 구성 요소를 직접 구현하여 모델 구조에 대한 깊은 이해를 목표로 합니다.
핵심 포인트
- 249M 파라미터 규모의 Sparse MoE Transformer 구현
- GQA, SwiGLU, RoPE, RMSNorm 등 최신 아키텍처 적용
- 고수준 프레임워크 없이 어텐션 및 라우팅 직접 구현
- WikiText-103 데이터셋을 통한 엔드투엔드 파이프라인 검증
안녕하세요 여러분,
저는 PyTorch로 LLM(Large Language Model)을 밑바닥부터 직접 구현함으로써 현대적인 LLM을 더 잘 이해하기 위한 연구 프로젝트인 H64LM을 구축했습니다.
고수준(high-level) 학습 프레임워크에 의존하는 대신, 어텐션(attention), MoE 라우팅(routing), 정규화(normalization), 그리고 학습 루프(training loop)와 같은 핵심 구성 요소들을 직접 구현했습니다.
주요 특징:
- 249M 파라미터 Transformer
- 그룹화된 쿼리 어텐션 (Grouped Query Attention, GQA)
- 3개의 보조 라우팅 손실(auxiliary routing losses)을 포함한 희소 전문가 혼합 (Sparse Mixture-of-Experts, 8개 전문가, Top-2 라우팅)
- SwiGLU, RoPE, RMSNorm
- 슬라이딩 윈도우 어텐션 (Sliding-window attention)
- 혼합 정밀도 학습 (Mixed-precision training), 그래디언트 누적 (gradient accumulation)
- 커스텀 학습 루프 (Trainer 추상화 미사용)
- 체크포인팅(Checkpointing) 및 재개(resume) 지원
포함된 체크포인트는 파이프라인을 엔드투엔드(end-to-end)로 검증하기 위해 WikiText-103의 하위 집합으로 학습되었으며, 강력한 모델을 목표로 한 것은 아닙니다. 10 에포크(epoch) 이후로는 눈에 띄게 과적합(overfit)되었습니다 (최고 val PPL ~40.5).
배치 크기 1에서만 가능한 생성(batch-size-1-only generation) 및 진정한 DDP(Distributed Data Parallel) 미지원(DataParallel로 대체됨)을 포함한 알려진 제한 사항들은 README에 문서화되어 있습니다.
GitHub: https://github.com/Haiderkhan64/H64LM
구현 방식이나 아키텍처에 대한 피드백은 언제나 환영합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 r/OpenAI Codex (search)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기