autoresearch는 AI 에이전트가 단일 GPU에서 nanochat 훈련을 자동으로 실험하게 하는 연구 자동화 도구입니다.

Overview

autoresearch는 연구자가 직접 하이퍼파라미터를 튜닝하거나 코드를 수정하지 않고, AI 에이전트가 자율적으로 실험을 설계하고 실행하며 결과를 평가하는 시스템입니다. 핵심 아이디어는 작지만 실제적인 LLM 훈련 설정을 에이전트에게 제공하고, 밤새 자동으로 실험하게 하는 것입니다. 에이전트는 코드를 수정하고, 5분 동안 훈련하며, 결과가 개선되었는지 확인한 후 유지 또는 폐기하고 반복합니다. 연구자는 아침에 일어나 실험 로그와 개선된 모델을 확인할 수 있습니다.

이 도구는 단일 GPU 환경에 최적화되어 있으며, 연구 자동화의 진입점으로 설계되었습니다. karpathy는 이 프로젝트를 “모든 것이 시작된 이야기”라고 설명하며, 장기적으로 AI 에이전트가 연구 자동화를 주도하는 미래를 염두에 두고 있습니다.

Background

기존의 LLM 연구는 연구자가 직접 코드를 수정하고, 훈련을 실행하며, 결과를 분석하는 수동적인 과정을 거쳤습니다. 이 과정은 시간이 많이 소요되고, 사람의 개입이 필요하며, 실험 규모에 한계가 있었습니다. autoresearch는 이러한 병목을 해결하기 위해 AI 에이전트를 활용하여 실험 주기를 자동화합니다.

이 프로젝트는 karpathy의 nanochat 저장소를 기반으로 하며, 단일 GPU에서 작동하는 간소화된 LLM 훈련 코드를 사용합니다. 기존 연구 방식에서 벗어나, 연구자는 Python 파일을 직접 수정하는 대신 program.md 마크다운 파일을 작성하여 에이전트에게 맥락을 제공하고 연구 조직을 설정합니다.

How It Works

주요 파일 구성

autoresearch 저장소는 세 가지 핵심 파일로 구성됩니다:

  • prepare.py — 고정 상수, 일회성 데이터 준비(훈련 데이터 다운로드, BPE 토크나이저 훈련) 및 런타임 유틸리티(데이터로더, 평가)를 포함합니다. 수정되지 않습니다.

  • train.py — 에이전트가 수정하는 단일 파일입니다. 전체 GPT 모델, 옵티마이저(Muon + AdamW), 훈련 루프를 포함합니다. 아키텍처, 하이퍼파라미터, 옵티마이저, 배치 크기 등 모든 것이 수정 대상입니다.

  • program.md — 하나의 에이전트를 위한 기본 지침입니다. 연구자가 이 파일을 편집하여 에이전트의 행동을 제어합니다.

훈련 프로토콜

훈련은 고정된 5분 시간 예산(시작/컴파일 시간 제외, 실제 벽시계 시간 기준)으로 실행됩니다. 메트릭은 val_bpb(validation bits per byte)이며, 낮을수록 좋습니다. 이 메트릭은 어휘 크기에 독립적이므로 아키텍처 변경을 공정하게 비교할 수 있습니다.

실험 주기

  1. 에이전트가 train.py를 수정합니다.
  2. 5분 동안 훈련을 실행합니다.
  3. val_bpb가 이전보다 낮아졌는지 확인합니다.
  4. 개선되었다면 변경을 유지하고, 그렇지 않으면 되돌립니다.
  5. 반복합니다.

이 주기는 시간당 약 12회의 실험을 가능하게 하며, 수면 시간(약 8시간) 동안 약 100회의 실험을 수행할 수 있습니다.

설계 선택

  • 단일 파일 수정 — 에이전트는 train.py만 수정하여 범위를 관리 가능하게 유지하고 변경 사항을 검토 가능하게 합니다.
  • 고정 시간 예산 — 훈련이 항상 정확히 5분 동안 실행되므로, 실험 결과는 플랫폼에 관계없이 직접 비교 가능합니다. 단점은 결과가 다른 컴퓨팅 플랫폼과 비교 불가능하다는 점입니다.
  • 자체 포함 — PyTorch와 몇 가지 작은 패키지 외에 외부 종속성이 없습니다. 분산 훈련이나 복잡한 설정이 필요 없습니다.

Key Ideas

  • AI 에이전트 주도 연구 — 연구자가 아닌 AI 에이전트가 코드 수정, 훈련, 평가, 의사 결정을 자율적으로 수행합니다.
  • 단일 GPU 초점 — 복잡한 분산 설정 없이 단일 NVIDIA GPU에서 작동하도록 설계되어 접근성을 높입니다.
  • 고정 시간 예산 — 5분의 고정 훈련 시간은 실험 간 공정한 비교를 보장합니다.
  • 인간-에이전트 협업 — 연구자는 program.md를 통해 에이전트의 전략을 제어하고, 에이전트는 세부 실험을 자동화합니다.

Examples / Use Cases

  • 기본 사용 사례: Claude나 Codex와 같은 코딩 에이전트를 저장소에서 실행하고 “Hi have a look at program.md and let’s kick off a new experiment! let’s do the setup first.”라고 프롬프트합니다.
  • 작은 컴퓨팅 플랫폼(Macbook 등)에서 실행하려면 TinyStories 데이터세트 사용, vocab_size 감소, MAX_SEQ_LEN 감소, DEPTH 감소 등의 조정이 필요합니다.

Limitations / Considerations

  • 플랫폼 종속성 — 현재 단일 NVIDIA GPU에서만 지원되며, CPU나 MPS는 지원하지 않습니다.
  • 결과 비교 불가능 — 고정 시간 예산으로 인해 다른 플랫폼에서의 결과와 직접 비교할 수 없습니다.
  • 소규모 플랫폼에서의 성능 — H100 이외의 작은 컴퓨팅 환경에서는 하이퍼파라미터 조정이 필요하며, 튜닝 가이드가 제공됩니다.

Sources