自己动手,造出本来不存在的模型

上周,作者想要一个 Qwen-Image 2.1 官方附带提示词改写器的小型版本。官方那个是 9B 模型,需要约 20GB 内存,写一段话前要思考数千 token。在 Hub 上只找到同一 9B 模型的压缩副本。于是他向 ML-Intern(HuggingChat 里的代理模式)描述需求,第二天就有了 0.8B 版本,可在 CPU 上运行,99.7% 的输出有效,token 消耗约为教师的四分之一。整个项目包括让 9B 模型标注 8,797 条请求,计算成本 16 美元。

接下来几天,他又用同样方法做了 5 个模型。每个模型始于 HuggingChat 里一条开启 ML-Intern 的消息,终于 Hub 上带评估的公开模型。ML-Intern 自己规划工作、花钱前先问预算、正式任务前跑小测试,然后在 Hugging Face 硬件上训练、评估、发布。

提示词怎么写是关键。第一条消息是投入精力的地方:第一个提示约 450 词,到第 6 个项目时接近 2,000 词。所有提示词原样开源在 GitHub(yvrjsharma/ml-intern-prompts)。提示开头用一行写想法和原因,然后点名具体素材:数据集、基座模型、训练脚本。已知经过验证的信息放在“Verified facts, do not re-derive”标题下,避免代理重新推导。提示中有两行至关重要:第一行要求训练前报告基线,比如柑橘模型提示要求“报告基座模型在相同指标上的零样本分数,以便看到增益”;第二行是带检查的冒烟测试,比如图像 LoRA 先跑 50 步训练,然后检查保存的权重真的变了,再付钱跑完整任务。末尾要写清交付物和成本上限,例如“总花费上限 12 美元,超出前问我”。因为 ML-Intern 每个任务从零预算开始,执行付费任务前需要授权,所以这个预算上限能严格执行。

项目一:柑橘疾病视觉模型。用 Claude 整理数据集,合并了 Hub 上 Project-AgML 组织托管的三个来源,得到 3,017 张标注图像,覆盖 21 种病虫害、营养缺失和处理方法。微调 Qwen3.5-2B,两个 epoch 在一块 A10G 上完成。335 张测试照片上,基座模型正确识别 14.9%,微调后 52.8%。计算成本约 1.90 美元。项目二:Huggy LoRA。基于 FLUX.2 klein base 4B,用 84 张带标题绘图训练 Huggy 角色 LoRA。每 100 步保存检查点并用同一组提示生成图,第 200 步完全对味,500 步后风格开始泄漏到无关提示。LoRA 也能用在 4 步蒸馏的 klein 模型上。成本约 7.60 美元。

项目三:相机角度 LoRA。Qwen-Image 2.1 发布几天后还没有人做相机角度 LoRA,作者就派 ML-Intern 做。ML-Intern 从 Google Scanned Objects 渲染了 1,030 个家居物体、每个 24 个角度,共 24,722 张透明图,CPU 任务只花了几美分。最终选定 461 个物体训练、40 个测试,1,844 对训练前后对比,均匀覆盖 23 个相机指令。训练 2,000 步约 90 分钟一块 A100(约 3.75 美元)。整个项目大约半天、48 个任务(含失败重试),总计算成本约 16 美元。

项目四:涂鸦 LoRA。照片上画洋红色涂鸦,配一句提示,LoRA 就把涂鸦换成对应物体,同时保持光照和构图。没有现成数据集,作者在提示里描述如何造:从 Open Images 取真实照片,用 LaMa 修复模型移除一个物体,在空处画涂鸦,未修改的照片作为目标。ML-Intern 先写测试脚本,再跑 GPU 任务,并记录每张来源图的作者和许可。共构建 6,042 个训练对和 160 个测试对,其中 40 个测试对来自 23 个完全没训练过的物体类别。训练前测量了基座模型和加了 Viggle turbo LoRA 的版本,并验证批量编辑输出一致。训练 2,000 步 1 小时 38 分一块 A100 约 4 美元,用 48 个测试对比检查点选了第 500 步。配合 Viggle turbo LoRA 在 6 步推理时,67.5% 的物体被检测在绘制位置,平均每次编辑 4.7 秒;来自 23 个未见类别的物体定位可靠性与其余相当(65.0% 对 64.2%)。项目耗时一天多一点、59 个任务,总计算成本约 24 美元。

项目五:口袋改写器。ML-Intern 先通过 Inference Providers 用小指令模型生成了 8,797 个简短图像请求,约三分之一要求引号内精确文本,许多非英语。9B 教师模型在一块 A100 上改写所有请求,用时 2 小时 37 分钟(约 6.50 美元)。质量过滤后留下 1,840 个样本用于训练。0.8B 和 2B 学生模型分别训练 12 和 18 分钟(A10G,两个共 0.75 美元)。0.8B 还导出了 812MB 的 GGUF 文件供 CPU 运行。项目约 11 小时、24 个任务,总成本约 16 美元。

项目六:Agate 4 步蒸馏。Logolabs 的 Agate Preview 002 是 260M 参数文本到图像模型,小到能跑进浏览器,但需要 50 步带引导,即每张图 100 次网络遍历。作者让 ML-Intern 把它蒸馏到 4 步。第一次运行缓存了 155,000 张训练图像的潜变量,把引导烘焙进模型,再把步数从 16 降到 8 降到 4,全在 A100 上。4 步学生在 GenEval 和 FID 上超过了老师同跑 4 步的表现,之后导出 ONNX 用于浏览器。该次约 13 小时,22 美元。第二次运行改进 4 步学生:用 16 步老师生成 24,000 个新图像对,微调约 1 小时。GenEval 从 0.509 提升到 0.536,而老师 50 步是 0.563,但学生只用了 4 步(四分之一计算量)。重新导出浏览器版本,第二次约 8 小时。两次总计算成本约 37 美元。

作者给出了全部账单:柑橘医生 1.90 美元,Huggy LoRA 7.60 美元,口袋改写器 16.05 美元,视角轨道 LoRA 16 美元,涂鸦 LoRA 24.30 美元,Agate 4 步 37 美元,总计约 103 美元。这些只是各次会话上报的 GPU/CPU 任务费用。

想自己试的话,在 HuggingChat 打开 ML-Intern 模式,粘贴提示即可。从一个你希望存在的模型和一个你已有的或能描述清楚的数据集开始。给它一个小预算,要求基线、冒烟测试,读完结果再提高上限。作者把示例提示放在 GitHub 上供免费复制。

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

查看原文