一张生成的标题卡,标题为“Granite Switch 4.1 30B”,副标题为“十二个适配器缩减至两个——一个冻结的 30B 基座,能作答、决策与转写”,并有三张圆角卡片,分别写着 Base / Granite 4.1 30B、Compose / +3.89% 参数和 Speak / 470M CTC 编码器;页脚写着“权重发布于 2026 年 10 月 14 日”,其中合成后的数字 29,989,814,272 叠加在 28,865,728,512 的基座之上,OrcaRouter 的标志则被合成到画面下方的白色条带中。
Engineering & Research

Granite Switch 4.1 30B:IBM 将十二个适配器削减至两个

作者

Rowan Sterling

发布日期

最新模型 · 20查看全部模型 →
基准测试:Artificial Analysis · 每日更新
返回全部文章

五个月前,IBM 在 Hugging Face 上发布了一个 30B Granite Switch 预览版,内含十二个适配器,相比基础模型有 11.68% 的参数开销。2026 年 10 月 14 日,最终版模型面世——Granite Switch 4.1 30B——而它恰好只有两个适配器,开销为 3.89%。这个头条数字下降了三分之二,而这就是这次发布的意义所在。

要准确说明“arrived”是什么意思,因为很多报道正是在这里变得草率:权重于 2026 年 10 月 14 日上线 Hub,而 IBM 自己的发布帖,Granite Switch 4.1:来自一个端点的聊天、决策与语音,于 10 月 15 日发布。这距离本文写作只有两天。它是一次已宣布的发布,不是有人在镜像里悄悄发现后放出的东西,也不是 5 月预览版的重新上架——制品不同,适配器数量不同,而且音频路径在预览版中根本不存在。接下来将区分你能从仓库中读出的内容,与只有 IBM 说过的内容。

A generated scoreboard card titled 'Granite Switch 4.1 30B — the scoreboard' listing six rows: base model Granite 4.1 30B (30B, 128K), adapters 2 (guardian-core rank 16, decision rank 64), composed parameters 29.99B (+3.89%), context 131,072 tokens, backends Transformers and vLLM, and Decision Index 50.1 marked vendor-reported. The footer reads 'Structure from the published BUILD.md; Decision Index vendor-reported, not independently reproduced.' The OrcaRouter logo is composited in the white strip below the artwork.

检查点里实际包含什么?

Granite Switch 4.1 30B是一种组合,而非新架构。它取用Granite 4.1 30B——一个稠密的纯解码器 Transformer,131,072 token 窗口,100,352 token 词表——将其冻结,并加装两个激活式 LoRA 适配器以及一个语音编码器。构建清单与权重一同检入仓库,因此下文每一项结构性论断都可直接阅读,而非来自转述。

• guardian-core — 仅附加到注意力投影(k_proj、o_proj、q_proj、v_proj)的 aLoRA,rank 16,alpha 64,取自 Guardian Library,并指向伤害、越狱、脏话、暴力、性内容、社会偏见和不道德行为。控制 token <|guardian-core|>,id 100352。

• 决策——aLoRA,秩为 64,alpha 为 128,附加到包括 MLP 在内的全部七个投影上,并被训练来执行比聊天更窄的任务:给定一个状态和一个带标签选项的问题,在一次前向传播中返回这些标签上的校准概率分布。控制标记 <|decision|>,id 100353。

• 语音 — granite-speech-5.0-470m-turboctc,一个 4.7 亿参数的非自回归 Conformer CTC 编码器,仅支持英语,作为音频输入路径接入,而非作为第二个服务。

权重算术是本次发布中最干净利落的数字。基础:28,865,728,512 个参数。组合后:29,989,814,272 个。差值为 1,124,085,760 个参数,即 +3.89%。你无需自己编写控制 token——当你传入一个 adapter_name 参数时,聊天模板会自动插入它们,这意味着切换能力只是一个请求参数,而无需进行第二次部署。

预览版随附了十二个适配器。正式版只随附两个。

