跳到正文
原文
Hugging Face Daily Papers· arXiv:2610.02142·本站收录 · 原文发表

关键词式评测会误判小模型工具调用能力,论文提出廉价诊断阶梯

Keyword Harnesses Fail Open: A Cheap Diagnostic Ladder for Tool-Use Claims in Small Language Models

论文速读

评测/基准

据论文 PDF 整理(AI 生成),以原文为准

作者用严格诊断阶梯发现 VectraYX-1B 的工具调用分数是 harness 假阳性,并定位为缺失 prior。

问题
关键词 harness 会把从未发出结构化工具调用的小模型记成会用工具。
方法
在架构匹配的 600M/1B 上用逐字复现、首 token 概率、新提示词和 embedding drift 逐级诊断,再做定向 SFT。
实验与结果
B4 几乎相同(0.660 vs 0.650),严格检查却是 6/6 对 0/4–6;修复后 1B 在 269 条上 well-formed 从 0.100 升至 0.959。
局限与可以继续做的
匹配对是自然实验;修复是单配方、单 seed;泛化电池由作者构建,不含未见工具和多调用序列。
实验设置VectraYX-600M、VectraYX-1B · B1–B5 harness、tool_sft_mini_v1.jsonl 等 · B4、verbatim pass 等
模型
VectraYX-600MVectraYX-1B
基准
B1–B5 harnesstool_sft_mini_v1.jsonlnovel-prompt battery
指标
B4verbatim passP_firstwell-formed emission
AI 导读全文 393 字

论文记录了一对同架构西班牙语安全语言模型在宽松工具调用指标上的假阳性,并提出一组严格且廉价的诊断阶梯。一个 661.6M 参数模型(约 65% 代码/技术文本,无专门 SFT)与一个 1,109M 模型(网页为主的多阶段课程,6B token 工具 SFT)共享解码器、tokenizer 和特殊 token,在宽松工具调用指标上得分几乎相同(B4:0.660 对 0.650)。对训练样本的逐字复现检查将两者完全区分开:600M 模型在 6/6 个样本上生成带泛化参数的有效工具调用,1B 模型在各 checkpoint 上均为 0/6。首 token 探针把 1B 的失败定位到缺失先验(<|tool_call|> 上概率 10^{-4}--10^{-5}),该先验被其网页为主的训练阶段抹去。因子分析确认所有修复配置都能装上该格式,但多样语料带来的抑制收益因种子敏感性仍只是假设。

深度解读

