跳到正文
Hugging Face Blog·· 26 天前 精选AI 评分74

作者用 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. 一个会新技巧的模型

  1. 相机角度 LoRA 是早期 Qwen-Image 模型最受社区欢迎的附加组件之一。你可以给模型一张物体的图片,并要求从左侧 45 度角查看它。在 Qwen-Image 2.1 模型发布几天后我查看时,还没有人做过,于是我让 ML-intern 来构建它。

Qwen camera angle LoRA

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 应用

  1. 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. 适合你设备的模型

  1. 本文开头的 Pocket Rewriter 是第一个。ML-intern 首先通过 Inference Providers 使用一个小型指令模型生成了 8,797 条简短图像请求,遵循我提示词中设定的混合类型:照片、海报、标志、信息图等,其中约三分之一要求引号中的精确文字,许多使用英语以外的语言。随后 9B 教师模型在一张 A100 上重写了所有这些请求,耗时 2 小时 37 分钟(约 6.50 美元)。经过质量筛选后,选出了 1,840 个示例用于训练数据集。

Qwen Image 2.1 Pocket Studio

训练 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 中比较教师-学生模型

  1. 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。我们很想看到你做出的那些别人不会想到为你构建的模型。

相关阅读

专题与标签

相关资讯专题