不存在的模型,于是你自己把它造了出来
摘要
一篇 Hugging Face 博客详细介绍了用户如何通过提示词引导 ML Intern 智能体,在短短几天内构建出六个自定义小模型,其中包括将 Qwen-Image 2.1 中 9B 参数的提示词重写器蒸馏为仅 0.8B、可在 CPU 上运行的轻量版本,算力成本仅 16 美元;文中还分享了让这一流程稳定可靠的提示词技巧,包括基线检查、冒烟测试和预算上限设置。
查看缓存全文
缓存时间: 2026/10/09 06:38
一个不存在的模型,那就自己造一个
来源:https://huggingface.co/blog/building-with-ml-intern
上周,我想要一个 Qwen-Image 2.1 自带的 prompt 重写器(https://huggingface.co/Qwen/Qwen-Image-2.1-PE-T2I)的小型版本。官方那个是 9B 模型,需要大约 20 GB 显存,而且在写出一句话之前要先“思考“几千个 token。在 Hugging Face Hub 上,我只找到了这个 9B 模型的压缩版本。于是我向 ML Intern(https://huggingface.co/chat/?mode=ml-intern)描述了我想要的东西,第二天我就得到了一个 0.8B 版本(https://huggingface.co/ML-Intern-lab/Qwen-Image-2.1-PE-T2I-Pocket-0.8B),可以直接在 CPU 上运行。它 99.7% 的时候都能返回有效输出,token 消耗大约是教师模型的四分之一。整个项目的算力开销,包括让 9B 模型标注 8,797 条示例请求,总共只花了 16 美元。
在接下来的几天里,我又以同样的方式做了五个模型。每个模型都始于 HuggingChat 中一条打开 ML-intern 的消息,最终都成为了 Hub 上的公开模型,评估结果也写进了模型卡片。ML-intern 会规划工作流程,在花任何钱之前向我确认预算,先跑一个小测试再执行正式任务,然后在 Hugging Face 的硬件上完成训练、评估和发布。
我如何写 prompt
第一条消息是我最下功夫的地方。我为下面分享的 citrus 模型写的第一条 prompt 大约 450 个词。到第六个项目时,已经接近 2,000 个词了,因为每个项目都教会我一些东西,我希望在下一个项目中用上。全部七条 prompt 都在 GitHub 上:yvrjsharma/ml-intern-prompts(https://github.com/yvrjsharma/ml-intern-prompts),一字不差地保留了原文。
一条 prompt 的开头是一行说明——我的想法是什么,为什么想要它。然后列出具体要用的东西:数据集、基座模型、训练脚本。任何我已经确认过的信息都放在一个标题为“已验证事实,请勿重新推导“的部分下,这样智能体就能把预算花在干活上,而不是重新发现我已经知道的东西。对于相机角度 LoRA 那个项目,这部分列出了哪个 trainer 刚添加了透明图片支持,以及哪些未关闭的 GitHub issue 会让备选 trainer 变得危险。
Prompt 中有两行至关重要。第一行要求在任何训练之前先跑一个基线。例如 citrus prompt 里写道:“另外在训练前报告基座模型在同一指标上的零样本得分,这样我们才能看到提升幅度。“没有它,你会得到一个训练好的模型,却完全不知道它是否比你原本的模型更好。第二行是一个附带检查的冒烟测试。对于图像 LoRA,我要求先跑 50 步训练,然后检查保存的权重是否真的发生了变化,再支付完整的训练费用。
在 prompt 的最后,我会列出预期的交付物并限制花费。我会定义模型卡片里应该包含什么,并加入类似这样的指令:“总花费上限为 12 美元,超出前请先询问我。“因为 ML-intern 每个任务的初始预算都是零,在执行付费任务之前需要获得授权,所以这个花费限制会被严格遵守。如果你不指定预算,智能体会根据项目规模提出几个方案供你选择。
你第一次尝试时不一定需要写得那么完整。例如,我的 citrus 项目里没有“已验证事实“那一节,ML Intern 仍然产出了一个模型,其准确率是 Qwen3.5-2B(https://huggingface.co/Qwen/Qwen3.5-2B)的三倍多(https://huggingface.co/ML-Intern-lab/citrus-disease-vlm#results)。下面让我带你看看我在几天内用 ML-Intern 做出来的 6 个东西。
一、一个懂你领域的模型
通用视觉模型可以描述一片发黄的柑橘叶。但要判断它是螨虫问题还是缺镁,以及给出生物和非生物的治疗方案,就非常困难了。我用 Claude 整合了 Hub 上 Project-AgML(https://huggingface.co/Project-AgML)组织托管的三个来源的训练数据,最终得到的 citrus-disease-vlm-instruct(https://huggingface.co/datasets/ML-Intern-lab/citrus-disease-vlm-instruct)数据集包含 3,017 张标注图片,涵盖 21 种不同的病虫害、疾病、营养缺乏和治疗方案。ML-intern 负责用这些样本微调 Qwen3.5-2B,并确保在此之前先对基座模型做了基准测试。
在 335 张测试照片上,基座模型正确识别问题的比例是 14.9%。在一块 A10G 上训练两个 epoch 后,微调后的模型达到了 52.8%。算力成本约 1.90 美元。
查看:模型(https://huggingface.co/ML-Intern-lab/citrus-disease-vvlm)· 数据集(https://huggingface.co/datasets/ML-Intern-lab/citrus-disease-vlm-instruct)· 柑橘医生应用(https://huggingface.co/spaces/ML-Intern-lab/citrus-doctor)
二、一个能画你角色的模型
图像模型认识很多角色。但以 Hugging Face 品牌扁平风格绘制的 Huggy 不在其中。我请 ML-Intern 在 FLUX.2 klein base 4B(https://huggingface.co/black-forest-labs/FLUX.2-klein-base-4B)上训练一个 LoRA,训练数据来自 Chunte/huggy_for_training(https://huggingface.co/datasets/Chunte/huggy_for_training)数据集中的 84 张带标注的手绘图。
智能体每 100 步保存一个 checkpoint,并用每个 checkpoint 绘制同一组 prompt,这让选择变得很容易。第 200 步是 Huggy 首次完全 on-model 的一步。但从第 500 步开始,Huggy 的风格开始“溢出“到与 Huggy 无关的 prompt 中!训练好的 LoRA 在蒸馏版 klein 模型上仅需 4 步也能工作。算力成本约 7.60 美元。
查看:模型(https://huggingface.co/ML-Intern-lab/huggy-flux2-klein-lora)· 数据集(https://huggingface.co/datasets/Chunte/huggy_for_training)· Huggy 生成器应用(https://huggingface.co/spaces/ML-Intern-lab/huggy-generator)
三、一个会新花招的模型
1. 相机角度 LoRA
相机角度 LoRA是早期 Qwen-Image 模型最受社区欢迎的插件之一。你可以给模型一张物体的照片,然后让它从左侧 45 度角来展示。我在 Qwen-Image 2.1 发布几天后检查了一下,发现还没人做过,于是就让 ML-intern 来构建。
Qwen 相机角度 LoRA
ML-intern 在一个只花了几美分的 CPU 任务中,将 Google Scanned Objects(https://huggingface.co/datasets/suvadityamuk/google-scanned-objects)中的 1,030 个扫描家庭物品渲染为每个 24 个角度,共 24,722 张透明图片。之后它最终确定了 461 个物体用于训练、40 个留作测试,以及 1,844 对训练前后的图片对,均匀分布在 23 种相机指令上。
训练在一块 A100 上跑了 2,000 步,约 90 分钟完成(约 3.75 美元)。整个项目耗时约半天,执行了 48 个任务,包括那些因缺少依赖包或路径错误而失败、需要 ML-Intern 重新提交的任务。总算力成本约 16 美元。
查看:模型(https://huggingface.co/ML-Intern-lab/Qwen-Image-2.1-viewpoint-orbit-LoRA)· 数据集(https://huggingface.co/datasets/ML-Intern-lab/gso-orbit-rgba)· 视角轨道应用(https://huggingface.co/spaces/ML-Intern-lab/Qwen-Image-2.1-viewpoint-orbit-LoRA)
2. Doodle-in LoRA
Doodle-in LoRA是另一个很酷的想法。上传一张带有品红色涂鸦的照片,再添加一句描述物体的简短 prompt。LoRA 会用该物体替换涂鸦,同时保持原始光照和构图不变。
这个项目没有现成的数据集,所以我的 prompt 里描述了如何构建一个。从 Open Images 中取一张真实照片,用 LaMa 修复模型移除一个物体,然后在物体原来的位置画一个涂鸦。未经修改的照片作为目标图像。ML-intern 在 CPU 沙箱中编写并测试了配对构建脚本,然后作为 GPU 任务运行,沿途记录了每张源照片的作者和许可。它构建了 6,042 个训练对和一个 160 对的测试集,其中 40 对测试样本来自完全不参与训练的 23 个物体类别。
在训练之前,它分别用基座模型本身和 Viggle turbo LoRA 测量了性能,并验证了批量执行编辑会产生完全相同的图像,这让评估变得更省。训练在一块 A100 上跑了 2,000 步,用时 1 小时 38 分钟(约 4 美元),对保存的各个 checkpoint 在 48 个测试对上进行比较后,选定了第 500 步。
配合 Viggle turbo LoRA(https://huggingface.co/Viggle/Qwen-Image-2.1-viggle-turbo)在 6 步推理下,这个 LoRA 表现非常好。在涂鸦位置检测到对应物体的比例为 67.5%(https://huggingface.co/ML-Intern-lab/Qwen-Image-2.1-doodle-in-LoRA#main-comparison–160-test-pairs),每次编辑耗时 4.7 秒。来自 23 个未见类别的物体放置效果和其余类别一样可靠(65.0% vs 64.2%)。项目耗时略超一天,执行了 59 个任务。总算力成本约 24 美元。
查看:模型(https://huggingface.co/ML-Intern-lab/Qwen-Image-2.1-doodle-in-LoRA)· 数据集(https://huggingface.co/datasets/ML-Intern-lab/doodle-in-pairs)· Doodle-in 应用(https://huggingface.co/spaces/ML-Intern-lab/Qwen-Image-2.1-doodle-in-LoRA)
四、一个适配你设备的模型
1. Pocket Rewriter
本文开头提到的Pocket Rewriter是第一个。ML-intern 首先通过 Inference Providers 用一个小 instruct 模型生成了 8,797 条简短的图像描述请求,按照我在 prompt 中设定的混合比例:照片、海报、logo、信息图等,其中约三分之一要求包含引号中的精确文本,很多还使用了非英语语言。然后 9B 教师模型在一块 A100 上用 2 小时 37 分钟(约 6.50 美元)重写了所有请求。经过质量筛选后,选出了 1,840 条样本用于训练数据集。
Qwen Image 2.1 Pocket Studio
在一块 A10G 上训练 0.8B 和 2B 学生模型分别用了 12 分钟和 18 分钟(两者合计 0.75 美元)。0.8B 版本还提供了一个 812 MB 的 GGUF 文件,可在 CPU 上运行。项目耗时约 11 小时,执行了 24 个任务。总算力成本约 16 美元。
查看:Pocket Rewriter 0.8B 学生模型(https://huggingface.co/ML-Intern-lab/Qwen-Image-2.1-PE-T2I-Pocket-0.8B)· 2B 学生模型(https://huggingface.co/ML-Intern-lab/Qwen-Image-2.1-PE-T2I-Pocket-2B)· 数据集(https://huggingface.co/datasets/ML-Intern-lab/Qwen-Image-2.1-rewriter-distill)· Pocket Studio 应用(https://huggingface.co/spaces/ML-Intern-lab/Qwen-Image-2.1-pocket-studio)· 在 Rewriter Arena 中对比师生效果(https://huggingface.co/spaces/ML-Intern-lab/Qwen-Image-2.1-rewriter-arena)
2. Agate-Preview-002-4step
Agate-Preview-002-4step是第二个。Logolabs 的 Agate Preview 002(https://huggingface.co/Logolabs/agate-preview-002)是一个 260M 参数的文生图模型,小到可以在浏览器里运行,但它需要 50 步并带 guidance,也就是每张图 100 次网络前向传播。我请 ML-intern 把它蒸馏到只需 4 步!
这花了两次运行。第一次将 155,000 张训练图片缓存为 latent,把 guidance 烘焙进模型,然后分阶段将步数从 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 步模型(https://huggingface.co/ML-Intern-lab/agate-preview-002-4step)· 数据集(https://huggingface.co/datasets/ML-Intern-lab/agate-preview-002-4step-latents)· 在浏览器中运行 Agate(https://huggingface.co/spaces/ML-Intern-lab/agate-preview-002-4step-webgpu)· Agate 4 步 LIVE(https://huggingface.co/spaces/ML-Intern-lab/agate-preview-002-4step-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 步(两次运行) | Agate Preview 002 | 37 美元 |
| 总计 | 约 103 美元 |
以上是每次会话报告的 GPU 和 CPU 任务费用。
造你自己的模型
ML-intern 在 Hugging Chat(https://huggingface.co/chat/)中。打开 ML-intern 模式,粘贴一条 prompt 就可以开始。如果你需要一个起点,我的示例 prompt(https://github.com/yvrjsharma/ml-intern-prompts)随便拿去抄。从一个你希望存在的模型和一个你手头有(或者能描述清楚)的数据集开始。给它一个小预算,要求跑基线和冒烟测试,在提高预算上限之前先读一读返回的结果。
如果你用它做出了东西,欢迎在 X 上分享并 @Gradio(https://x.com/Gradio)和 @HuggingFace(https://x.com/huggingface)。我们很期待看到你们造出来的、别人都想不到要为你们构建的模型。
相似文章
@victormustar: https://x.com/victormustar/status/2059264598407033062
这篇文章描述了如何使用Hugging Face的ZeroGPU和一个编码代理,以有限的预算自主部署AI模型,特别是LongCat说话头像模型。
由 Qwen 3.6-27B 编写的精简版 Hugging Face 模型搜索工具
一位开发者创建了一款精简版 Hugging Face 模型搜索工具,以单个内嵌 JS 的 HTML 文件形式存在,大部分代码由 Qwen 3.6-27B 编写。该工具按作者、基础模型和衍生模型组织模型,并利用缓存最小化 API 调用。
@malikwas1f:1/ Qwen3.6-27B 已悄然成为本地模型——也是 Hugging Face 上整个衍生生态系统的基础(fi…
该推文对 Qwen3.6-27B 的思考模式与非思考模式进行了 300+ 问题的基准测试,揭示了这款热门本地模型及其在 Hugging Face 上的衍生生态系统的惊人结果。
让一个4B本地模型真正发挥作用:设备端“记忆助手”背后的distill-on-idle流水线
描述了一种'distill-on-idle'流水线,它使得一个4B参数的本地模型能够作为设备端记忆助手有效运行,展示了小型模型的实际应用。
@nini_incrypto_: Hugging Face 把 AI 训练全流程都自动化了啦! 最近有个叫 ml-intern 的项目在 GitHub 爆火,它就像一个 24 小时待命的算法实习生,能独立完成大模型的后训练(Post-training) 1.自主调研:它会…
Hugging Face 推出的 ml-intern 项目在 GitHub 上爆火,能够自主完成论文调研、数据处理、训练脚本编写和模型训练的全流程自动化,无需人工干预即可将小模型(如 Qwen3-1.7B)的性能大幅提升,甚至超越 Claude Code。