NanoGPT Slowrun: 제한된 데이터와 무한한 연산을 이용한 언어 모델링
Source: Hacker News
Compute vs. Data Scaling
컴퓨팅은 데이터보다 훨씬 빠르게 성장합니다. 현재의 스케일링 법칙은 두 요소를 모두 비례적으로 늘려야 확장할 수 있지만, 성장 속도의 비대칭 때문에 지능은 결국 데이터가 병목이 되고, 컴퓨팅은 그보다 덜 중요한 요소가 됩니다. 이는 언어 모델을 제외한 거의 모든 분야를 살펴보면 쉽게 알 수 있습니다. 로봇공학과 생물학에서는 방대한 데이터 요구량 때문에 모델이 약하고, 두 분야 모두 1000배 더 많은 컴퓨팅을 활용할 경제적 인센티브가 충분히 존재합니다. 하지만 데이터 없이 컴퓨팅만으로 스케일링하는 방법을 아무도 알지 못하기 때문에 이를 실현할 수 없습니다.
해결책은 제한된 데이터, 사실상 무한에 가까운 컴퓨팅 환경에서 작동하는 새로운 학습 알고리즘을 만드는 것입니다. 이것이 Q Labs에서 우리가 해결하고자 하는 과제이며, 우리의 목표는 일반화(generalization)를 이해하고 해결하는 것입니다.
지난 주 우리는 데이터 효율적인 학습 알고리즘을 위한 오픈 레포인 NanoGPT Slowrun를 공개했습니다. 규칙은 간단합니다: FineWeb에서 1억 토큰을 사용해 학습하고, 원하는 만큼 컴퓨팅을 사용하며, 검증 손실이 가장 낮은 것이 승리합니다. 개선 사항은 레포에 PR로 제출하고 검증 손실을 낮추면 병합됩니다. 이 제약은 modded‑nanogpt와 같은 스피드런(speedrun)과는 반대로, 벽시계 시간(wall‑clock time)을 최적화하는 것이 아니라 손실을 최소화하는 데 초점을 맞춥니다. 이러한 벤치마크는 큰 생산성을 보여주었지만, 속도에 최적화하면 비용이 많이 드는 아이디어—무거운 정규화, 2차 최적화기, 경사 하강법 대안—가 걸러집니다. Slowrun은 바로 그런 아이디어들을 위해 설계되었습니다.
What we’ve found so far
- Muon이 우리가 테스트한 모든 최적화기(AdamW, SOAP, MAGMA)를 능가합니다.
- 다에폭 학습이 중요합니다.
- Kotha et al.의 연구를 따라, 큰 파라미터 수로 스케일링할 때는 공격적인 정규화(표준보다 최대 16배 높은 가중치 감쇠와 드롭아웃)를 함께 적용하면 효과적입니다.
베이스라인은 modded‑nanogpt 대비 약 2.4배의 데이터 효율성을 보입니다.
Update: 5.5× Data Efficiency
초기 릴리스 이후, 커뮤니티 기여 덕분에 데이터 효율성이 modded‑nanogpt 대비 약 2.4배에서 5.5배로 상승했으며, 며칠 만에 두 배 이상 향상되었습니다. 주요 변화는 다음과 같습니다:
- 각 에폭 시작 시 셔플링을 적용했으며, 이는 다에폭 학습에 큰 영향을 미쳤습니다.
- 별도의 임베딩 테이블 대신 값 임베딩에 대한 학습된 프로젝션을 사용했습니다.
- 제곱 ReLU를 SwiGLU 활성화 함수로 교체했습니다.
- 여러 모델을 앙상블했습니다.
단기적으로는 10배 데이터 효율성도 달성 가능해 보이며, 연말까지 100배 효율성도 가능할 것으로 예상됩니다. 다만 이를 위해서는 알고리즘 측면에서의 본격적인 탐구가 필요합니다.
Directions we think are wide open
- 2차 최적화기와 자연 그래디언트 방법
- 확산 모델(Diffusion models)
- 커리큘럼 학습(Curriculum learning)
- 진화 탐색과 같은 경사 하강법 대안
- 압축/모델 복잡도 최적화
이 중 어느 분야든 작업 중이거나 우리가 아직 생각하지 못한 아이디어가 있다면, 레포에 이슈를 열거나 이메일을 보내 주세요.