@SergioPaniego: https://x.com/SergioPaniego/status/2066498136273531363

X AI KOLs Timeline 工具

摘要

这篇帖子演示了如何通过单个提示词免费微调模型,利用了新的Google Colab CLI以及Hugging Face的TRL和trackio工具,所有这些都由AI代理编排。

https://t.co/A5t1nC5Fkw
查看原文
查看缓存全文

缓存时间: 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

相似文章