Step 5 权重到了,我先认一笔欠账

cover

Hello,我是飞飞。

Step 5 权重到了,挑哪个版本、预留多少空间,你现在能查到具体答案了。九月二十号,我在旧文结尾写了「10 月 15 日见」。说好接进 Claude Code 跑两天,再掂量文件有多大。今天晚了一天,你该来催我了。

权重确实到了。文件我核了,接入文档也找到了,连当时没找到的缓存价都有答案。可接进自己的流水线跑两天,这份作业我还没交。今天能交代的,是哪些条件补齐了,哪些仍然没测。

两件事要分开交代

那篇旧文里,我留了两个具体动作。一个是看工具调用稳不稳;另一个是把 Step 5 的体积,跟 K3 那个旧数字摆一起。

现在回看,后一个动作也没想周全。模型参数少了,下载文件就一定更小吗?还得先问,你拿的是哪种精度。

精度可以理解成,保存模型数字时用多细的刻度。刻度压粗,文件通常会变小,但部署方式、效果与硬件支持也得跟着核。不能看见一个型号,就把所有版本当成同一份东西。

这次我先把三份官方文件目录过了一遍。没有下载几百 GB 权重,也没有在本机启动模型。做的是文件元数据核对。数字算了哪些文件,得一起交代。

650GB 是哪一版

从阶跃星辰的 Hugging Face 仓库取文件大小,只加总 .safetensors 权重分片,得到这张表:

官方版本 权重分片合计
BF16 约 1214.9 GB
FP8 约 650.3 GB
NVFP4 约 394.2 GB

核对时,我保留了文件名和各自的字节数。FP8 与 BF16 都有二十八个权重分片,NVFP4 是九十五个。把分片加起来,才有表里的数。分片多,只说明文件怎么切;它本身不能拿来判断模型更大或更强。

页面上看着一样的下载列表,里面放的可能是不同版本。选错一项,连要预留多少磁盘空间都会跟着变。所以这份作业交到这里,至少得把版本写在数字旁边。

表里的 GB 按十亿字节算。配置文件、分词文件没有加进去。三个目录分别是 BF16、FP8 和 NVFP4,核对日期是十月十六号。

同一个 Step 5,光这三份权重,体积就隔了一大截。你转发一句「它有六百多 GB」,别人要是看的另一个版本,两个人聊半天都对不上。

九月那篇拿 K3 的 594G 当参照,我这次先不算比例。旧数字没有在那一段锁定可比的精度和文件范围。用它对着 FP8 就判谁大谁小,得到的只是两个数字的大小。

还有一件事得收住:文件体积不能直接当运行显存。模型要放进去,运行时的缓存和缓冲也要占位置。对话能拉多长、能同时接几个请求,都会影响余量。

我七月已经为这事改过口。我先写 K3「根本装不进来」。隔天,有人用流式加载把它跑起来,我只好回去改口。它把权重按需拉取,换了一种加载办法。文件大这件事没消失,可“装不进来”的结论已经站不住了。

四张卡也得看型号

官方 README 给了部署示例。FP8 可以看四张 B300 那组,也有八张 H200 那组。这里的四张,指的是 B300。

这几行,比“激活二百七十亿参数”更能回答我的部署问题。激活量说的是一次计算动用多少参数。要部署整个模型,仍得面对权重和运行空间。

但我也不会把官方示例抄成最低配置。README 自己写了,实际内存要求会随框架、缓存分配和并发变化。别的实现能不能更省,得看具体结果。

尤其别把 FP8 那组硬件,安到上面的 NVFP4 数字旁边。一个是某个版本的文件大小,一个是另一套部署示例,挨着排就容易让人误以为配套。

接入指南已经有了

接 Claude Code 这件事,现在有了更明确的起点。

StepFun 的官方接入文档写了 Messages API,能把 Step 模型接到 Claude Code 客户端。它的示例走 Step Plan 套餐通道,模型名用 step-5-preview。后面那张标准 API 价目表,算的是另一条按量计费通道。

这和自己用 vLLM 起一个 OpenAI 兼容服务,走的是不同接法。看到模型能响应普通聊天,还不能直接算我那套工具链接好了。

我更在意文档里那几个容易略过的地方。主对话选了 Step,子代理可能还有自己的模型配置;任务里如果写死别的模型名,也得单独看。只改最显眼的那一格,后台调用未必跟着走。

连一键脚本,官方都交代了范围:会备份配置,但会替换整个 env 对象。原来放在里面的其他变量会被移走,顶层的其他字段才保留。已有配置的人,看到“有备份”也别跳过这句话。

这篇我没有运行那个脚本,接通结果还交不出来。

而且,Anthropic 的网关文档明确不支持把 Claude Code 路由到非 Claude 模型。模型方给出兼容接法,与客户端厂商为它提供支持,要分清。

缓存那格补上了

九月我最惦记的,是价目表里没看到缓存命中价。跑长任务,每轮重复送进去的要求很多,这格会影响输入成本。

这次找到官方价目表,按标准 API 的美元价格,每百万 token 是这样:

项目 美元单价
输入,缓存未命中 1.00
输入,缓存命中 0.10
输出 2.70

未命中的输入价,已经包含写入缓存。输出则把推理过程和最终回答一起算。这个表核到了,旧文里“缓存价那格没看到”的疑问可以收回。

可它跟接入指南里的 Step Plan 额度,仍然是两种口径。不能抄着标准 API 的单价,算出一个数,就说套餐里实际扣了这些钱。

同样,命中单价便宜,不代表我的任务一定省这么多。命中多少、输出多长、失败要重来几次,都还没在这套流程里量过。

我的写作流水线挂着十几个 skill,也就是按任务加载的操作说明。换一个模型,麻烦经常藏在工具调用、格式约定和阶段交接里。旧文里我就说过,这些规则照着 Claude 的脾气磨过。价格表补齐了,迁移要花多少精力还得另算。

两天长测还欠着

我现在能划掉的,是“权重尚未开放”。能补上的,是三种版本的文件体积、官方接入口,以及缓存计价。

工具调用稳不稳,暂时还不能划勾。官方接入指南也把验证拆开了:普通对话、读文件改文件再运行、到平台核请求路由。看到一句回复,只完成了其中一小段。

它给的工具测试也很朴素。先读一个 Python 文件,补名字参数。默认名字、指定名字,分别运行并检查输出。读、改、跑、核结果要连得上。这个测试比聊两句更接近我的需求,但通过它,仍然替不了那两天的真实任务。

这篇稿子的生成过程,就有个现成例子。初稿正文中文字符只有 1861,检查脚本直接退回。补进真实分片统计和官方工具测试细节,才到了 2084,过了写稿阶段的检查。

如果只收一句“文章写完了”,那个字数缺口就看不见。换底座也得保留这类检查,看每一阶段交出来的文件,别只看模型怎么报喜。这次我没有拿 Step 5 跑这篇流水线,不能把这个例子算进它的成绩。

旧文给换底座设了“同分还便宜三倍以上”的条件。现在也还没到直接套这个条件的时候。分数看能力,价目表看单价。自己的任务能不能做完,还得拿结果说话。自己的任务结果没拿到,换不换还轮不到下结论。

晚了一天,这次查清了权重有多大、官方给了什么接法、标准 API 怎么计价。能不能替我干完活,得等那两天的任务记录回答。你手上有哪一条正在用的流程,换模型之前一定要完整跑过一遍?