Autoresearch - Kerangka riset otomatis dari Karpathy
(github.com/karpathy)- Kerangka riset otonom yang serba mandiri dengan inti pelatihan LLM nanochat dipadatkan menjadi sekitar 630 baris dalam satu GPU dan satu file, sehingga agen AI dapat secara otonom mengulang eksperimen pelatihan LLM semalaman
- Manusia mengubah
prompt, sedangkan agen AI mengubahkode pelatihan→ melatih dengan anggaran waktu tetap 5 menit → membandingkan hasil → mengulang loop mempertahankan atau membuang perubahan - Agen berjalan dalam loop otonom di git feature branch, dan setiap kali mencapai validation loss yang lebih rendah pada arsitektur jaringan saraf, optimizer, hyperparameter, dan lainnya, agen menumpuk git commit pada skrip pelatihan
- Tujuannya adalah merancang agen yang menghasilkan kemajuan riset tercepat tanpa campur tangan manusia
Ikhtisar proyek
- Struktur berbasis implementasi satu GPU yang disederhanakan dari nanochat, di mana agen AI secara otonom memodifikasi dan bereksperimen pada kode pelatihan
- Agen mengulang loop modifikasi kode → pelatihan 5 menit → pemeriksaan hasil → pertahankan/buang, sementara pengguna memeriksa log eksperimen dan model yang telah ditingkatkan pada pagi hari
- Cara kerjanya adalah menghubungkan agen pilihan seperti Claude, Codex, dan lainnya ke repo ini, memintanya membaca
program.md, lalu memulai eksperimen
Struktur file inti (hanya 3 yang penting)
prepare.py- Berisi konstanta tetap, persiapan data (mengunduh data pelatihan, melatih tokenizer BPE), dan utilitas runtime (data loader, evaluasi); bukan target modifikasitrain.py- Satu-satunya file yang dimodifikasi agen; mencakup seluruh model GPT, optimizer (Muon + AdamW), dan loop pelatihan; semua elemen seperti arsitektur, hyperparameter, optimizer, ukuran batch, dan lainnya dapat diubahprogram.md- File instruksi dasar untuk agen; diedit oleh manusia dan berperan sebagai skill ringan yang mengatur arah riset otonom agen
Prinsip desain
- Modifikasi satu file: agen hanya mengubah
train.py, sehingga cakupan perubahan tetap terkelola dan peninjauan diff menjadi mudah - Anggaran waktu tetap: selalu berjalan tepat 5 menit terlepas dari platform → sekitar 12 kali per jam, sekitar 100 eksperimen saat tidur
- Memungkinkan perbandingan langsung antar eksperimen terlepas dari perubahan ukuran model, ukuran batch, arsitektur, dan lainnya
- Kekurangannya: hasil eksekusi orang lain di platform berbeda tidak dapat dibandingkan
- Serba mandiri: tidak ada dependensi eksternal selain PyTorch dan beberapa paket kecil; tidak ada pelatihan terdistribusi; tidak ada konfigurasi kompleks
Persyaratan dan cara menjalankan
- Persyaratan: satu GPU NVIDIA (diuji pada H100), Python 3.10+, package manager
uv - Saat ini hanya untuk GPU NVIDIA, dan dukungan platform lain seperti CPU/MPS belum disertakan karena dikhawatirkan membuat kode membengkak
- Jika membutuhkan dukungan platform yang lebih luas, disarankan merujuk ke repo nanochat tingkat atas; fork macOS (
miolini/autoresearch-macos) sudah tersedia
- Jika membutuhkan dukungan platform yang lebih luas, disarankan merujuk ke repo nanochat tingkat atas; fork macOS (
- Saat menjalankan agen, jalankan Claude/Codex dan sejenisnya di dalam repo dengan semua izin dinonaktifkan, lalu berikan prompt agar membaca
program.mddan memulai eksperimen
Niat desain program.md bawaan
program.mdbawaan sengaja dipertahankan sebagai baseline seminimal mungkin- Dapat digunakan dengan cara ditingkatkan secara berulang seiring waktu untuk menemukan "kode organisasi riset" yang mencapai kemajuan riset tercepat
- Strukturnya juga jelas memungkinkan perluasan seperti menambahkan agen atau memperjelas instruksi
3 komentar
Tolong dukung AMD ROCm juga
Tweet pengantar Karpathy
Kenapa Anda melakukan hal seperti ini di akhir pekan, Pak
Sepertinya beliau terus membuatnya dengan cepat agar materi kuliahnya tidak kedaluwarsa dan bisa segera merilis kuliah Eureka Lab ;_;
ps. 7 jam lalu beliau juga membuat dan mengunggah satu lagi, yaitu AgentHub 🫢