跳到正文
Hugging Face Blog·· 1 天前精选AI 评分75

作者用 ML-intern 两天训练并发布六个小模型,总花费约 103 美元

The model that didn't exist, so you made it yourself

AI 导读

作者借助 Hugging Face 的 ML-intern,在两天内从零训练并公开发布了六个模型,包括 0.8B 的 Pocket Rewriter、柑橘病害 VLM、Huggy LoRA、相机角度 LoRA、Doodle-in LoRA 和 Agate 4-step 蒸馏模型,总计算成本约 103 美元。

推荐理由

作者用 ML-intern 在两天内从零训练并发布六个模型,公开了完整提示词与每项算力成本,可迁移到自己的小模型项目。

正文 · AI 翻译

上周,我想要一个 prompt rewriter 的小版本,就是 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 写 prompt

第一条消息是我投入精力的地方。我为下面分享的 citrus 模型写的第一条 prompt 大约 450 词。到我的第 6 个项目时,它已经接近 2,000 词,因为每个项目都教会了我一些希望在下一次加入的东西。全部七条 prompt 都在 GitHub 上的 yvrjsharma/ml-intern-prompts,完全是我当时写下的样子。

一条 prompt 以一句话说明想法以及我为什么想要它开头。然后它列出确切的部分:数据集、基础模型、训练脚本。任何我已经核实过的内容都会放在一个标题下,标题字面上写着“已验证事实,不要重新推导”,这样 agent 就会把预算花在工作上,而不是重新发现我已经知道的东西。对于 camera-angle LoRA,那一节列出了哪个 trainer 刚刚添加了透明图像支持,以及哪些开放的 GitHub issue 让 fallback trainer 存在风险。

prompt 中有两行至关重要。第一行要求在任何训练之前先给出 baseline。例如,citrus prompt 写道:“还要在训练前报告基础模型在同一指标上的 zero-shot 分数,这样我们就能看到增益。”没有它,你只会得到一个训练后的模型,却不知道它是否比一开始的模型更好。第二行是带有检查的 smoke test。对于图像 LoRA,我要求先训练 50 步,然后检查保存的权重是否确实发生了变化,之后才为完整运行付费。

在 prompt 末尾,我会列出预期交付物并限制成本。我会定义模型卡中应包含什么,并加入类似这样的指令:“总支出上限为 12 美元,超出前先问我。”因为 ML-intern 每个任务开始时预算都是零美元,并且在执行付费任务前需要许可,所以这个支出限制会被严格执行。如果你不写预算,agent 会根据项目规模建议几条路径,并询问你更偏好哪一条。

你不一定第一次就需要所有这些。例如,我的 citrus 简报中没有 verified-facts 部分,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 美元。

查看:模型 · 数据集 · 柑橘医生应用

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 以每个 24 个角度渲染了来自 Google Scanned Objects 的 1,030 个扫描家居物品,共 24,722 张透明图像,在一个成本几美分的 CPU 任务上完成。它随后确定了 461 个物品用于训练、40 个留出用于测试,以及 1,844 对训练前后图像,均匀分布在 23 条相机指令上。

训练在一台 A100 上运行了 2,000 步,耗时约 90 分钟(约 3.75 美元)。整个项目耗时约半天、48 个任务,其中还包括那些因缺少软件包或路径错误而失败、不得不由 ML-Intern 重新提交的任务。总算力成本约 16 美元。

查看:模型 · 数据集 · 视角环绕应用

  1. 涂鸦嵌入 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 学生模型 · 2B 学生模型 · 数据集 · 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 步学生模型在相同 4 步下于 GenEval 和 FID 上击败了教师模型,之后 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。我们很想看到你制作的、别人不会想到为你构建的模型。

来源:Hugging Face Blog · huggingface.co