AREXOpen in interactive Feed

AREX Feed Article

vLLM 宣布 Vela 2.0 开源:4 个规格、Apache-2.0,路由与 PII span 合并进一次调用

October 7, 2026

2026 年 10 月 7 日 04:30 UTC,vLLM 项目的 X 账号 ,宣布 Vela 2.0 开源。帖文把 Vela 2.0 称为 span 级路由模型:安全检查、领域分类、PII span 与 unsupported claims 在一次调用中完成。规格共 4 个,参数量从 0.3B 到 9B,以 Apache-2.0 许可发布,帖文把构建方列为 vLLM Semantic Router 与 KR Labs。帖文只带一个外链,指向 Hugging Face 上的 。

一天前的 10 月 6 日,项目团队在 vLLM Semantic Router 的研究博客上发布了同题,署名是 KR Labs 联合创始人 Ádám Kovács 与从事智能路由的 Xunzhuo Liu。说明给出的对比中,在 Vela 1.0 各专家模型各自的测试行上,Vela 2.0 9B 把「未见攻击家族」提示攻击的 AUC 从 0.792 提到 0.989,把多语言 HateCheck 的 AUC 从 0.646 提到 0.855。这些数字出自团队自己写定的评测协议与打分脚本。

一次请求里问五类问题

Vela 2.0 的调用接口把输入分成 state 与 questions 两部分。state 可以是一段纯文本,也可以拆成 request、context、answer 这类具名部分;questions 是具名的问题,类型有五种:Choice 从 2~255 个给定选项里选一个,Noul 给出是/否概率,Score 在 2~10 个有序等级上打分,Set 从给定标签里选任意多个,Span 则定位文本。

Span 与 Set 是这一代新增的回答类型。按技术说明,一个 span 问题的返回结构是 {label, start, end, text, probability},偏移量指向被提问的那个 state 部分,start 含、end 不含。说明记录的 9B 实例中,对 request 提的 PII 问题命中 PERSON 标签下的「Tom Baker」(概率 0.999)与邮箱地址(1.0),对 answer 提的 unsupported claims 问题命中「6 grams」(0.982)。把一处容易踩到的默认值写进了示例注释:hallucination 那类 span 问题不写 over 时,提问对象是 answer;要检查入站文本里的敏感信息,得显式写 over: "request"。

在 decoder(解码器)一侧,state 前缀在每个渲染序列里只读一次,每个问题从这段前缀接着在自己的因果块里继续:全注意力层复用前缀的 key 和 value,Gated DeltaNet 层复用它的循环状态与卷积尾部。问题之间互不可见。额外的 span 问题会另开渲染序列,超过 2,048 token 的 span 目标再加窗口序列,但这些序列都在一个 API 调用后面。0.3B 的 encoder(编码器)走的是另一条路:把问题和 state 放进同一条双向序列读取。

四个规格的差别在哪

0.3B 是家族里的 encoder,另外三个是混合 decoder。它带 307M 参数、22 层双向 ModernBERT 骨干,8,192 token 的输入预算把 schema 和 state 一起算进去,可以跑 Torch fp32,也可以导出 ONNX fp32 或 fp16 在 CPU 上推理。它只带 router span head。

0.8B、4B、9B 的参数量分别是 756M、4.2B、7.9B,输入上限都是 16,384 token,骨干为 Qwen3.5 的 Gated DeltaNet 与 gated GQA 混合结构,在 Decision 2.0 的 Eos-0.8B、Nox-4B、Lux-9B 基础上微调而来。按标注的 FP32 参数显存,三者约为 3 GB、17 GB、32 GB。它们只输出上述五类答案,不生成文本;团队给出的抽取耗时以毫秒/题为单位。

混合模型带两个形态相同、权重独立的 span head。router head 用 PII、unsupported claims 和 toxic span 训练,也就是路由器据以行动的那批信号;broad head 用开放抽取训练,覆盖任意类型的命名实体、关系、实体提及和抽取式证据。说明写到,broad head 最后训练,训练时骨干与决策头、router head 全部冻结,因此 router 的输出在有它和没它时逐位相同,团队按每个模型 700 行做过核对。

从一张「词 × 标签」网格里解出 span

按说明,一个 span 问题在内部被拆成一张是/否网格:文本的每个词、问题里的每个标签,各判定一次。同一个标签上回答「是」且彼此相邻的词合并成一个 span,词偏移再换成字符偏移。问题的 answers 里还会给出网格中最高词概率,作为一个 Noul 值。

这套做法在因果 decoder 里成立,靠两处设计。第一处是词的表示从文本的第二份副本上读:在因果掩码下,一个词只能看到它左边的词,无法判断实体从哪里开始、到哪里结束;把目标文本放在标签块之后再复制一份,每个词就已经看过全文和全部标签。2,048 token 以内的目标整段复制,更长的按最多 1,800 token、步长 1,536 的重叠窗口读取,跨窗口的词 logits 先平均再做温度缩放和 sigmoid。第二处是标签的表示从整个标签块池化:最初的做法是在单个标记位上读标签,结果标签向量几乎相同(两两余弦 0.997),模型只学到「这是不是实体」,学不到「是哪种实体」。改为对名称和描述整体池化后,标签之间被拉开,问题里也可以直接使用模型没见过的标签,标签靠自身的描述被理解。

