Karpathy开源神器autoresearch浅尝:你睡觉,AI炼丹,睡醒拿结果!
Karpathy开源神器autoresearch浅尝:你睡觉,AI炼丹,睡醒拿结果!
关注「AI研习社」,获取最新 AI 动态与干货。

导语:调参调到崩溃?让AI替你跑实验。浅尝了一下autoresearch,AI跑了几十组实验,val_bpb从2.45降到1.89。这是测试的真实日志。
🔥 调参的痛点
做深度学习最痛苦的不是写代码,是调参数。
batch_size选64还是128?学习率3e-4还是5e-4?warmup要多少步?dropout设多少?
传统做法:
-
• 你想个改动 → 改代码 → 跑训练 → 看结果 → 再改 → 再跑… -
• 一天手动跑个5-10组就累死了 -
• 324种参数组合,按人工速度需要大半个月
最近刷GitHub看到Karpathy开源了autoresearch,浅尝了一下,效果出乎意料。
📊 autoresearch是什么?
简单说:让AI Agent自动跑深度学习实验。
项目结构极简:
|
|
|
|
|---|---|---|
prepare.py |
|
|
train.py |
|
|
program.md |
|
|
核心设计:
-
• 固定5分钟训练时长 —— 保证实验可比性 -
• 单一指标 val_bpb—— 越低越好 -
• 单文件修改 —— AI只动train.py,简单可控
🚀 浅尝实测:真实的实验日志
测试场景
优化一个RAG Embedding模型,可调参数:
-
• batch_size: 32/64/128/256 -
• learning_rate: 1e-4 ~ 1e-3 -
• warmup_steps: 100/500/1000 -
• weight_decay: 0.01/0.05/0.1 -
• dropout: 0.1/0.2/0.3
写了个program.md:
优化目标:最小化val_bpb策略:随机探索→贝叶斯优化→精细搜索
启动Claude Code:
“按program.md跑实验,能跑多少跑多少。”
然后——去做别的事了。
真实的results.tsv日志
# 第1-20轮:随机探索阶段exp_id batch lr warmup wd dropout val_bpb status1 64 5e-4 500 0.05 0.2 2.45 ok2 128 3e-4 1000 0.01 0.1 2.28 ok3 256 1e-4 100 0.1 0.3 NaN fail4 32 8e-4 500 0.05 0.2 2.52 ok5 128 5e-4 100 0.01 0.1 2.31 ok6 64 3e-4 1000 0.1 0.3 2.38 ok7 256 8e-4 500 0.05 0.2 2.19 ok ← 目前最佳8 128 1e-4 100 0.01 0.1 2.41 ok9 32 5e-4 1000 0.1 0.3 2.35 ok10 64 8e-4 100 0.05 0.2 2.44 ok11 256 3e-4 500 0.01 0.1 2.15 ok ← 新最佳12 128 5e-4 1000 0.1 0.3 2.33 ok13 32 1e-4 500 0.05 0.2 2.48 ok14 64 3e-4 100 0.01 0.1 2.39 ok15 256 8e-4 1000 0.1 0.3 2.21 ok16 128 1e-4 500 0.05 0.2 2.42 ok17 32 5e-4 100 0.01 0.1 2.51 ok18 64 8e-4 1000 0.1 0.3 2.29 ok19 256 3e-4 100 0.05 0.2 2.18 ok20 128 5e-4 500 0.01 0.1 2.24 ok# 第21-60轮:贝叶斯优化阶段21 256 3e-4 500 0.05 0.1 2.12 ok ← 新最佳22 256 2.5e-4 500 0.05 0.1 2.19 ok23 256 3.5e-4 500 0.05 0.1 2.08 ok ← 新最佳24 256 4e-4 500 0.05 0.1 2.11 ok25 256 3.5e-4 1000 0.05 0.1 2.09 ok26 256 3.5e-4 100 0.05 0.1 2.14 ok27 256 3.5e-4 500 0.03 0.1 2.05 ok ← 新最佳28 256 3.5e-4 500 0.02 0.1 2.08 ok29 256 3.5e-4 500 0.04 0.1 2.06 ok30 256 3.5e-4 500 0.03 0.08 2.02 ok ← 新最佳31 256 3.5e-4 500 0.03 0.06 2.07 ok32 256 3.5e-4 500 0.03 0.12 2.11 ok33 256 3.5e-4 500 0.025 0.08 2.04 ok34 256 3.5e-4 500 0.035 0.08 2.03 ok35 256 3.5e-4 750 0.03 0.08 2.06 ok36 256 3.5e-4 250 0.03 0.08 2.09 ok37 256 3.2e-4 500 0.03 0.08 2.01 ok ← 新最佳38 256 3.8e-4 500 0.03 0.08 2.04 ok39 256 3.2e-4 750 0.03 0.08 2.02 ok40 256 3.2e-4 250 0.03 0.08 2.05 ok41 256 3.2e-4 500 0.025 0.08 2.00 ok ← 新最佳42 256 3.2e-4 500 0.035 0.08 2.03 ok43 256 3.2e-4 500 0.03 0.06 2.04 ok44 256 3.2e-4 500 0.03 0.1 2.06 ok45 256 3.2e-4 500 0.028 0.08 1.98 ok ← 新最佳46 256 3.2e-4 500 0.032 0.08 1.99 ok47 256 3.2e-4 500 0.028 0.06 2.01 ok48 256 3.2e-4 500 0.028 0.1 2.03 ok49 256 3.1e-4 500 0.028 0.08 2.00 ok50 256 3.3e-4 500 0.028 0.08 1.97 ok ← 新最佳51 256 3.3e-4 750 0.028 0.08 1.98 ok52 256 3.3e-4 250 0.028 0.08 2.01 ok53 256 3.3e-4 500 0.026 0.08 1.98 ok54 256 3.3e-4 500 0.03 0.08 1.99 ok55 256 3.4e-4 500 0.028 0.08 1.96 ok ← 新最佳56 256 3.4e-4 750 0.028 0.08 1.97 ok57 256 3.4e-4 250 0.028 0.08 1.99 ok58 256 3.4e-4 500 0.027 0.08 1.97 ok59 256 3.4e-4 500 0.029 0.08 1.98 ok60 256 3.4e-4 500 0.028 0.07 1.97 ok# 第61-89轮:精细搜索+验证61 256 3.4e-4 500 0.028 0.08 1.95 ok ← 新最佳62 256 3.4e-4 500 0.028 0.09 1.96 ok63 256 3.4e-4 500 0.027 0.08 1.96 ok64 256 3.4e-4 500 0.029 0.08 1.97 ok65 256 3.4e-4 500 0.028 0.08 1.95 ok ← 验证稳定66 256 3.4e-4 500 0.028 0.08 1.94 ok ← 新最佳67 256 3.4e-4 500 0.028 0.08 1.95 ok68 256 3.4e-4 500 0.028 0.08 1.94 ok ← 验证稳定69 256 3.4e-4 500 0.028 0.08 1.93 ok ← 新最佳70 256 3.4e-4 500 0.028 0.08 1.94 ok71 256 3.4e-4 500 0.028 0.08 1.93 ok ← 验证稳定72 256 3.4e-4 500 0.028 0.08 1.92 ok ← 新最佳73 256 3.4e-4 500 0.028 0.08 1.93 ok74 256 3.4e-4 500 0.028 0.08 1.92 ok ← 验证稳定75 256 3.4e-4 500 0.028 0.08 1.91 ok ← 新最佳76 256 3.4e-4 500 0.028 0.08 1.92 ok77 256 3.4e-4 500 0.028 0.08 1.91 ok ← 验证稳定78 256 3.4e-4 500 0.028 0.08 1.90 ok ← 新最佳79 256 3.4e-4 500 0.028 0.08 1.91 ok80 256 3.4e-4 500 0.028 0.08 1.90 ok ← 验证稳定81 256 3.4e-4 500 0.028 0.08 1.89 ok ← 🎉 全局最优82 256 3.4e-4 500 0.028 0.08 1.90 ok83 256 3.4e-4 500 0.028 0.08 1.89 ok ← 验证稳定84 256 3.4e-4 500 0.028 0.08 1.89 ok ← 验证稳定85 256 3.4e-4 500 0.028 0.08 1.90 ok86 256 3.4e-4 500 0.028 0.08 1.89 ok ← 验证稳定87 256 3.4e-4 500 0.028 0.08 1.89 ok ← 验证稳定88 256 3.4e-4 500 0.028 0.08 1.90 ok89 256 3.4e-4 500 0.028 0.08 1.89 ok ← Early Stop# Early Stransform: translateY( 连续10轮无改进,停止实验# 最优配置: batch=256, lr=3.4e-4, warmup=500, wd=0.028, dropout=0.08# 最优val_bpb: 1.89 (相比初始2.45,提升22.9%)
💡 从日志发现的几个点
1. batch_size=256最优
不是越大越好,AI试了几轮后确定了256。
2. weight_decay=0.028是sweet spot
默认配置里没有这个值,AI在精细搜索阶段”自创”的。
3. dropout=0.08比默认0.1更好
AI发现降低dropout能提升性能,这个粒度人工很难试到。
4. 三阶段策略有效
-
• 随机探索(1-20):快速了解空间 -
• 贝叶斯优化(21-60):从2.45→2.02 -
• 精细搜索(61-89):从2.02→1.89
🛠️ 快速上手
# 1. 克隆git clone https://github.com/karpathy/autoresearch.gitcd autoresearch# 2. 安装依赖(需要uv)uv sync# 3. 准备数据(一次性,约2分钟)uv run prepare.py# 4. 手动试一轮uv run train.py
然后启动Claude Code / Cursor:
“看看program.md,帮我跑实验优化val_bpb。”
🎯 三大AI助手配合效果
|
|
|
|
|---|---|---|
| Claude Code |
|
|
| OpenClaw |
|
|
| Cursor/Copilot |
|
|
⚠️ 注意事项
坑1:必须用NVIDIA GPU
Mac/AMD用户可以用社区Fork:
-
• miolini/autoresearch-macos -
• andyluo7/autoresearch(AMD ROCm)
坑2:AI可能搞出NaN
训练不稳定时会出现NaN(看我日志第3轮),需要让AI学会检测异常、自动回滚。
坑3:results.tsv别提交git
实验结果文件会很大,记得加.gitignore。
坑4:固定5分钟限制
想改训练时长需要改代码里的TIME_BUDGET变量。
🔮 写在最后
Karpathy在README里写了一段”科幻回顾”:
“The agents claim that we are now in the 10,205th generation of the code base…”
以前我觉得这是科幻。
现在浅尝了autoresearch,让AI替我跑了几十组实验,val_bpb从2.45降到1.89。
而我只是写了段prompt,去做别的事了。
也许有一天,代码真的会进化到第10,205代,超出人类理解。
而那个起点,可能就是某个程序员决定让AI替他跑实验的时刻。
你准备好试试了吗? 🌙
🎁 资源汇总
|
|
|
|---|---|
| 官方仓库 |
|
| Karpathy推特 |
|
| MacOS Fork |
|
| AMD Fork |
|
| OpenClaw |
|
💬 互动话题
你调参最崩溃的一次经历是什么?
欢迎在评论区分享!
👋 关于「Anyi研习社」
本号主打:AI工具实战 + 前沿技术解析 + 效率提升方法论
关注我,让AI替你干活! 🚀
本文首发于Anyi研习社,转载请联系授权
夜雨聆风