qlabs-eng/slowrun
100M tokens. Infinite compute. Lowest val loss wins.
NanoGPT Slowrun – 무제한 컴퓨팅, 고정 데이터 언어 모델 학습을 위한 벤치마크
개요 – Slowrun은 데이터 예산이 고정(FineWeb 데이터셋에서 100 M 토큰)되어 있지만 컴퓨팅 예산이 사실상 무제한인 경우, 언어 모델이 검증 손실을 얼마나 낮출 수 있는지 측정하는 커뮤니티 주도 벤치마크입니다. 이 개념은 고정된 하드웨어 예산 내에서 벽시계 시간을 최적화하는 일반적인 "스피드런" 대회와는 대조적입니다. 시간 제한을 제거함으로써 연구자들은 강력한 정규화, 대규모 모델, 고비용 최적화 기법, 그리고 동일한 데이터에 대해 수 시간 또는 수 일을 투자해야만 효과를 볼 수 있는 알고리즘 트릭을 실험할 수 있습니다.
중요성 – 현대 LLM 연구의 대부분은 데이터와 컴퓨팅을 동시에 확장하는 데 초점을 맞추고 있습니다. Slowrun은 문제의 알고리즘 측면을 분리합니다. 현실적이고 적절한 데이터셋이 주어졌을 때, 장시간 학습할 여유가 있다면 실제로 일반화 성능을 향상시키는 학습 기법은 무엇일까요? 리더보드에는 일련의 점진적인 개선 사항(새로운 활성화 함수, U-Net 스타일 아키텍처, 확률적 가중치 평균화, meta-gradients 등)이 기록되며, 각각에 대해 재현 가능한 스크립트가 제공됩니다.
작동 방식
- 데이터: 공개된 FineWeb 코퍼스에서 추출한 100 M 토큰.
- 트랙: 참가자들이 다양한 자원 수준에서 경쟁할 수 있도록 4개의 컴퓨팅 시간 제한이 정의되어 있습니다:
- Limited – 단일 8×H100 노드에서 1시간(기존 NanoChat 1-epoch 베이스라인의 약 100배 컴퓨팅).
- Tiny – 동일 하드웨어에서 15분.
- Two-hour – 동일 하드웨어에서 2시간.
- Unlimited – 하드 시간 제한 없음. 최소한의 하드웨어 제한만 존재.
- 베이스라인: Muon 최적화 기법, dropout 0.1, 매우 높은 가중치 감쇠(1.6)를 사용하여 학습된 2.7 B 파라미터 트랜스포머. Limited 트랙에서 이 베이스라인은 약 47분 만에 3.402의 검증 손실에 도달합니다.
- 리더보드: 기여자는 특정 트랙의 검증 손실을 개선하는 pull-request를 제출합니다. README에는 모든 세계 기록 항목, 사용된 스크립트, 변경 사항에 대한 간단한 설명(예: "독점적 셀프 어텐션(XSA) 추가", "확률적 가중치 평균화 사용", "MLP 행렬에서 1차 meta-gradient 사용")이 기록됩니다.
시작하기
# 1. 저장소 복제
git clone https://github.com/qlabs-eng/slowrun.git && cd slowrun
# 2. 의존성 설치 (Python 3, PyTorch, HuggingFace, wandb 등)
pip install -r requirements.txt
# 3. 100 M 토큰 FineWeb 서브셋 다운로드 및 준비
python prepare_data.py
# 4. 학습 시작 (예: limited-compute 트랙)
# 8-GPU 노드가 필요하며, torchrun이 GPU당 하나의 프로세스를 생성합니다.
HF_TOKEN=… WANDB_API_KEY=… torchrun --standalone --nproc_per_node=8 train.py
train.py를 원하는 트랙의 스크립트(tiny/train.py,two_hour/train.py또는unlimited/train.py)로 교체하세요.- 데이터셋 접근을 위한 Hugging Face 토큰(
HF_TOKEN)과 실험 로그 기록을 원할 경우 Weights & Biases API 키(WANDB_API_KEY)를 설정하세요.
리더보드 주요 성과
| 트랙 | 베스트 검증 손실 (README 기준) | 기여한 주요 트릭 |
|---|---|---|
| Limited (1 h) | 3.183 | MLP 행렬의 meta-gradient, 독점적 셀프 어텐션, MuonEq-R, 가중 체크포인트 평균화 |
| Tiny (15 min) | 3.295 | fp8 혼합 정밀도, 2× 재귀, XSA, SWA, EMA |
| Two-hour | 3.139 | 인터리브 헤드 어텐션, 문서 단위 셔플링, 컨텍스트 윈도우 스케줄링 |
| Unlimited | 2.987 | 대규모 앙상블, 스냅샷 앙상블, 그래디언트 기반 모델 선택, 광범위한 하이퍼파라미터 튜닝 |
사용자 – 이 프로젝트는 Q-Labs 엔지니어링 팀 멤버들의 지원을 받고 있으며, Andrej Karpathy(발표 내용을 리트윗함)의 관심을 끌었습니다. 기여자는 X 핸들로 나열되어 있으며, 많은 이들이 새로운 최적화 기법이나 아키텍처 아이디어를 실험하는 현직 AI 연구자들입니다.
기여 방법 – 저장소를 포크하고, 적절한 train.py를 수정(또는 새 스크립트 추가)하여 트랙 시간 제한 내에서 더 낮은 검증 손실을 달성한 후 pull-request를 여세요. 관리자가 (제공된 HF 토큰과 wandb 로그를 사용하여) 실행을 검증하고 성공하면 세계 기록 테이블에 항목을 추가합니다.
TL;DR – Slowrun은 멀티 GPU H100 노드(또는 클라우드 동급 환경)에 접근할 수 있는 사람이라면 누구나 데이터 제약 환경에서 고성능 학습 기법을 실험할 수 있는 라이브 벤치마크입니다. 현재 트랙의 최고 검증 손실을 경신하는 PR을 제출하여 리더보드에 이름을 올리고, 컴퓨팅 자원이 유일한 제한 요소일 때 어떤 알고리즘 아이디어가 실제로 확장되는지 커뮤니티가 이해하도록 도울 수 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트