作者用 ML Intern 两天训出六个小模型,总花费约 103 美元
The model that didn't exist, so you made it yourself
AI 导读
作者借助 HuggingChat 中的 ML Intern,在两天内完成六个模型项目,包括柑橘病害 VLM、Huggy LoRA、相机视角 LoRA、涂鸦替换 LoRA、Pocket Rewriter 0.8B/2B 蒸馏以及 Agate 4 步蒸馏,总计算成本约 103 美元。
摘要与补充说明
作者用 ML Intern 在两天内训出六个小模型,给出了提示词写法、预算控制与成本明细,可迁移到自己的训练流程。
正文· AI 翻译
上周,我想要一个 Qwen-Image 2.1 自带的提示词重写器的小型版本。官方版本是一个 9B 模型,需要约 20 GB 内存,并且在写出哪怕一段文字之前要思考数千个 token。在 Hub 上,我只找到了同一个 9B 模型的压缩副本。于是我把想要的东西描述给 ML Intern,第二天我就得到了一个能在 CPU 上运行的 0.8B 版本。它 99.7% 的情况下返回有效输出,使用的 token 约为教师模型的四分之一。整个项目的算力开销,包括让 9B 模型为 8,797 条示例请求打标签,总共花了 16 美元。
在接下来的几天里,我用同样的方式又做了五个模型。每一个都始于 HuggingChat 中开启 ML-intern 的一条消息,每一个最终都成为 Hub 上的公开模型,并在模型卡中附有评估结果。ML-intern 会规划工作,在花任何钱之前先向我申请预算,在正式任务之前先跑一个小测试,然后在 Hugging Face 硬件上训练、评估并发布。
我如何给 ML Intern 写提示词
第一条消息是我投入精力的地方。我为下面分享的 citrus 模型写的第一条提示词大约 450 词。到我的第 6 个项目时,它已接近 2,000 词,因为每个项目都教会了我一些想用在下一个项目里的东西。全部七条提示词都在 GitHub 的 yvrjsharma/ml-intern-prompts 上,完全按照我写的样子。
一条提示词以一句话的想法开头,并说明我为什么想要它。然后它列出确切的部分:数据集、基础模型、训练脚本。任何我已经核实过的内容都放在一个标题下,标题字面上写着“已核实事实,不要重新推导”,这样智能体就把预算花在工作上,而不是重新发现我已经知道的东西。对于那个相机角度 LoRA,这一节列出了哪个训练器刚刚添加了透明图像支持,以及哪些开放的 GitHub issue 让备用训练器存在风险。
提示词中有两行至关重要。第一行要求在任何训练之前先给出基线。例如,citrus 提示词写道:“还要在训练前报告基础模型在同一指标上的零样本得分,这样我们就能看到增益。”没有它,你只会得到一个训练好的模型,却不知道它是否比你一开始的模型更好。第二行是一个附带检查的冒烟测试。对于图像 LoRA,我要求先训练 50 步,然后检查保存的权重是否真的发生了变化,之后才为完整运行付费。
在提示词末尾,我列出预期的交付物并限制成本。我定义模型卡中应包含什么,并加入这样的指令:“总支出上限为 12 美元,超出前先问我。”因为 ML-intern 每项任务都以零美元预算开始,并且在执行付费任务前需要许可,所以这个支出限制会被严格执行。当你省略预算时,智能体会根据项目规模建议几条路径,并问你想选哪一条。
你不一定第一次就需要所有这些。例如,我的 citrus 简报里没有已核实事实部分,ML Intern 仍然产出了一个模型,把 Qwen3.5-2B 模型的准确率提高了两倍多。让我带你看看我在短短几天内用 ML-Intern 构建的 6 个东西。
1. 一个了解你所在领域的模型
通用视觉模型可以描述一片发黄的柑橘叶。然而,要判断这是螨虫问题还是缺镁,以及给出生物和非生物的治疗方法,却非常困难。借助 Claude,我整合了一个训练数据集,它合并自 Hub 上 Project-AgML 组织托管的三个来源。最终得到的 citrus-disease-vlm-instruct 是一个数据集,包含 3,017 张标注图像,覆盖 21 种不同的害虫、病害、营养缺乏及治疗方法。ML-intern 使用这些样本完成了 Qwen3.5-2B 的微调,并事先对基础模型做了基准测试。
在 335 张测试照片上,基础模型正确识别问题的比例为 14.9%。在一张 A10G 上训练两个 epoch 后,微调模型达到了 52.8%。算力成本约 1.90 美元。
查看:模型 · 数据集 · Citrus Doctor 应用
2. 一个能画出你的角色的模型
图像模型认识很多角色。但以 Hugging Face 品牌资产的扁平风格绘制的 Huggy,并不在其中。我让 ML-Intern 基于 FLUX.2 klein base 4B 训练一个 LoRA,训练数据是来自 Chunte/huggy_for_training 数据集的 84 张带说明的绘图。
该智能体每 100 步保存一个检查点,并用每个检查点绘制同一组提示词,这让选择变得容易。第 200 步是 Huggy 首次完全符合模型设定的检查点。从第 500 步开始,Huggy 的风格开始渗入与 Huggy 无关的提示词中!训练好的 LoRA 在 4 步的蒸馏 klein 模型上同样有效。算力成本约 7.60 美元。
查看:模型 · 数据集 · Huggy 生成器应用
3. 一个会新技巧的模型
- 相机角度 LoRA 是早期 Qwen-Image 模型最受社区欢迎的附加组件之一。你可以给模型一张物体的图片,并要求从左侧 45 度角查看它。在 Qwen-Image 2.1 模型发布几天后我查看时,还没有人做过,于是我让 ML-intern 来构建它。
ML-intern 从 Google Scanned Objects 中渲染了 1,030 个扫描的家居物品,每个物品 24 个角度,共 24,722 张透明图像,在一个成本仅几美分的 CPU 任务上完成。它随后最终确定了 461 个物品用于训练、40 个留作测试,以及 1,844 个前后对比训练对,均匀分布在 23 条相机指令上。
训练在一张 A100 上运行了 2,000 步,耗时约 90 分钟(约 3.75 美元)。整个项目耗时约半天、48 个任务,其中还包括因缺少软件包或路径错误而失败、不得不由 ML-Intern 重新提交的任务。总算力成本约 16 美元。
查看:模型 · 数据集 · Viewpoint Orbit 应用
- Doodle-in LoRA 是另一个很酷的想法。上传一张带有洋红色涂鸦的照片,并添加一段指明某个物体的简短提示词。该 LoRA 会用该物体替换涂鸦,同时保持原始光照和构图一致。
此前没有现成的数据集,因此我的提示词描述了如何制作一个。从 Open Images 中的真实照片开始,用 LaMa 修复模型移除一个物体,并在该物体原本所在的位置画一个涂鸦。未改动的照片作为目标。ML-intern 在 CPU 沙盒中编写并测试了配对构建脚本,然后将其作为 GPU 任务运行,同时记录了每张源照片的作者和许可证。它构建了 6,042 个训练对和一个 160 对的测试集,其中 40 个测试对来自完全排除在训练之外的 23 个物体类别。
在训练之前,它单独测量了基础模型以及搭配 Viggle turbo LoRA 时的表现,并检查了批量运行编辑是否会生成完全相同的图像,这使得评估成本更低。训练在单张 A100 上运行了 2,000 步,耗时 1 小时 38 分钟(约 4 美元),在 48 个测试对上比较保存的检查点后选择了第 500 步。
搭配 Viggle turbo LoRA 在 6 步时,LoRA 表现非常好。67.5% 的物体在绘制位置被检测到,每次编辑耗时 4.7 秒。来自 23 个未见类别的物体与其他类别一样可靠(65.0% 对 64.2%)。该项目耗时略超过一天,共 59 个任务。总计算成本约 24 美元。
查看:模型 · 数据集 · Doodle-in 应用
4. 适合你设备的模型
- 本文开头的 Pocket Rewriter 是第一个。ML-intern 首先通过 Inference Providers 使用一个小型指令模型生成了 8,797 条简短图像请求,遵循我提示词中设定的混合类型:照片、海报、标志、信息图等,其中约三分之一要求引号中的精确文字,许多使用英语以外的语言。随后 9B 教师模型在一张 A100 上重写了所有这些请求,耗时 2 小时 37 分钟(约 6.50 美元)。经过质量筛选后,选出了 1,840 个示例用于训练数据集。

