Google 用一个 Markdown 文件让 AI 智能体自动微调大模型:autofinetune 全流程拆解

采集助手AI 前沿2026-09-161 阅读

一句话结论

大模型微调的”手动炼丹”可以交给 AI 智能体过夜代跑:写一份 program.md 规格书定义目标、边界和评估标准,配一个自包含的 run.py 训练脚本,智能体就自动改超参、跑训练、测指标、保留赢家、回滚输家、记录结果。Google 的 autofinetune 开源项目在两个真实案例(SFT 函数调用微调 + GRPO 数学推理强化学习)里验证了这条路线,几十个实验不需要人守夜。

全栈架构:Markdown 规格书、Tunix、Gemma 与 Cloud TPU 组成的自主微调循环

传统微调为什么累:五步手动循环

传统的后训练(post-training)是一套重复的手动循环:先提出假设,比如”把 attn_vec_einsum 加进 LoRA 目标模块能不能提准确率”,或者”GRPO 训练时改 rollout 温度会怎样”;然后手动改训练脚本和超参;在加速器上启动任务;盯 loss 曲线和基准评测;失败的手动回滚,成功的记进表格。

这个循环每次动一处超参就要走一遍,一晚上跑不了几个组合,人还离不开屏幕。Google 团队受 karpathy 的 autoresearch 项目启发——该项目展示了自主 LLM 智能体如何在自包含循环里迭代探索预训练——把同样的范式搬到了后训练:监督微调(SFT)和 GRPO 强化学习,全程跑在 Google 自家 AI 栈上,用 Tunix 训练库、Gemma 模型和 Cloud TPU 硬件,由 Antigravity CLI 编排、Gemini Flash 3.7 担任智能体大脑。

自主循环怎么搭:三个文件构成”竞技场”

autofinetune 的核心结构只需要三样东西。第一,设计竞技场(program.md:由人定义循环、边界条件、评估标准和约束,智能体只在这个框里探索。第二,提供执行代码(run.py:一个干净、自包含的微调脚本。第三,让智能体迭代:智能体按 program.md 的指令修改 run.py,启动训练任务,测量目标指标,保留获胜的提交或回滚退步的改动,并把结果记进 results.tsv

智能体循环:修改 run.py、跑训练、测指标、提交或回滚

对人来说,工作从”盯实验”变成”写规格”。你要想清楚的只有三件事:优化什么指标、允许动哪些旋钮、什么算成功。剩下的事——假设生成、代码修改、任务启动、结果判读、版本管理——全部由智能体完成,每个验证过的改进都自动 commit 到 Git,早上起来看结果就行。

案例一:SFT 微调 FunctionGemma,两小时 20 个实验

第一个实验把 Google 此前博客里的 FunctionGemma SFT 设置原样搬进自主循环,优化 functiongemma-270m-it 模型在 mobile-actions 数据集上的表现。硬件用 Cloud TPU v5e-1,每次运行只需几分钟,两小时内自动完成 20 个实验,目标指标是函数调用生成的准确率。

program.md 里划定的边界很清楚:允许智能体调整 LoRA 秩与 alpha、目标投影层、学习率、warmup/衰减调度、优化器(AdamW/Muon、梯度裁剪)、批次大小和随机种子;禁止改数据集、epoch 数和模型架构。这样既给了足够的探索空间,又保证所有实验可比——数据集和架构不动,指标差异才能归因于超参。

样本轨迹显示,智能体能自动调整 LoRA 秩与 alpha、优化器、学习率等参数,让模型生成正确函数调用的准确率一路爬升。从 results.tsv 的记录看,它像人类工程师一样做爬山式搜索:先试大步长,锁定有效方向后再细化。

SFT 案例的样本轨迹:智能体自动调参让准确率持续爬升

案例二:GRPO 强化学习微调 Gemma 3,奖励提升约 10%

监督微调只是入门题。第二个案例取 Tunix 仓库官方 GRPO 示例——在 GSM8K 数据集上训练 Gemma 3 1B 做数学推理,训后模型的数值准确率和答案格式准确率都有提升——并把它改造成自主强化学习微调。强化学习对超参敏感、训练不稳定、单次运行时间长,任务难度和时间消耗都远超 SFT。

竞技场配置升级到 Cloud TPU v6e-1,模型是 Gemma 3 1B,数据集 GSM8K,单次运行要几个小时,40 个实验跑了两到三天。为了让外层优化循环简单,团队选了单一人工评估指标 Post_RL_metric,定义就是数值准确率加格式准确率(当然也可以用不同权重自定义)。

样本轨迹记录在 RL_results.tsv 里:智能体找到了更好的 LoRA 配置、rollout 温度、KL 惩罚系数和系统提示词,总奖励提升约 10%。值得注意的是它连系统提示词都纳入了搜索空间——这已经超出传统”调参”的范围,进入提示工程与训练超参联合优化的 territory。

GRPO 案例的样本轨迹:40 个实验让总奖励提升约 10%

两个案例的指标设计也值得抄:SFT 用单一准确率,RL 把两个维度合成一个人工指标,都是为了简化外层循环。智能体优化的是你给它的那把尺子,尺子越简单明确,搜索方向越不容易跑偏。如果你的任务有多个目标(准确率、延迟、成本),可以先定加权公式压成一个数再交给智能体。

对普通开发者的三点启示

第一,微调的门槛从”会炼丹”降到”会写规格”。 你不需要精通每个超参的物理意义,只需要定义清楚目标指标、允许的动作集合和评估标准,探索过程交给智能体。program.md 模板在 GitHub 仓库里可以直接复用。

第二,边界设计比全权委托更实用。 两个案例都把数据集、epoch、架构锁死,只开放超参和提示词。这不是保守,而是让实验可比、结果可解释的关键——如果智能体能改数据集,指标提升就无法归因。

第三,自主循环的成本可控。 SFT 案例两小时 20 个实验(TPU v5e-1),RL 案例两三天 40 个实验(TPU v6e-1)。对比人工盯守的时间成本,夜间批跑模式对任何需要微调模型的团队都是净收益。

代码、样本运行记录和 program.md 模板都在 autofinetune GitHub 仓库开源,Tunix 库本身也独立可用。想搭建自己的自主后训练实验室,从复制第一个案例的竞技场配置开始即可。

原文信息

阅读原文

原文链接:https://www.jxxy.net/ai/articles/google-autofinetune-tunix-tpu/