103 美元能训 7 个小模型?可你那些活多半还不够格

cover

Hello,我是飞飞。

10 月 8 号,Hugging Face 发了篇官方博客。原标题直译过来是「那个不存在的模型,所以你自己做了一个」。

内容更抓人。一个人,几天的活,103 美元,训出 7 个能跑的小模型:认柑橘病害的,做图像编辑的,专门改提示词的。

我把那篇从头读到尾,翻出自己那本账重算了一遍。算完的结论有点扫兴:这 103 美元买的不是算力,是把一圈脏活包给了一个 agent。而值得你自己训的活,窄得超出我预想。

你的账多半也是这三本:大厂禁最贵模型那本、强弱模型编队那本、别人为 AI 花多少钱那本,我写的。全是在别人的价目表上挑一档。这篇问的是另一件事:那个活,你到底能不能不买。

103 美元买的是什么

先把口径钉死。原文原话是:这 103 美元只是每一轮报告出来的 GPU 和 CPU 作业费。ML-intern 自己跑推理的钱、HF 那头的订阅、作者两三天的人工,全都不在里面。

更要紧的问题是:这个数复现得出来吗。它那些活儿里有几个是 A100 级别、单轮二十六小时往上的作业,照 HF 挂牌的机时价每小时十到二十美元算,光这一项就得两百六十美元打底,跟 103 对不上。原文也没给单价明细。更老实的说法是:这个数复现不出来,你去复现大概率花得比它多。

再说「7 个」。原文自己数的是 6 件事,成本表也是 6 行,但它 GitHub 上那个提示词仓库躺着 7 篇 brief,其中一篇一口气产出了两个模型。所以 6 个项目、7 篇提示词、7 个公开模型,三个数都对。

钱花在哪比总数有意思。最便宜的两个,柑橘识别 1.9 美元,那个 0.8B 重写器全部下来十六美元出头。省钱的路子很清楚:要么手里有现成的公开数据集,要么有一个更强的教师模型愿意把输出白送给你。这十六美元里,六块五毛是请一个 9B 教师给 8797 条请求打标。那两个贵的,得先合成整套训练集。

一句话,这 103 美元基本花在造数据和等教师上,不在调参上。

它没夸得那么神

被转得最多的成绩是:一个 0.8B 的提示词重写器,有效输出 99.7%。

这个数得拆开看。它说的是 JSON 格式合法率,在一共 300 条留出请求上测的。换句话说,模型吐出来的东西,99.7% 能被当合法 JSON 解析。

同一张表里还有一格值得摆:它跟教师选的具体比例一致率,只有 57.7%。引号里的文字逐字保真 53.1%,而那个教师自己也才 53.1%。它量的是格式对不对,跟答得对不对是两回事。

「能在 CPU 上跑」也得补一刀。实测是每次重写约 66 秒,用一颗十二线程的 Xeon。原文没提这个数,但它决定了这东西在你笔记本上能不能当工具使。

还有一句原文没写的:它的许可,是 Qwen Research License,仅限非商业。

柑橘那个更得说清。14.9% 涨到 52.8%,那个 14.9 是没微调过的、同款 Qwen3.5-2B 的分数,随机猜是 4.8%。这里有全文最需要说清的一格:原文和模型卡里,没有任何前沿大模型在同一张测试图上的对照。一个都没有。所以它证明的只有一件事,微调比不微调强,证明不了「微调比直接问大模型强」。

最后一件:这是 HF 官方博客,两人都是它自家员工,结尾是明晃晃的带货。当参考可以,当独立评测不行。

干活的是个 agent

那 103 美元到底省在哪了?最该被记住的是原文这句:它自己规划这件事,花钱之前先问我要预算,正活之前先跑一小轮测试,然后训练、评估、发布。注意,是它自己。

它自己写脚本,先在 CPU 沙箱里跑小样测,测通了才转成 GPU 作业。它自己重提失败的作业,那个 Viewpoint Orbit 四十八个作业里,有缺包的、有路径写错的,它自己捡起来接着跑。写模型卡、发演示页也是它干的。

所以「一个人几天做出一串模型」得拆成两半听。训模型本身一点没变简单,还是 LoRA,还是 r=16,还是那张 A10G 卡跑八十四分钟。变简单的是围着训练转的那一圈脏活。

