오래된 연구 아이디어에 대한 Autoresearch
3 days ago
3
-
Autoresearch 시스템은 LLM 에이전트가 train.py를 반복 수정하며 성능을 개선하는 제약 최적화 루프 구조로, 가설 설정부터 평가까지 자동 순환을 수행함
- 실험은 컨테이너 기반 샌드박스 환경에서 실행되어 네트워크 접근과 임의 코드 실행을 차단함
-
Ukiyo-eVG 데이터셋을 사용해 약 11,000장의 일본 목판화 이미지와 주석 정보를 학습에 활용, CLIP 기반 모델로 Mean Rank 34.30, R@5 약 53% 성능을 달성함
- 주요 개선은 temperature 파라미터 완화(-113 Mean Rank) 와 하이퍼파라미터 튜닝(-30 Mean Rank) 으로, 하루 42회 실험 중 13회 커밋을 통해 54% 성능 향상을 기록함
- LLM 에이전트는 명확히 정의된 탐색 공간에서는 효과적이지만, 구조 변경 단계 이후에는 불안정성이 커져 완전한 자율 연구에는 한계가 드러남
핵심 아이디어
-
Autoresearch는 LLM 에이전트를 중심으로 한 제약 최적화 루프 구조로, 에이전트가 train.py를 수정하며 평가 지표를 반복적으로 개선함
- 에이전트는 program.md의 지침을 읽고, scratchpad.md를 작업 메모로 사용해 실험 과정을 기록함
- 탐색은 여러 단계(phase) 로 구성되며, 초기에는 하이퍼파라미터 튜닝에서 시작해 소규모 구조 변경, 이후에는 제약을 최소화한 자유 탐색으로 확장됨
- 전체 루프는 가설 설정 → 코드 수정 → 학습 → 평가 → 커밋 또는 되돌리기 → 반복의 순환 구조로 설계됨
- 각 실험은 약 5분 내에 완료되도록 제한해 빠른 반복과 과적합 방지를 유도함
- 에이전트는 시간 제한 내에서 train.py를 자유롭게 수정할 수 있음
-
샌드박싱
- 임의 코드 실행 위험을 방지하기 위해 컨테이너 환경에서 학습 루프를 실행하고 네트워크 접근을 차단함
-
run.sh가 전체 실험 흐름을 관리하며, Claude Code는 train.py와 program.md만 수정 가능
- Python 직접 실행, pip 설치, 네트워크 접근, git push 등은 모두 제한됨
- 관련 구현은 GitHub 저장소에서 공개됨
데이터셋
- 원래 연구에서 사용된 의료 X-ray 데이터셋에 접근할 수 없어, Ukiyo-eVG 데이터셋을 새로 사용함
- 약 11,000개의 일본 목판화 이미지와 문구-바운딩박스 주석을 포함
- 바운딩박스를 가우시안 히트맵으로 변환해 모델 입력에 추가, 원래 eCLIP 논문의 전문가 주의(attention) 메커니즘과 유사한 방식 적용
- 히트맵은 모델이 특정 영역에 집중하도록 유도함
Claude Code와의 실험 설정
- Claude Code가 기존 연구 코드를 최신 Python 환경으로 업그레이드하고, 새 데이터셋 로딩 및 실험 루프 스캐폴딩을 작성함
- 교차 검증 분할, 평가 로직, program.md의 초기 아이디어를 설정함
- 평가 지표로 Mean Rank를 사용했으며, 최종 보고에는 Recall@K를 병행함
- Mean Rank는 직관적 판단용으로 사용되었으나, 이상치에 덜 민감한 Median Rank가 더 적절했을 것으로 언급됨
-
모델 구성: CLIP 백본은 ViT-Small(22M) + DistilBERT(66M) + HeatmapProcessor로 총 약 90M 파라미터
- 학습: 800 스텝(약 3분/실험, RTX 4090 기준)
- 평가: 1,000장 테스트 세트에서 Mean Rank 및 Recall@K 측정
-
기준 성능: Val Mean Rank 344.68, img→txt R@1 17.2%, txt→img R@1 16.5%
실험 결과
- 하루 동안 총 42회 실험, 그중 13회 커밋, 29회 되돌림 수행
- Mean Rank가 344.68에서 157.43으로 54% 감소
- 전체 데이터셋으로 최종 학습 시, 테스트 점수가 검증 점수보다 더 높게 나타남
- 이는 짧은 800스텝 실험이 언더피팅 상태였음을 시사
-
최종 테스트 성능: Mean Rank 34.30, img→txt R@5 53.0%, txt→img R@5 51.4%
주요 개선 포인트
-
Temperature clamp 수정 (-113 Mean Rank)
- 코드 내 학습 가능한 temperature 파라미터가 2로 고정되어 있었는데, 에이전트가 이를 완화해 성능이 크게 향상됨
- 전체 개선 중 가장 큰 단일 효과를 보임
-
Optuna++ (-30 Mean Rank)
- 이후 개선은 주로 하이퍼파라미터 튜닝에서 발생
- 투영 차원 증가 및 학습률 재조정으로 추가 30포인트 개선
- 인간이 반복적으로 수행하는 지루한 작업을 에이전트가 더 빠르고 체계적으로 수행함
-
수익 감소 구간
- 4단계(구조 변경) 이후부터는 LLM의 가설 성공률이 급감
-
주의 메커니즘 변경이나 대담한 아이디어(moonshot) 시도는 대부분 실패
- 탐색 후반부에서는 무작위적 시도가 많았음
-
샌드박스의 중요성
- Claude Code가 가끔 권한을 잊고 잘못된 bash 호출을 시도하거나, 학습 대기 중 루프를 중단하는 등 불안정한 행동을 보임
- 완전한 자율 실행에는 아직 한계가 있음
마무리 관찰
- 전체 과정에서 초기 90%는 매끄럽게 진행, 마지막 10%는 많은 개입이 필요함
- LLM 에이전트가 명확히 정의된 탐색 공간 내에서는 효과적으로 ML 연구를 수행할 수 있음
-
Autoresearch의 커밋-되돌리기 루프는 구조화된 탐색 전략으로 유용함
- 그러나 미지의 영역으로 확장되면 최적화 루프가 불안정해짐
- 실험당 한 번의 변경만 허용하는 제약이 대규모 아이디어 탐색에는 지나치게 엄격했을 가능성 있음
- 향후에는 계획 단계 추가나 하위 에이전트(subagent) 도입이 개선 방향으로 제시됨
- 실험 종료 후, Claude Code와의 협업은 일상으로 돌아가며 마무리됨
감사 표시
-
Ukiyo-eVG 데이터셋: 약 11K 일본 목판화 이미지와 문구-바운딩박스 주석 포함
-
Autoresearch: Andrej Karpathy의 원래 아이디어 기반
-
Homepage
-
개발자
- 오래된 연구 아이디어에 대한 Autoresearch