这是一个值得深入理解的决策,因为表面上看它像是一次退步。预览版检查点——仍在 Hub 上,仍采用 Apache-2.0 许可,日期为 2026 年 5 月 5 日——承载了来自三个 Granite Libraries 的十二个适配器:引用、查询改写、查询澄清、幻觉检测、可回答性、事实性检测、策略护栏、事实性纠正、guardian-core、不确定性、需求检查以及上下文归因。这确实是一个非常实用的套件,也是一个你必须仔细推敲的套件,因为十二个适配器意味着十二套调用配方和十二种不同的输出契约。

Granite Switch 4.1 30B 保留了其中两个,并新增了一个语音编码器。IBM 所做的权衡是用可读性换取覆盖范围:最终模型是一个聊天模型,它还能用概率回答决策问题并转录音频,而这三件事调用方可以同时记在脑子里。另外十个适配器并没有消失——它们仍然已发布、仍然可组合,并且 granite-switch 仓库中的 composer 会为你构建一个包含任意子集的检查点,包括全部十二个。变化的是默认开启的内容。

这是一项实实在在的代价,值得点明,而不是粉饰过去:如果你一直在等预览版的幻觉检测和上下文归因适配器达到 1.0 检查点,那这并不是它。它是一个范围更窄、开销更低的模型,而组合工具链才是弥合差距的关键。

决策适配器是那个非聊天模型的部分。

从语言模型中读出概率分布并不新鲜。真正需要解释的是,在固定的一组选项标签上通过一次前向传播做到这一点,并且数值校准得足够好,可用于路由决策。文档记载的方案是一个固定的决策引擎系统提示词,一个 State:轮次在冻结的基础模型上评估,然后是一个 ### DECISION轮次,呈现问题以及用单 token 标注的选项。你要请求的正是那些标签 token id 的 logprobs,并取指数。该模型卡自身的示例返回类似 A: 0.982, B: 0.0035, C: 0.014 —— 而有趣的是,这些来自普通补全端点,而不是分类器。

工程上有一个公告略过的小坑。logprob-token-id 机制每次请求最多支持 128 个 id,因此,带超过 128 个选项的决策问题会直接失败。文档给出的修复方法是,把标签 id 分成每 128 个一组,对每一组使用完全相同的提示词各发一次请求,然后拼接结果——这在数学上等同于不受上限限制的调用,因为返回的 logprob 覆盖整个词表,所以每个标签的值并不取决于它是哪一组请求的。每 128 个选项额外多一次请求。这种细节只存在于代码仓库内部。

与这个适配器相关的唯一已公布数字是 Decision Index,版本 v0.3,即包含 1,068 行的公开快速子集:总体 50.1,其中 Knowledge 32.4、Language 58.6、Retrieval 49.8、Tools 76.5,Arts 26.4。要看的是分布形态,而不是那个头条数字——Tools 上的 76.5 紧挨着 Arts 上的 26.4,这是一个非常不均衡的画像,相比总体数字,它更能说明这个适配器适合指向哪里。IBM 还报告称,在本地部署该适配器与放在托管的 vLLM 端点之后提供服务,两者的结果相差在约 0.6 分以内;尽管这两半都是 IBM 自己跑的,这仍是对服务路径的一项有用的健全性检查。

A screenshot of the IBM Granite Switch 4.1 launch article on Hugging Face, titled 'Granite Switch 4.1: Chat, Decisions, and Speech from One Endpoint' and dated October 15, 2026, opening with a paragraph about Granite Switch 4.1 models armed with a Decision adapter and the fastest ASR model on the OpenASR leaderboard, followed by the list of the Decision aLoRA, the Guardian aLoRA and the embedded Granite-Speech-5.0-Turbo-CTC encoder.

语音转文字,以及 IBM 写进自家模型卡中的警告

音频路径会将转写文本送入嵌入式编码器处理,并将其拼接进聊天上下文中,以替代音频内容部分,因此带有音频的请求看起来就像一次普通的聊天补全,只不过包含一个 input_audio 部分。无需第二个语音服务器,也无需额外的延迟预算。

这些限制全都出自 IBM 自己的文档,而不是某个怀疑者之口:仅支持英语、输出为小写且不带标点、解码时不做引导,以及——这一条最该让你停下来细想——语音编码器与语言模型并未联合训练。二者之间不存在任何经过训练的投影将它们耦合起来。因此,一次误转写就可能改变模型或决策适配器所响应的内容,而整条流水线中没有任何环节会把它标记出来。如果你要部署的场景里,转写错误会带来后果,那么这句话就是你完整的威胁模型。

已确认,供应商报告,未验证

• 已从代码仓库确认——基座模型身份、两个适配器的秩及其目标模块、控制 token id、合成后的参数量与 +3.89% 的差值、131,072 token 的上下文窗口、Apache-2.0 许可,以及锁定的支持范围(Transformers 5.16–5.17、vLLM 0.26–0.28、PyTorch 2.11+)。

A screenshot of the ibm-granite/granite-switch-4.1-30b model card on Hugging Face, showing a text-generation pipeline tag, tags reading granite_switch, granite-switch, granite-4.1 and conversational, an Apache-2.0 licence, a release date of October 14, 2026, and model-summary text naming the base model as ibm-granite/granite-4.1-30b at 30B parameters and 128K context, two adapters called decision and guardian-core, and an embedded English speech-to-text path via granite-speech-5.0-470m-turboctc, with backends listed as HuggingFace Transformers and vLLM.

• 厂商报告,未复现——包括 Decision Index 的各项数据、关于 Granite Speech 5.0 TurboCTC 是 OpenASR 排行榜上最快 ASR 模型的说法、关于该组合模型消耗的 VRAM 与基础模型大致相同的说法、Guardian 适配器在安全相关任务上击败若干具名闭源决策模型的断言,以及发布帖中的附带说法:定制 3B Granite Switch 构建在运行 Doom 时达到每秒 60–100 次决策,而据报告为每秒 10 次。IBM 表示更多数据将在“未来几周内”公布,这等于承认目前的证据很单薄。

• 无人查验——其余一切同样如此。没有第三方评估,没有排行榜收录,没有独立的延迟或吞吐量测量,也没有托管的 IBM 端点。该代码仓库只获得了寥寥几个点赞,而在撰写本文时,实际上没有任何下载量。发布仅两天,基本无人问津。

它位于堆栈中的哪个位置

Granite Switch 4.1 30B 走的是自托管路线。模型卡片列出了 Hugging Face Transformers 和 vLLM,锁定了很窄的版本范围,而检查点在这两者上都能直接运行,无需转换。它没有托管端点,所以实际的第一步就是一块 GPU 加一个容器。

其余部分就直说了:目前 OrcaRouter 的目录里没有 Granite 模型,所以如果你想要这个 checkpoint,途径就是 IBM 的发布版本加上你自己的硬件。这个平台真正能给你的,是周边决策层面的支持——一个密钥即可调用 200 多个模型,并具备自动故障转移,按供应商标价透传,0% 加价——而这恰恰在这种情况下最为重要。一个发布仅两天、尚无独立评测的 checkpoint 只是候选者,而非现任者;对待候选者最省事的做法,就是把它与已投产的模型并排放在一起,用你自己的流量来比较,而不是围绕它重新改造生产路径。

悬而未决的问题

Granite Switch 背后的赌注是:对于某一特定类别的工作负载——即那些需要回答、决策和转写的应用——组合胜过规模。在这类场景中,三个模型意味着三次部署、三种延迟和三笔账单。跨适配器共享一个 KV cache,并为此付出 3.89% 的代价,是一项真正非同寻常的工程成果,而这也是本次发布中一年后仍将重要的部分。

尚未确定的是,这个组合出来的答案到底好不好。决策适配器公布的评测画像并不均衡,语音路径仅支持英语,也没有经过联合训练,而且这个模型才发布两天,背后没有任何独立运行结果支撑。先读构建清单,自己组合一个子集,用你自己的标注集去对决策适配器做基准测试,然后再决定要不要相信别人那个 50.1。