这个形状我认得。我那条写文章的流水线,十几个 skill 串起来跑,中间一个 director 拆活派活。ML-intern 就是这套东西搬到了机器学习领域,只是指挥从人换成了一个自带预算门的内置 agent。

那道预算门值得单说。原文写得很清楚:因为它每次开工时预算都是零,动真金白银之前必须先拿到许可。你要是没写上限,它不闷头乱花,它会按项目规模给你两三条路径,问你要走哪条。我记过一条同源的:能自己跑的循环,必须配失败告警、退出条件和一条额度硬上限。我写的是 token,这里有人把它做成了产品功能。

顺带说个能上手的:mlintern-plugin 这个仓库能在 Claude Code 里用 /mlintern:run 直接调。

先验一遍再付钱

原文说,它那七篇 brief 里有两条纪律,是作者自己点名「最关键」的。一条是训练之前先要一份 baseline,先知道不训的版本什么水平。另一条是带校验的冒烟测试:先跑五十步,确认保存下来的权重真的变了,再去付钱跑全量。

看到这两条我愣了一下,因为这套东西我半年前手搓过。

六月份那场迁移,我让 AI 把 7600 行 Java 整库重写成 Kotlin。早上十点多动的手,下午六点多收工,晚上走 CI 上的线。

当天最狠的一道门是这么设的:删旧代码之前,先让它招供。项目里有个 529 行的祖传 XSS 过滤器,谁也不敢保证重写之后那一堆正则的行为还一模一样。我让 AI 先拿原来那版 Java 代码喂进一批输入,把跑出来的输出一条条抓下来,凑齐十九条,钉成断言。新版本再有一点行为漂移,测试立马变红。光靠「能编译、老测试也能过」,这种坑根本兜不住。

另一道门跟它那个 baseline 是一回事:迁移前我把项目里 88 个路由全导成一份清单,迁移前后逐字节比对,连每个 Controller 注册的 Bean 名都不许变。基准先钉死,再谈改。

这次对账两边都真实:HF 把那道「花钱之前先验一遍」的门做成了产品默认流程,我半年前靠自己搭出来。

哪些活值得自己训

说回那本账。我挑模型那杆秤用了小半年:一个活该用哪档,看它错一点的代价,乘以一天要跑多少次,再乘以单价。自训一个专用件值不值,也是这三个数,但多了一个前提。

你看那个 1.9 美元的柑橘识别。它为什么能便宜到这个地步?因为这活窄。二十一个类别、三千多张图就能把它圈住,它不用懂农业,只要在这二十一个盒子里挑对那一个。圈不住的活训不出来。

再一条是高频,训一次是笔固定成本,你得有足够的调用量去摊它。还有一条最容易漏:错了一眼能看出来。柑橘认错了,你翻一眼就知道不对,这种活错一次的代价可控。

那个 0.8B 重写器和柑橘识别,共同点就在这三样上。反过来,如果这活错一次的代价很高,涉及钱、涉及法务、涉及给用户发出去的东西,省下的那点 token 钱就抵不上一次事故。

我为什么不去训

那我手上最像这个的活是什么。给文章打标签分类。

这活我三个多月前写过原话:给文章打标签分类这种死板活,我早就手动切到便宜模型去跑了,反正它也错不到哪儿去。拿上面那三条一比,它全中,按道理最该考虑自训。

但我不去训。原因就一条:我的调用量配不上一张 GPU 账单。

我一天要打标签的稿子就几篇。训一个专用件贵的地方在它前面那一整套:写 brief、造数据、定义评测、设验证门。那个作者的 brief 越写越长,最早那篇四百五十词,最后一个项目快两千词。这是固定成本,一天跑几千上万次才摊得回来。

两个半月前 K3 权重放出来时我也起过念头,后来写了句「权重公开,跟我能用上,中间隔着一整个机房」。拦我的是同一件事:量还不够。

所以这篇不劝你去训。价目表上挑不到便宜那一档的时候,你才需要自己开一条产线,在那之前挑档就够用了。我把自己那句「我能不能不买」认真问了一遍,答案是能,但我不需要。

绕一圈,落到你身上。你流水线里最机械的那一步,值不值得做成一个专用小模型?拿那三个数过一遍:错一点的代价、一天跑多少次、单价。乘完还得够大,再加上窄和一眼能看出来这两条,才够格。

想问问你:你手上那个一天要跑几十上百次的活,是什么?评论区报一个,我帮你看看它够不够格自己开一条产线。