- 교육 목적으로 설계된 PyTorch 기반의 간단한 LLM 훈련 프로젝트로, 효율적인 훈련과 최신 샘플링 기법을 적용
Features
- 최소 코드베이스: PyTorch로 구현되어 복잡한 추상화가 없음
- 최신 아키텍처: GPT 모델로, 플래시 어텐션, RMSNorm, SwiGLU, 효율적인 샘플링 기법 포함
- 훈련 기능:
- 혼합 정밀도 (bfloat16/float16)
- 그래디언트 누적
- 웜업을 통한 학습률 감소
- 가중치 감소 및 그래디언트 클리핑
- 데이터셋 지원: TinyStories 데이터셋 처리 내장
- 커스텀 토크나이저: SentencePiece 토크나이저 훈련 통합
설치
- Python 3.8+
- PyTorch 2.0+ 및 CUDA
- 최신 GPU 권장
빠른 시작 🚀
옵션 1: 전체 훈련 사이클
- 데이터셋 준비
- 훈련 시작
- 텍스트 생성
옵션 2: 사전 훈련된 모델 사용
- 자산 다운로드
- 추론 실행
사전 훈련된 모델 세부사항
- TinyStories 데이터셋으로 훈련됨
- 4096 토큰 어휘, 8 헤드, 8 레이어 트랜스포머, 512 임베딩 차원
- 약 4억 토큰으로 18.5시간 훈련
- 검증 손실: 1.0491
훈련 장비 사양
- GPU: NVIDIA L4 Tensor Core
- vCPUs: 16
- RAM: 64 GB
- VRAM: 24 GB
참고: 이 구현은 교육 목적으로 현대 LLM 훈련 관행을 참고하여 제작됨. 생산 환경에서는 모델 크기와 데이터셋을 확장하는 것이 좋음.