6 个问题,约 10,000 字。每问先给一句结论,点开看完整回答

  1. 这篇论文试图解决什么问题?

    关键词工具调用 harness 会把不会调用的小模型记成会调用。

    关键词匹配的工具调用评测会把从未发出结构化调用的小模型记成具备该能力。

    • 场景:VectraYX 系列是面向离线、air-gapped 部署的西班牙语/拉美网络安全小模型(42M–1.1B),训练目标包括发出 MCP 服务器可执行的 <|tool_call|> 分隔 JSON。作者称,停止信任系列基准后,lenient 分数与真实行为完全对不上。
    • 现有评测的不足:系列自动 harness 的 B4 按子串/关键词计分。作者称,检查计分路径后,只要回复文本里出现预期工具名即可得分,不验证是否发出了格式正确的 <|tool_call|> JSON。作者把这归为与 Nano 模型 B2 分类指标同类的评测效度失败,并称 keyword harnesses fail open。
    • 核心观察:VectraYX-600M(661.6M,单阶段预训练,实现混合约 65% 代码与技术文本,无专门 SFT,训练停在计划的 64%)与 VectraYX-1B(1,109M,网页为主的多阶段课程,另有约 6B token 的 tool-SFT)共享 decoder、32K tokenizer 与 special-token 布局,B4 为 0.660 对 0.650(Table 3,单 seed)。作者称二者在定性使用中并不相当:600M 会自发发出格式正确、参数随上下文变化的 bash_exec 调用,1B 各检查点只产出不连贯散文,且从未被观察到发出该 JSON 结构。
    • 论文提出的内容:一条不依赖 harness、成本为数分钟 CPU 的诊断阶梯——带泛化判据的逐字复现、首 token 概率探针、新提示词泛化电池、embedding-drift 检查——用来抓住假阳性、定位失败、验证修复并定位修复落在网络何处。作者还报告一套诊断驱动的 1B SFT 配方,并主张该阶梯应作为小模型工具使用主张的门槛。作者称证据与系列宽松 harness 并列、且故意保持张力。
  2. 有哪些相关研究?

    作者把问题放在工具调用格式是否出现,而不是调用是否正确。

    工具调用

    • Toolformer(Schick et al., 2023):用自监督示范让模型学习 API 调用。
    • Gorilla(Patil et al., 2023)与 ToolLLM(Qin et al., 2024):把 API 调用的指令微调做大,并给出 APIBench、ToolBench,用以判断是否产出正确调用。作者称本文问题比这些工作低一层:结构化调用格式是否出现,以及亚 1B 规模上预训练中什么因素使这一二元结果走向哪一边。作者指出该文献的主流配方是先取强预训练底座再做工具示范 SFT,默认底座已带结构化输出先验;1B 是该假设默认不成立、按体量放大的 SFT 也随之失败、而按诊断改写同一配方后成功的一个案例。
    • Model Context Protocol:作者称它标准化了这些模型所面向的调用接口。

    预训练中的代码

    • Aryabumi et al.:直接消融代码比例,并在自然语言推理与世界知识任务上看到增益。
    • Madaan et al.:当输出被格式化成代码时,代码训练的模型在结构化常识生成上优于同等规模的纯文本训练模型。作者称本文是领域特定、小规模、读出较干净的一例:下游任务本身是发出 JSON 工具调用,匹配对显示代码偏重的 bootstrap 成功,而网页偏重且 SFT 严格更多的 bootstrap 失败。

    小模型与数据构成

    • Chinchilla:为在更多 token 上训练小模型提供动机。
    • Phi-3 与 SmolLM2:用更强的数据筛选让 2B 以下模型超出其规模通常对应的表现,二者都把结果主要归于语料内容而不是数量。作者称 VectraYX 系列把同一思路用到安全/西班牙语 niche;本文补上一条 cautionary corollary:对特定能力,构成效应可以压过规模效应,以至于更小、且只训到计划 64%、没有专门 SFT 的模型在默认情况下具备该能力,而更大、SFT 更多的模型没有。

    本系列与共享结构

    • VectraYX-Nano(42M):建立系列课程、16K tokenizer、B1–B5 套件,以及 bootstrap 语料 register 主导下游对话行为这一中心发现。作者称 Nano 论文记录了 B2 因关键词巧合而过度计分。
    • VectraYX-Vision-1B:把家族扩到 1.1B、32K tokenizer 并加视觉扩展,被写成视觉定位上的负面初步结果。作者称本文诊断显示其文本骨干的工具调用缺陷可测、跨检查点稳定、早于视觉阶段,并且在正确定位后可修复。作者称 600M 此前只存在于训练日志和一行基准数字,本文是它的首次文档,其存在理由是作为匹配对比中“默认出现”的那一半。
    • 共享 decoder 组件:GQA、SwiGLU、RMSNorm、BPE、交错 RoPE/NoPE。作者称这些选择在两个模型之间没有差异,因此该对才有信息量。

    基线与基准:对比对象是系列自身的 B1–B5 keyword/substring harness(B1 CVE QA、B2 安全分类、B3 命令生成、B4 工具使用、B5 对话质量),以及同一实现类下 600M 与 1B 的匹配对。严格仪器用模型自己的 tool-SFT 语料 tool_sft_mini_v1.jsonl,而不是外部基准。作者把严格结构检查放在公开基准污染与效度审计的同一精神里,但指向相反风险:不是模型见过测试数据,而是评分器看不见模型的失败。作者称,把训练数据复现得太像反而没有信息,所以协议要求参数是泛化后的、与训练答案非逐字节相同的变体才算能力。

  3. 论文如何解决这个问题?

    用四级诊断阶梯把宽松 B4 与真实结构化调用分开,再按缺失 prior 做定向 SFT。

    作者用一条由松到严的 diagnostic ladder 取代对 B4 的直接信任,并按“缺失 prior”这一诊断设计 1B 的定向 SFT。工具调用被定义为发出 token ID 8(<|tool_call|>),后接 JSON 对象,再以 ID 9 结束。

    匹配对与训练差异

    • 架构固定项:二者同属 VectraYX750M 实现类(transformer_750m.py),只在宽度和深度上不同(Table 1)。600M 为 661.6M 参数、18 层、d_model 1792、d_ffn 4864、Q/KV 头 14/2;1B 为 1,109M、22 层、d_model 2048、d_ffn 5504、头 16/4。共享:RMSNorm pre-norm、GQA、SwiGLU、tied embeddings、序列长度 2048、32,768 BPE、RoPE(θ=10^6,每四层中的三层)与 NoPE(每第四层)。
    • 词表:同一 32K tokenizer,special token 占 ID 0–63。工具分隔符为 ID 8 与 9。作者称没有 tokenizer 不对称可以解释后来的概率差。
    • 匹配的边界:作者写明参数量(1.68 倍)、总预训练 token 和课程形状并不匹配,比较是自然实验而不是消融。
    • 600M 混合:单阶段,无课程、无专门 SFT。配置抽样权重为 es 0.45 / cyber 0.22 / code 0.18 / sft 0.10 / icpc 0.05;因小 bin 提前耗尽,约 10B token 的实现比例约为代码与技术 65%、西班牙语 34%、cyber 0.7%、指令格式 SFT 0.1%(Table 2)。作者称全文的“65% code-heavy”和“0.1% SFT”指实现比例。对 chat 模板和工具示范的唯一接触是这约 0.1%(量级 10^7 token),与主体预训练交错,而不是跟在后面。
    • 600M 运行:单张 NVIDIA L4,BF16,有效 batch 65,536 token/step,计划 max_steps=240,000(约 15.7B token)。停在 step 154,000(64%,约 10B/15.7B),余弦日程未退火,也没有事后 SFT。除非另作说明,600M 数字都指 model_step_0154000.pt。harness 走 GGUF/Ollama,严格诊断直接用 PyTorch。
    • 1B 课程(据其论文转述):phase 1 约 9.2B bootstrap;phase 2 约 50B,以通用网页与教育文本为主,代码和数学是少数;phase 3 约 6B、30% tool-SFT;phase 4b 视觉 SFT 会再过一遍与 600M 混合中相同的 tool-SFT 语料。作者称 1B 的工具 SFT 暴露严格多于 600M。

    四级仪器

    • Level 1:继承的 B1–B5,自动、子串/关键词,GGUF/Ollama,系列标准采样。作者称本系列 harness 数字除非另述都是单 seed,本文全部 harness 数字都是单 seed。B4 的宽松匹配是本文的对象。
    • Level 2:六条固定提示词(秘鲁首都、列举三种水果、8+5、phishing 定义,以及两条诱发工具的提示,其中一条带 MCP system preamble、一条面向 bash_exec),温度 0.7。作者称它不能细排模型,只用来抓住类别差异。
    • Level 3:verbatim_roundtrip.py。从模型自己的 tool_sft_mini_v1.jsonl 取真实例子,保留声明五个 MCP 工具和期望格式的 system preamble;用训练时的模板和前向代码(不经推理服务或 GGUF)做贪心解码(温度 0)。结构通过的条件是补全中含有位于 <|tool_call|> 块内、格式正确的 JSON 对象;散文里提到工具名不算通过。字节级相同的参数只记为记忆,非相同且上下文合理的参数才算泛化。另有一组语料中不存在的新提示词,要求决定是否调用、在五个工具中选择、并抽取训练中未见的实体;其中一条普通对话问题的正确行为是抑制调用。本文实例用了八条。作者称全套在每个检查点上是数分钟 CPU,弱点是样本量(六条逐字例子、八条新提示)。
    • Level 4:在 <|assistant|> 之后、工具诱发上下文中读出下一 token 分布,记录 ID 8 的概率。embedding-drift 把检查点与真实 warm-start 父检查点比较:个别 embedding 行(尤其 ID 8)相对 20 个任意普通 token 行的余弦与范数变化;全表的均值与最大绝对差;以及后层注意力投影作为正向对照。作者要求同时报告发生变化的元素比例,并称余弦与变化比例是所依赖的统计量,最大绝对差不是。作者称该探针不能证明能力位于何处,但可以否定“触发 token 的输入表示是坏掉的组件”这一假设。因为输入与输出 embedding 绑定,该行同时也是 unembedding 方向。

    诊断驱动的修复配方

    • 预测:作者称,若 prior 不存在而不是有噪声,那么只在狭窄上下文里再次暴露工具轨迹会失败,因为格式上的概率质量太小,梯度放不大;在相同轨迹周围提供多样的 assistant 模式上下文、且学习率高到能推动网络中部权重,则可能成功。
    • Recipe C:多样混合(对话 OASST ES/EN + 工具语料 + 领域推理轨迹),名义上解冻 embedding,学习率 1×10^−5(相对一次 2×10^−6 的窄重调为 5 倍),2,202 步,约 3.3 小时、一张租用 GPU。作者称历史运行的检查点与 warm-start 父本已丢失;本文所有修复后 1B 的严格数字来自一次端到端复现:相同语料、相同学习率、相同 2,202 步,起点是丢失父本的一个存活同胞。复现前在 CPU 上确认该替代起点有同一缺陷:P(<|tool_call|>) 在 2×10^−7 到 2×10^−3 之间,均值 9.1×10^−4,贪心解码 0/6 格式正确。
    • 不计入的一次运行:486 步、窄语料、LR 2×10^−6、embedding 冻结的重调,当时被一个后来发现有两处缺陷的 harness 记为 0/8:评测时去掉了训练始终携带的 system preamble,并且解码默认会删掉 special token。作者因此把它视为未测量,而不是失败。
    • 因子设计:作者后来对语料(多样 vs 窄)和学习率做五次运行的因子实验;最大对比(低学习率下多样语料的抑制更好)没有被一次部分的第二 seed 复现,因此作者把它报告为假设。

    成功判定

    结构合格与工具选择分开记。逐字复现上的精确抄录本身不算能力,泛化电池和后来的 238 条未见实体电池承担这一判定。作者称阶梯各档之间的不一致本身就是结果。

  4. 论文做了哪些实验?

    B4 几乎相同,严格复现却是 6/6 对 0;定向 SFT 后 1B 的格式概率升到 0.996–0.998。

    实验设置

    • 模型:VectraYX-600M,检查点 step 154,000(661.6M,冻结在计划的 64%);VectraYX-1B 修复前的 phase-3 step 20K(pre-vision)与 phase-4b SFT step 400(post-vision);修复后的复现检查点(recipe C,2,202 步,warm start phase4a_v0)。历史 recipe C 的检查点已丢失,其数字只作对照。
    • 数据:系列 B1–B5;六条固定定性提示词;tool_sft_mini_v1.jsonl 上的逐字复现(小规模 6 条或 4 条,全量 269 行);八条作者构建的新提示词;238 条未见实体提示词;38 个归档检查点上的探针回放;embedding 表 67.1M 个元素、32,768 行。工具语料规模在泛化讨论里写作 2,801 个例子。
    • 基线:lenient keyword harness 对 strict 结构检查;600M 对修复前/后 1B;三次 SFT(约 6B token 的 phase-3、486 步窄重调、recipe C)。没有外部工具基准上的数字。
    • 指标:B1–B5 分数;Pass/trials 与是否泛化;首 token 概率 P_first;全语料 well-formed 发射率;238 条上的通过率及配对 p;embedding 行余弦、相对范数变化、bf16 逐比特相同比例。
    • 评审:结构由规则判定(格式正确的工具调用 JSON,以及新提示词上的工具选择);参数质量为定性。无单独的 LLM 评审模型。Harness 为单 seed。238 条报告了配对 p=0.004。因子实验中三格有一次完整运行,另有一次部分的第二 seed。
    • 解码:严格诊断为温度 0、训练时代前向;定性电池与 harness 为温度 0.7 的 GGUF/Ollama 路径。

    主结果

    Table 3 的宽松分数几乎重合,Table 4 的严格检查把二者分开。1B 的 B4 被作者标为 harness 伪影,不作为其真实工具能力。

    表格较宽,可左右滑动

    检查600M step 154K1B 修复前1B recipe C 复现
    B4(Table 3,单 seed)0.6600.650†未报告
    逐字复现(Table 4)6/6,泛化,贪心发出0/4–6,P_first ~10^−4–10^−54/4 精确抄录,P_first 0.996–0.998
    八条新提示词(§6.5)未报告未报告8/8 结构(7/7 工具选择 + 正确抑制)

    †作者称与 §6.2 的行为不一致,只作记录、不背书。Table 3 其余单 seed 分数:B1 两边都是 0.342;B2 为 0.240 对 0.205;B3 为 0.17 对 0.24(1B 在宽松 harness 上领先的一项,作者称后续分析没有专门审计 B3);B5 为 0.589 对 0.586。

    • 作者对分离的解读:600M 的六次通过都是合法 JSON、工具名真实、参数与训练补全不同(例如训练目标为 tail -50 一类命令,模型另写了一条面向同一任务的命令)。修复前 1B 在同一 preamble、同一训练代码、贪心解码下从不打开该块,两个检查点的失败补全近乎逐字相同。作者称这不是解码竞争中惜败,而是格式上几乎没有概率质量,尽管有约 6B token 的专门 tool-SFT。
    • 计分机制:作者称 B4 会把自由文本中的工具名记成调用,1B 的安全风味散文正好能获得这种分数。对 600M,宽松与严格仪器一致;对 1B,二者在该指标的全距上分开。作者因此只保留 600M 的 B4=0.660。
    • 修复的直接读数:Table 5 中,phase-3(约 6B token、20K 步、30% tool-SFT 混在更宽的 phase-3 里)严格结果为 0/4–6、P_first ~10^−4–10^−5;486 步窄重调未有效测量;recipe C 复现为 4/4 精确、P_first 0.996–0.998。历史运行(检查点已丢)为 4/4、0.995–0.998、八条电池 7/8。作者称成功配方所用 token 约为失败专门阶段的千分之一量级,体积没有预测 A 与 C 的结果。

    全量语料与未见实体

    • 测了什么:§6.8 把 Table 4 的小样本换成全部 269 行,并加 238 条未见实体提示词。摘要给出的发射率是修复后 1B 的 well-formed 从 0.100 升至 0.959,600M 为 0.926。
    • 结果:238 条上,修复后 1B 通过 0.536,600M 为 0.428,配对 p=0.004。作者称修复后的 1B 在自己的语料上大多是逐字背诵。
    • 作者的解读:八条电池上对五个工具的区分和对训练中未见实体的抽取不能用死记 2,801 条例子解释;同时最后一条应抑制调用的对话题得到空补全,作者称修复是能力特定的,普通对话回答仍然是坏的。作者还写明 Table 5 的对比不能单独指出是语料多样性、5 倍学习率、解冻 embedding 还是不同 warm-start 在起作用,只能说该组合在体积失败的地方够用。两个起点(都是同一视觉分支的同胞,共享冻结的 embedding 表)都达到同一严格标准,被用来减弱“某个父本的特殊性质在起作用”的解释。

    轨迹、机制与过度触发

    • 38 个检查点:作者称回放把端点比较变成曲线,并改变两处读法:1B 的网页偏重阶段不是没建起结构化 prior,而是在 12,000 步里把继承来的 prior 擦掉近六个数量级;600M 的默认行为是无条件基率,不是上下文门控。在宽松 harness 记下 1B 历史最佳工具分的那个检查点,严格探针处在地板。
    • embedding drift(§6.6):相对复现运行自己的父本,<|tool_call|> 行余弦 0.999996,行范数相对变化 1.5×10^−6,与任意普通行无法区分。该学习率下一次 Adam 步小于 bf16 的存储精度,97.7% 的 bf16 表在训练后逐比特相同(67.1M 个元素;两边打印值 630.1347046)。第 20–21 层的 Wq/Wk 余弦为 0.99988–0.99992,93.6–94.1% 的元素逐比特相同;抽到的最大移动在第 0 层,Wv 与 Wo 余弦 0.99978–0.99981,只有 85% 的元素不变。失败检查点上 ID 8 的范数在行范数分布中 z≈+0.31,作者称并非几何上异常。99.87% 的 32,768 行至少有一个元素变化。作者称修复没有移动触发 token 的绑定 embedding,变化在周围网络;“dead embedding”假设被否定,recipe C 名义上解冻的 embedding 在数值上是惰性的。
    • 过度触发:在提到 CVE 或 shell 命令、但不应调用的提示上,不发出调用的比例只有 0.09(600M)和 0.17(修复后 1B)。作者称两个模型都会过度触发。

    其他消融与分析

    • 定性六题(§6.4,GGUF/Ollama):600M 对四道简单题都不给出直接结案答案,但保持通顺、语法正确的西班牙语并停在话题附近,且是三个检查点里唯一自发发出格式正确工具调用的;1B 多为不连贯输出,vision 之后的检查点更差,phase-3 稍流畅但仍不能作答或调用。作者提醒这条电池走过曾出现过 RoPE 导出问题的路径,负载证据是绕过导出的严格诊断。
    • 因子实验(§6.9):语料 × 学习率的五次运行里,每一格都装上了调用格式;最大对比是低学习率、多样语料带来更好的抑制,一次部分的第二 seed 没有复现,作者将其报告为假设。四格中有三格各有一次完整运行。
    • Recipe B:记录的 0/8 来自有缺陷的 harness;训练损失降到 0.05–0.4 是真实的,严格结果从未测到,检查点也未找到。因子实验里接近 B 的一格(窄语料、同一学习率)确实发出格式正确的调用。
    • 八条历史运行的逐项:作者列出的七次调用选对了工具并抽出训练中未见的 CVE、IP 或查询;一次语义上不完美(工具对、命令不理想);一次正确抑制但补全为空。复现检查点在聚合上与这些记录一致,并以 §6.8 的 n=238 作为放大替代。
    • 负结果:修复前 1B 在所有测过的检查点上 strict 为 0,包括被历史 harness 引为最佳的那个;修复没有带来可用的普通对话回答;两个模型在 no-call 提示上的抑制比例为 0.09 与 0.17。
  5. 有什么可以进一步探索的点?

    作者把匹配对、单配方修复和自建泛化电池都写成范围边界。

    作者指出的局限与后续方向

    • 自然实验:匹配对有已知混杂,不是消融(§8;引言亦称所有与 600M 有关的结果都是未完成运行的快照)。作者写明未匹配的变量——更大参数量、更长训练、更多 SFT——都与观察到的结果反向,因此把 bootstrap 构成留作主要解释,而不是唯一幸存解释。
    • 修复的范围:修复是单一检查点上的单一配方,并在 §8 中按此划界。历史运行的检查点与 warm-start 父本已丢失,主数字来自一次复现;全部 harness 数字为单 seed(摘要、§8)。
    • 因子实验未分开剩余成分:recipe 中剩下的两个成分只由一个因子实验分开,其四格里有三格各完成一次运行;最大对比(低学习率下的抑制)没有被一次部分的第二 seed 复现,故报告为假设(§6.9、§8)。
    • 泛化电池的覆盖:电池由作者构建,而不是从外部分布抽样,且既不覆盖未见工具,也不覆盖多调用序列(§8)。
    • 对话能力:作者写明没有证据表明修复后的 1B 能有用地回答普通对话问题(引言对范围的保守陈述;§6.5 亦称对话式指令遵循仍然是坏的)。
    • 作者写明的延伸实验:能延伸每一环的实验已被指定且便宜(§7.4)。论文未在可见正文里列出 §7.4 的具体条目。600M 停在未退火的学习率上,作者称文献关于日程敏感收敛的结果意味着 step 154K 的质量低于同一配方跑完时的质量;这是对快照的说明,作者同时把它当作 bootstrap 所能交付内容的保守下界。

    实验覆盖范围

    • 被测模型为同一实现类中的 VectraYX-600M(step 154K)和 VectraYX-1B 谱系(phase-3 step 20K、phase-4b step 400、recipe C 复现及五个因子臂),外加 38 个归档检查点上的探针回放(§4–§6)。
    • 评测仪器为 B1–B5 keyword harness、六条定性提示、逐字复现(6/6 或 4/4,以及 269 行)、八条新提示词、238 条未见实体、首 token 概率和 embedding-drift(§5–§6.8)。
    • 1B 上的 SFT 对比包括约 6B token 的 phase-3、一次因 harness 缺陷而未有效测量的 486 步窄重调,以及 2,202 步的 recipe C;因子实验变动的是修复语料与学习率(Table 5、§6.9)。
    • 统计:harness 为单 seed;269 行与 238 条是论文写出的规模,238 条给出配对 p=0.004;逐字小样本被作者自己标为该仪器的弱点(§5.3、§8)。
    • 论文未报告外部工具基准上的分数、B3 的专门审计、修复后 1B 的 B1–B5,以及 recipe B 的严格重测(检查点未找到)。
  6. 总结一下论文的主要内容

    宽松 B4 把不会调用的 1B 记成会调用;缺失 prior 可用少量定向 SFT 装回格式。

    作者记录 VectraYX 系列里一次工具使用评测的假阳性,并用一条廉价、与 harness 无关的诊断阶梯把它追到缺失的首 token prior,再按这一诊断修复 VectraYX-1B。

    • 问题:600M(661.6M,单阶段,实现混合约 65% 代码与技术文本、约 0.1% 指令 SFT,停在 240,000 步中的 154,000)与 1B(1,109M,网页为主,另有约 6B token tool-SFT)共享 decoder、tokenizer 和 special-token 布局。B4 为 0.660 对 0.650(Table 3,单 seed),但作者称只有 600M 会发出可执行的工具 JSON。
    • 方法:Level 3 在模型自己的工具语料上、用训练时代前向和贪心解码,要求 <|tool_call|> 块内的合法 JSON,并且参数须是非逐字节相同的泛化才算能力。Level 4 读取 ID 8 的概率,并检查修复是否移动了该 token 的绑定 embedding。修复配方是 OASST ES/EN、工具语料与领域推理轨迹的混合,学习率 1×10^−5,2,202 步。
    • 分离:修复前,600M 为 6/6 且参数泛化;1B 在每个测过的检查点为 0/4–6,P_first 约 10^−4–10^−5,包括 harness 历史最佳的那个检查点(Table 4)。作者称计分器把散文中的工具名记成了调用。
    • 修复与泛化:复现的 recipe C 在 4 条上精确复现,P_first 0.996–0.998,八条新提示词 8/8(7/7 选对工具并正确抑制一次)。269 行上 well-formed 从 0.100 升至 0.959(600M 为 0.926)。238 条未见实体上,修复后 1B 为 0.536,600M 为 0.428(配对 p=0.004),尽管 1B 在自有语料上大多逐字背诵。
    • 机制与边界:触发 token 的 embedding 行余弦 0.999996,97.7% 的 bf16 表逐比特相同,作者称变化在周围网络的路由,不是表示;失败时该行也并不几何异常。no-call 提示上不调用的比例为 0.09 与 0.17。作者的结论是:bootstrap 构成决定结构化输出是默认出现还是必须被工程化;关键词 harness 会 fail open,这条阶梯应用来把关小模型的工具使用主张。作者同时写明匹配对是自然实验,修复是单配方、单 seed,泛化电池不覆盖未见工具和多调用序列,且没有证据表明修复后的 1B 能有用地做普通对话。
阅读原文huggingface.co