Prhub

#36245 [AMD] cookbook: add HiCache host-DRAM KV tier for Qwen3.5 MXFP4 on MI355X

原始 PR 作者 yichiche 合并时间 2026-08-25 12:55 文件变更 2 提交数 1 评论 0 代码增减 +26 / -3

执行摘要

为 Qwen3.5 部署生成器新增 HiCache 选项并更新文档

InferenceX #2693 为 Qwen3.5 MXFP4 MI355X 的 AgentX 扫描添加了 HiCache host-DRAM KV 层,但 cookbook 无法生成相应配置,因为 MXFP4-on-MI355X 配方总是输出 --disable-radix-cache,与 HiCache 需要的 --enable-hierarchical-cache 冲突,手动编辑会因 --handle_cache_compatibility() 抛 ValueError。此 PR 使 HiCache 成为生成器的一等选项。

值得快速阅读,作为 cookbook 扩展的示例。关注点包括如何通过条件渲染控制选项可见性,以及如何在生成命令中处理冲突参数。

讨论亮点

无实质性讨论。两位 reviewer(1am9trash、sogalin)均直接批准(LGTM),没有提出具体意见。

实现拆解

  1. 在 qwen35-deployment.jsx 中新增 kvOffload 选项组:定义 KV Cache Offloading 选项,仅在 hardware==='mi355x' 且 quantization==='fp4' 时显示,包含 Disabled(默认)和 Host DRAM (HiCache) 两个选项。
  2. 修改 generateCommand 函数:解构 values 时加入 kvOffload;在 FP4 专属参数生成部分,若 kvOffload==='hicache',追加 --enable-hierarchical-cache 及相关参数(--hicache-ratio 1.5、--hicache-write-policy write_through、--hicache-io-backend direct、--hicache-mem-layout page_first_direct),否则保持原 --disable-radix-cache。
  3. 更新 Qwen3.5.mdx 文档:新增 Configuration Tips 条目解释 HiCache 的用途与参数含义,并修正 FP8 KV Cache 警告(由"未包含在生成命令中"改为"已包含在 MXFP4-on-MI355X 配方中")。
文件 模块 状态 重要度
docs/src/snippets/autoregressive/qwen35-deployment.jsx 文档脚本 modified 6.22
docs/cookbook/autoregressive/Qwen/Qwen3.5.mdx Cookbook modified 2.81

关键符号

generateCommand

关键源码片段

docs/src/snippets/autoregressive/qwen35-deployment.jsx core-logic

该文件是配置生成器的核心实现,新增了 kvOffload 选项组并修改了 generateCommand 函数,以支持生成 HiCache 参数并解决与 --disable-radix-cache 的冲突。

// 新增 kvOffload 选项组,仅对 MI355X + FP4 配方显示
kvOffload: {
  name: 'kvOffload',
  title: 'KV Cache Offloading',
  // HiCache 在设备 KV cache 之下增加 host-DRAM 层,仅在 MI355X MXFP4 配方上启用
  condition: (values) => values.hardware === 'mi355x' && values.quantization === 'fp4',
  items: [
    { id: 'disabled', label: 'Disabled', default: true },
    { id: 'hicache', label: 'Host DRAM (HiCache)', default: false }
  ]
}// generateCommand 中处理 HiCache 参数生成
if (kvOffload === 'hicache') {
  // HiCache 需要 radix cache 保持开启,因此追加 --enable-hierarchical-cache 并省略 --disable-radix-cache
  cmd += ' \\\n --enable-hierarchical-cache';
  cmd += ' \\\n --hicache-ratio 1.5';
  cmd += ' \\\n --hicache-write-policy write_through';
  cmd += ' \\\n --hicache-io-backend direct';
  cmd += ' \\\n --hicache-mem-layout page_first_direct';
} else {
  // 默认行为:保留 --disable-radix-cache
  cmd += ' \\\n --disable-radix-cache';
}

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

风险极低。改动仅涉及文档和配置生成器 JSX,不涉及运行时代码。潜在风险包括:若 HiCache 参数值(如 --hicache-ratio)与未来 SGLang 版本不兼容,可能生成无效命令;但当前已通过手动测试验证。另外,文档中提到的参数值可能与实际版本不符,但可接受。

影响范围有限:仅影响使用 Qwen3.5 部署生成器的读者,特别是 MI355X MXFP4 用户。文档更新帮助用户正确配置 HiCache,避免启动失败。对系统性能和稳定性无影响。

文档变更 无运行时影响

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论