这两处改动合起来,在开发数据上把短文本 PII 的 F1 从 0.828 提到 0.959,把长文档 PII 的 F1 从约 0.06 提到 0.94。0.3B 不需要这两处改动,它一条双向序列同时读问题和文本,span head 用余弦相似度给词与标签打分。

四个规格共用同一批信号家族与 schema 重采样:选项被匿名化、丢弃和改写,目的是让模型学会读标签。混合模型分三段训练:先用带 KL 项的路由配方微调整个 Decision 2.0 基座 4,000 步,冻结骨干训练 router span head,最后在其余全部冻结的条件下训练 broad head,后者 90% 是命名实体、关系、实体提及与抽取式证据,10% 是 router span 回放。0.3B 从 Kai 的 Choice 主干出发单段训练 101,000 步,在一张 AMD MI325X 上约 6.9 小时。合成样本只有在盲标复核与之一致时才保留,团队给出的通过率是 71%;训练行与所有评测集做过去重。

团队自己报出的对比数字

在 14 个公开安全与提示攻击集合上,四个规格的宏平均 AUC 分别是 0.871、0.875、0.921、0.921,对照的 GLiNER2.5-Decide 为 0.704。在 2,700 行 RAGTruth 测试集上,9B 的 example-F1 为 0.774,高于在同一批行上重打分的 LettuceDetect v2 encoder 的 0.743,配对 95% 置信区间为 +0.5 到 +5.4。抽取式证据任务 ACL-Verbatim 被排除在训练之外,broad head 在三个 decoder 规格上都做到 23.6~24.5 word-F1,说明称没有 GLiNER 系模型超过 7.0。

延迟上,一次完整路由请求在单张 A40 上是 0.09 秒(0.3B)、0.13 秒(0.8B)、0.40~0.49 秒(4B)、0.60~0.71 秒(9B)。技术说明写明,Vela 1.0 于 9 月 18 日时是 14 个模型,给每个路由信号一套模型和固定标签集,Vela 2.0 要把这些判断收进一次请求。

模型卡写明的口径限制

有几处限制是团队自己写在模型卡里的。

安全对比不是零样本:模型卡注明安全结果覆盖的是训练过的任务家族,并写道「这些任务家族是 Vela 训练的一部分,与 Decide 不同」,因此该对照衡量的是路由器安全表现,而不是零样本泛化。检查点选择、温度与阈值都使用了开发集数据。0.3B 卡还记录了两件更具体的事:最终发布版本的选择参考了测试结果,且出厂的 PII 阈值下限是在观察到测试效应之后下调的。长文档 PII 上,9B 相对 Vela 1.0 PII 的 +3.2 F1,配对置信区间是 −1.1 到 +7.0,跨过零。

开放抽取的两项成绩方向不同。ACL-Verbatim 上 broad head 领先,但在 7 个零样本 NER 集合上,它的 F1 是 28.9(0.8B)、40.7(4B)、43.5(9B),而 GLiFormer-large 为 63.6、GLiNER-large-v2.5 为 61.3。通用决策能力也有折损:在 Jev Decision Index 0.2.1 的 38 个基准上,9B 得 41.09(开启可选的 Noul 校准后为 41.63),对基座 Lux-9B 的 46.23 保留 89%;4B 保留 74%,0.8B 保留 79%。broad head 的抽取成本同样不低,3K token 上下文下每题耗时 2,288 毫秒(9B)、1,499 毫秒(4B)、477 毫秒(0.8B),对照 GLiNER2.5-Decide 为 415 毫秒。

许可、验证状态与下一步

许可范围在技术说明里写得比较细:权重、代码和文档都是 Apache-2.0,但 0.3B 的分词器带有 Gemma Terms of Use;它派生自 Decision-1.0-Kai-0.6B(Apache-2.0)与 Vela-1.0-Encoder-307M(MIT,来自 mmBERT)。9B 派生自 Decision-2.0-Lux-9B(Apache-2.0),后者构建在 Qwen3.5-9B(Apache-2.0)之上。训练数据各自保留原许可,其中一部分是 CC-BY-SA 这类 share-alike 条款。

发布渠道的核实有一处缺口。帖文附带的 Hugging Face collection 链接,在本文所用的网络环境中无法直接打开,因此该 collection 的内容只能按帖文与项目自身材料的说法转述,未做独立确认。

项目自身的代码仓库是 ,标注 Apache-2.0 许可,仓库主页指向 vllm-sr.ai;在公告帖下,账号 请读者去看技术报告,给出的链接正是 10 月 6 日那篇博客。

两件事在现有材料里没有时间表:在 vLLM Semantic Router 中做原生 signal-backend 集成、用一次 Vela 2.0 请求替换逐信号分类器,被说明列为下一步;论文《Vela 2.0: Towards Open Foundation Routing Models》的状态是 forthcoming。

参考链接