AI 에이전트가 단일 GPU에서 LLM 훈련 실험을 자율적으로 수행하는 연구 자동화 도구.
Overview
autoresearch는 Andrej Karpathy가 개발한 오픈소스 프로젝트로, AI 에이전트가 사람의 개입 없이 LLM 훈련 실험을 설계하고 실행하도록 설계되었다. 핵심 아이디어는 연구자가 직접 실험을 반복하는 대신, AI 에이전트에게 실험 자동화를 위임하는 것이다. 에이전트는 train.py 파일을 수정하고, 5분의 고정 시간 동안 훈련을 진행한 후, 검증 메트릭(val_bpb)을 평가하여 개선 여부를 판단한다. 이 과정을 반복하여 단시간에 수많은 실험을 수행할 수 있다.
이 프로젝트는 nanochat의 단순화된 단일 GPU 구현을 기반으로 하며, H100 GPU에서 테스트되었다. 연구자는 program.md 파일을 통해 에이전트의 행동을 지시하고 전략을 설정한다. 이는 마치 연구 조직의 ‘코드’를 작성하는 것과 같아, 시간이 지남에 따라 가장 빠른 연구 진전을 이루는 프롬프트를 찾아내는 것이 목표다.
Background
전통적인 LLM 연구는 연구자가 직접 실험을 설계하고, 코드를 수정하고, 훈련을 실행하고, 결과를 분석하는 과정을 반복한다. 이는 시간이 많이 소요되고 인간의 피로, 편향, 제한된 생산성에 영향을 받는다. autoresearch는 이러한 과정을 자동화하여 AI 에이전트가 연구자의 역할을 대체하도록 한다.
이 프로젝트는 Karpathy의 이전 작업인 nanochat에서 파생되었다. nanochat은 챗봇 훈련을 위한 간단한 LLM 훈련 코드베이스였다. autoresearch는 여기에 AI 에이전트를 통합하여 자율 실험 기능을 추가했다. 이는 AI 에이전트를 활용한 연구 자동화의 초기 사례로, 이후 AI 연구 자체가 완전히 자동화되는 미래를 상징한다.
How It Works
핵심 파일 구조
프로젝트는 세 가지 주요 파일로 구성된다:
prepare.py: 고정 상수, 데이터 준비(다운로드, BPE 토크나이저 훈련), 런타임 유틸리티(데이터로더, 평가)를 포함한다. 수정되지 않는다.train.py: 전체 GPT 모델, 옵티마이저(Muon + AdamW), 훈련 루프를 포함한다. 에이전트가 이 파일만 수정한다.program.md: 에이전트에 대한 기본 지침 파일. 인간이 편집하여 에이전트의 전략을 설정한다.
실험 사이클
- 에이전트가
train.py를 수정 — 아키텍처, 하이퍼파라미터, 옵티마이저, 배치 크기 등 모든 부분을 변경할 수 있다. - 고정 5분 훈련 — 시작 및 컴파일 시간을 제외한 순수 훈련 시간이 정확히 5분이다.
- 검증 메트릭 평가 — val_bpb(validation bits per byte)를 측정한다. 낮을수록 좋으며, 어휘 크기와 무관하여 아키텍처 변경을 공정하게 비교할 수 있다.
- 결과 비교 — 이전 결과보다 개선되면 변경을 유지하고, 그렇지 않으면 폐기한다.
- 반복 — 약 12회/시간, 수면 중 약 100회 실험 가능.
설계 의도
- 단일 파일 수정: 범위를 제한하여 변경 사항을 추적 가능하게 한다.
- 고정 시간 예산: 다양한 변경(모델 크기, 배치 크기 등)에도 실험 간 직접 비교를 가능하게 한다. 단점은 다른 플랫폼과의 결과 비교가 불가능하다는 점이다.
- 자체 포함: PyTorch 외에 최소한의 의존성만 사용. 분산 훈련이나 복잡한 설정 없음.
Key Ideas
- AI 에이전트 기반 연구 자동화 — 연구자가 직접 실험하는 대신, AI 에이전트가 자율적으로 실험 계획, 코드 수정, 실행, 평가를 수행한다. 이는 연구 생산성을 극적으로 향상시킬 수 있다.
- 고정 시간 예산을 통한 공정 비교 — 모든 실험이 정확히 같은 시간 동안 훈련되므로, 아키텍처나 하이퍼파라미터 변경의 효과를 메트릭 하나로 비교할 수 있다.
- 인간-에이전트 협업 구조 — 인간은
program.md를 통해 높은 수준의 전략을 설정하고, 에이전트는 세부 실험을 자동화한다. 이는 마치 연구 리더가 연구팀을 지휘하는 것과 유사하다. - 단일 파일 수정 원칙 — 에이전트가 수정할 수 있는 파일을
train.py하나로 제한하여 복잡성을 줄이고 변경 사항을 검토 가능하게 한다.
Examples / Use Cases
- 연구자가 밤새 autoresearch를 실행하여 아침에 100회의 실험 로그와 개선된 모델을 확인한다.
- 연구자는
program.md를 반복적으로 개선하여 에이전트의 연구 전략을 최적화한다. - 작은 플랫폼(Macbook 등)에서도 TinyStories 데이터세트, 축소된
vocab_size,MAX_SEQ_LEN등을 사용하여 유사한 자동 실험을 수행할 수 있다.
Limitations / Considerations
- 결과는 특정 플랫폼에 종속적이다 — 다른 GPU나 시스템에서 실행된 결과와 직접 비교할 수 없다.
- 단일 GPU 환경에 최적화되어 있어 대규모 분산 훈련에는 적합하지 않다.
- 에이전트의 능력에 크게 의존한다 — 에이전트가 효과적인 실험을 설계하지 못하면 결과가 제한적일 수 있다.
program.md의 품질이 전체 연구 효율성을 결정한다.