训练 0.8B 和 2B 学生模型分别在 A10G 上耗时 12 和 18 分钟(两者共 0.75 美元)。0.8B 还以 812 MB 的 GGUF 文件形式发布,可在 CPU 上运行。该项目耗时约 11 小时,共 24 个任务。总计算成本约 16 美元。
查看:Pocket rewriter 0.8B Student · 2B Student · 数据集 · Pocket Studio 应用 · 在 Rewriter Arena 中比较教师-学生模型
- Agate-Preview-002-4step 是第二个。Logolabs 的 Agate Preview 002 是一个 260M 参数的文本到图像模型,小到足以在浏览器中运行,但它需要 50 步并带引导,即每张图像 100 次网络前向。我让 ML-intern 将其蒸馏到仅 4 次前向!
这用了两次运行。第一次将 155,000 张训练图像缓存为潜变量,将引导烘焙进模型,然后分阶段将步数从 16 降到 8 再降到 4,全部在 A100 上完成。4 步学生模型在 GenEval 和 FID 上以相同的 4 步击败了教师模型,之后 ML-intern 将其导出为 ONNX 以供浏览器使用。这次运行耗时约 13 小时,花费 22 美元。
我进行了第二次训练运行,让 ML-Intern 进一步改进 4 步学生模型。它随后用 16 步的教师模型又生成了 24,000 个图像对,并针对这些数据对 4 步学生模型微调了约一小时。GenEval 从 0.509 提升到 0.536,而教师模型在 50 步时为 0.563,仅用 4 步(四分之一的计算量)。ML-intern 重新导出了浏览器版本。第二次运行耗时约 8 小时。两次运行的总计算成本约 37 美元。
查看:Agate 4-step model · Dataset · Run Agate in your browser · Agate 4-step LIVE
花费多少
| 模型 | 基础模型 | 计算 |
|---|---|---|
| Citrus Doctor | Qwen3.5-2B | 1.90 美元 |
| Huggy LoRA | FLUX.2 klein base 4B | 7.60 美元 |
| Pocket rewriter(0.8B 和 2B) | Qwen3.5-0.8B 和 2B | 16.05 美元 |
| Viewpoint Orbit LoRA | Qwen-Image 2.1 | 16 美元 |
| Doodle-in LoRA | Qwen-Image 2.1 | 24.30 美元 |
| Agate 4-step(两次运行) | Agate Preview 002 | 37 美元 |
| 总计 | 约 103 美元 |
这些是每次会话所报告的 GPU 和 CPU 作业费用。
动手做一个
ML-intern 已在 HuggingChat 中上线。开启 ML-intern 模式并粘贴提示词。如果你想找个起点,我的示例提示词可以随意复制。从一个你希望存在的模型和一个你已有的数据集(或你能描述出来的数据集)开始。给它一个小预算,要求它给出基线并做一次冒烟测试,在提高上限之前先看看返回的结果。
如果你用它做出了什么,请在 X 上分享并标记 @Gradio 和 @HuggingFace。我们很想看到你做出的那些别人不会想到为你构建的模型。