@SergioPaniego: https://x.com/SergioPaniego/status/2066498136273531363
摘要
这篇帖子演示了如何通过单个提示词免费微调模型,利用了新的Google Colab CLI以及Hugging Face的TRL和trackio工具,所有这些都由AI代理编排。
查看缓存全文
缓存时间: 2026/06/15 13:03
如何通过一条提示词,借助 TRL 和 Google Colab CLI 免费微调模型
我打开了一个编码智能体,输入了一条提示词,然后就走开了。几分钟后,我得到了一个微调后的模型,它是在免费的云端 GPU 上训练的,其指标实时显示在 trackio 仪表盘上,权重文件则静静躺在 Hub 上等着我取用。我没碰 GPU,也没写一行训练代码。
上周,谷歌发布了 Colab CLI:你可以从终端完整驱动 Colab 的运行环境。这是智能体时代非常需要的一块拼图。我一直是 Colab 的粉丝(它在我职业生涯中帮助了我和无数其他人),所以必须亲自测试一下。我是通过 @osanseviero 和 @_philschmid 首次了解到它的。
思路很简单:你告诉你的智能体“在这个数据集上微调一个模型”,剩下的就都由它全自动处理。谷歌 Colab 提供 GPU,其余部分则依靠 Hugging Face 技术栈:transformers 和 datasets 负责加载模型与数据,TRL 负责微调,trackio 负责追踪运行过程,Hub 负责托管数据集和最终结果。智能体只是把它们串联起来。
以下是整个运行过程,从头到尾:
提示词
这就是我输入的全部内容,之后的所有事情都由智能体完成。如果你想亲自运行,请先完成“自己试试”(见下文)中的一次性设置,然后粘贴以下内容:
你当前在 TRL 仓库中。阅读 examples/scripts/ 中的 SFT 示例,学习项目的惯例,然后将它们适配成一个自包含的小型训练脚本,用于以下任务:使用 QLoRA 在 philschmid/gretel-synthetic-text-to-sql(格式:schema + question -> SQL,作为聊天消息)上微调 Qwen/Qwen2.5-0.5B-Instruct。通过 Google Colab CLI 在远程 Colab T4 上运行:预配 GPU、安装依赖、在运行时登录 Hugging Face、运行一个简短的演示、将指标流式传输到 trackio Space、将训练好的适配器推送到 Hub、最后关闭会话。报告最终损失和模型 URL。
我最喜欢的一点是,重新定向的成本极低。我只需要更改提示词中的一部分(模型或数据集),同样的配方就能训练出完全不同的东西。我把它当作一个模板,而不是一次性脚本。
发生了什么
我给智能体输入了一条提示词。从那里开始,它完成了一切:
-
它阅读了 TRL 仓库中的 SFT 示例,学习了惯例,然后编写了自己的训练脚本,专门针对我的任务。
-
它通过全新的 Google Colab CLI 预配了一个远程 GPU。
-
它安装了依赖项,使用 Hugging Face 进行了身份认证,并通过 TRL 启动了 QLoRA 训练。
-
它将实时指标流式传输到了 Hub 上的一个 trackio Space。
-
它将训练好的适配器推送到了我的 Hugging Face 账户。
-
它在完成后关闭了会话。
我的机器上什么都没做。无需看守。无需 GPU。
我反复回味的一点是:我从未给它一个脚本,也从未解释过 Colab CLI。它从 TRL 的示例中学到了训练惯例,从 CLI 内置的智能体技能中学到了命令,然后自己编写并运行了所有内容。
没花我一分钱
整个运行是在免费的 Colab T4 上完成的。Qwen2.5-0.5B-Instruct 很小,所以一次简短的 QLoRA 运行只需要几分钟。而且设置几乎为零,因为 Colab 已经预装了 PyTorch、transformers、datasets 等。智能体只需要补充少数几个缺失的包(TRL、trackio 和 4 位量化库)。它编写的只是一个带有 LoRA 的标准 SFTTrainer 配置,并没有什么特别之处。
我实时观看了训练过程
由于智能体接入了 trackio,我的运行过程实时流式传输到了 Hugging Face Space。我可以在任何浏览器中打开它,并在 GPU 在别处工作时实时观察损失曲线的更新。训练结束后,该 Space 依然保留,作为本次运行的记录。
损失在运行过程中稳步下降。你可以在实时 Space 中看到曲线:https://huggingface.co/spaces/sergiopaniego/trl-text-to-sql-trackio
而且我确实保留了模型:智能体将训练好的适配器推送到了我的 Hub 账户,因此它就在那里,随时可以使用:https://huggingface.co/sergiopaniego/Qwen2.5-0.5B-Instruct-text-to-sql-qlora
它自己进行了调试
运行过程中,在免费的 T4 上遇到了一个硬件小问题(GPU 不支持脚本首次尝试的精度模式)。它读取了错误信息,修正了设置,然后自行重新运行,完全不需要我介入。我预料到它应该能处理这类边缘情况,而它的确做到了。模型仍然顺利产出。
自己试试
只需一次性的设置,然后就可以运行上面的提示词:
-
安装 Colab CLI:
uv tool install google-colab-cli(它的智能体技能已自带)。 -
运行任意 colab 命令一次,以授权 Colab(它会在浏览器中打开 Google 登录页面)。
-
使用写入令牌登录 Hugging Face:
hf auth login(这样运行过程才能流式传输到 trackio Space 并推送模型)。 -
在 TRL 仓库的复刻中打开你的编码智能体,粘贴提示词,然后观看它的执行(你可以随意替换任何模型或数据集)。
资源
- Google Colab CLI:https://github.com/googlecolab/google-colab-cli
- TRL:https://github.com/huggingface/trl
- trackio:https://github.com/gradio-app/trackio
- 微调后的模型:https://huggingface.co/sergiopaniego/Qwen2.5-0.5B-Instruct-text-to-sql-qlora
- 实时指标 Space:https://huggingface.co/spaces/sergiopaniego/trl-text-to-sql-trackio
- 相关:在 Hugging Face Jobs 上使用智能体进行微调:https://huggingface.co/blog/hf-skills-training 和 https://huggingface.co/blog/hf-skills-training-codex
相似文章
@SergioPaniego: 我们让一个智能体实时训练一个编码智能体,仅从一个提示开始——哪个智能体是哪个,为什么这样做有意义,以及所有产物,都在回顾中。
一个AI智能体从一个提示训练编码智能体的实时演示,并回顾了所有产物。
@victormustar: https://x.com/victormustar/status/2059264598407033062
这篇文章描述了如何使用Hugging Face的ZeroGPU和一个编码代理,以有限的预算自主部署AI模型,特别是LongCat说话头像模型。
@AnandButani:@huggingface 的 ml-intern 太疯狂了,只需一句高层提示(“打造最强科学推理模型”或“碾压医疗基准”)……
Hugging Face 开源的“ml-intern”智能体仅需一句高层提示,即可自动化完成后训练全流程:从文献调研、数据清洗到模型调优。
@heyshrutimishra:斯坦福大学1小时免费教程,带你掌握AI智能体、提示词与RAG
斯坦福大学推出1小时免费教程,涵盖AI智能体、提示词和RAG技术。
一场直播的回顾,其中AI代理(Codex)自主运行整个SFT工作流,训练一个小型Gemma 2B模型来模仿编码代理(pi)。所有工件和代码均已开源。
一场直播的回顾,其中AI代理(Codex)自主运行整个SFT工作流,训练一个小型Gemma 2B模型来模仿编码代理(pi)。所有工件和代码均已开源。