Skip to content

fix(labels): render Kimi K3 speculative decoding as "DSpark" / 将 Kimi K3 的投机解码显示为 "DSpark" - #759

Merged
functionstackx merged 1 commit into
masterfrom
fix/kimi-k3-dspark-spec-label
Aug 18, 2026
Merged

fix(labels): render Kimi K3 speculative decoding as "DSpark" / 将 Kimi K3 的投机解码显示为 "DSpark"#759
functionstackx merged 1 commit into
masterfrom
fix/kimi-k3-dspark-spec-label

Conversation

@functionstackx

@functionstackx functionstackx commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Summary

Kimi K3's speculative-decoding runs are ingested under the generic mtp token, so every display surface read MTP — including the chart tooltip line in the reported screenshot. K3's method is DSpark.

This adds a per-model display override in MODEL_SPEC_METHOD_LABELS (packages/constants/src/framework-aliases.ts), the same mechanism already used for MiniMax-M3 (mtpM3 EAGLE):

export const MODEL_SPEC_METHOD_LABELS: Record<string, Record<string, string>> = {
  'MiniMax-M3': { mtp: 'M3 EAGLE' },
  'Kimi-K3': { mtp: 'DSpark' },
};

Every label surface resolves through resolveFrameworkPartLabel / specMethodDisplayLabel, so the one-line override fixes all of them at once:

  • Inference chart tooltip → Speculative Decoding: DSpark (both the official and the ?unofficialrun= overlay path — they share generateAgenticHTML)
  • Hardware suffixes / legend labels — B300 (vLLM, DSpark) instead of B300 (vLLM, MTP) (getHardwareConfig)
  • Submissions table spec-method cell, evaluation column headers, changelog entries, overview matrix source labels
  • Spec-decode comparison pages and their OG images (/compare-spec-decode/* and /zh/compare-spec-decode/*)

Every other model keeps the generic MTP label; none still renders as Off / 关闭.

No /zh page changes are needed — DSpark is a method/product name, which per the translation quality bar stays in English on both language sides (the surrounding label 投机解码 was already translated).

Note on the earlier E2E failure

The first run of this PR failed E2E (chrome|firefox, shard 3) on overview.cy.ts (expected 1012 to be at most 1009). That was pre-existing master breakage, not this change: the same shards failed on #754 before it merged, and the failure reproduced locally with this branch's label change reverted. The cause was the header's desktop nav overflowing a 1024px viewport. #755 has since moved the desktop nav to the xl breakpoint, which resolves it at the root, so after rebasing onto master this branch carries only the label change — overview.cy.ts passes locally on the rebased tree (35/35).

Tests

  • packages/constants/src/framework-aliases.test.tsMODEL_SPEC_METHOD_LABELS['Kimi-K3'].mtp === 'DSpark', resolveFrameworkPartLabel('Kimi-K3', 'mtp') === 'DSpark', plus a guard that sibling Kimi models (Kimi-K2.5) keep MTP
  • packages/app/src/components/inference/utils/tooltip-utils.test.ts — K3 agentic tooltip renders Speculative Decoding: DSpark and no longer contains the generic MTP (exercises the overlay tooltip path)

Local on the rebased tree: typecheck, lint, fmt, test:unit (app 3427, constants 44), plus overview.cy.ts and navigation.cy.ts in Chrome against a production build with E2E_FIXTURES=1 — all green.

中文说明

Kimi K3 的运行数据在入库时统一使用通用的 mtp 标记,因此所有展示位置都显示为 MTP(包括截图中的图表工具提示)。K3 实际使用的方法是 DSpark

改动在 MODEL_SPEC_METHOD_LABELSpackages/constants/src/framework-aliases.ts)中新增按模型的显示覆盖,复用 MiniMax-M3(mtpM3 EAGLE)已有的同一机制。由于所有标签都经由 resolveFrameworkPartLabel / specMethodDisplayLabel 解析,这一行改动可一次性修正全部展示位置:

  • 推理图表工具提示 → Speculative Decoding: DSpark(官方数据与 ?unofficialrun= 叠加两条路径共用 generateAgenticHTML,均已覆盖)
  • 硬件后缀与图例标签 —— B300 (vLLM, DSpark)
  • 提交记录表格的投机解码方法列、评估表头、变更日志、总览矩阵的数据来源标签
  • 投机解码对比页面及其 OG 图片(/compare-spec-decode/*/zh/compare-spec-decode/*

其他模型仍保留通用的 MTP 标签,none 依然显示为 Off / 关闭。无需改动 /zh 页面:按翻译规范,DSpark 属于方法名称,中英两侧均保留英文。

关于此前的 E2E 失败

本 PR 首次运行时 E2E (chrome|firefox, shard 3)overview.cy.ts 上失败(expected 1012 to be at most 1009),这是 master 上已存在的问题,与本次改动无关:#754 合并前同样的分片就已失败,且在本分支回退标签改动后仍可本地复现。根因是页头桌面导航在 1024px 视口下溢出;#755 已将桌面导航移至 xl 断点,从根本上解决了该问题。因此在基于 master 变基后,本分支只保留标签改动,overview.cy.ts 在变基后的本地环境中 35/35 通过。

测试

新增常量层映射与解析用例(含 Kimi-K2.5 仍为 MTP 的回归保护),以及工具提示渲染 DSpark 的单元测试。变基后本地 typechecklintfmttest:unit(app 3427、constants 44)与相关 Cypress 规格全部通过。

🤖 Generated with Claude Code

@vercel

vercel Bot commented Aug 18, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
inferencemax-app Ready Ready Preview Aug 18, 2026 11:03pm

Request Review

@blacksmith-sh

This comment has been minimized.

Kimi K3 speculative-decoding runs are ingested under the generic `mtp`
token, but K3's method is DSpark, so every surface read "MTP". Add a
per-model override in MODEL_SPEC_METHOD_LABELS (same mechanism already
used for MiniMax-M3 → "M3 EAGLE"), which fixes the label everywhere it
is derived: the chart tooltip's "Speculative Decoding" line, hardware
suffixes such as "B300 (vLLM, MTP)", the submissions table, evaluation
headers, changelog entries, the overview matrix, and the spec-decode
comparison pages. Other models keep the generic "MTP" label.

中文:Kimi K3 的投机解码运行在数据入库时使用通用的 `mtp` 标记,但 K3 实际
使用的方法是 DSpark,因此各处显示都是 "MTP"。在 MODEL_SPEC_METHOD_LABELS
中新增按模型的显示覆盖(与 MiniMax-M3 → "M3 EAGLE" 复用同一机制),一次性
修正所有由该映射派生的展示位置:图表工具提示中的"投机解码"行、"B300 (vLLM,
MTP)" 之类的硬件后缀、提交记录表格、评估表头、变更日志、总览矩阵以及投机解码
对比页面。其他模型仍保留通用的 "MTP" 标签。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@functionstackx
functionstackx force-pushed the fix/kimi-k3-dspark-spec-label branch from db62466 to a78da27 Compare August 18, 2026 23:02
@functionstackx
functionstackx merged commit 9a6d8e5 into master Aug 18, 2026
24 checks passed
@functionstackx
functionstackx deleted the fix/kimi-k3-dspark-spec-label branch August 18, 2026 23:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant