Prhub

#25971 [CPU Doc]Add Xeon CPU info in Qwen3 Cookbook

原始 PR 作者 ZailiWang 合并时间 2026-05-27 03:14 文件变更 2 提交数 12 评论 16 代码增减 +26 / -10

执行摘要

为 Qwen3 Cookbook 添加 Xeon CPU 支持

PR body 明确说明动机是 'Adding Xeon support information into SGLang Cookbook. Starting with Qwen3 page.' 旨在让用户了解如何在 Xeon CPU 上部署 Qwen3 模型。

作为文档更新,值得快速查阅以了解 Xeon 支持的范围。但建议关注 TP 值和 FP8 设置的后续验证,如有实际测试结果应补充更新。该 PR 展示了在文档中为特定硬件平台添加参数配置的典型做法。

讨论亮点

Review 核心围绕 TP 值的正确性和 FP8 支持展开。gemini-code-assist[bot] 指出多个模型的 TP 值(如 6、3)不能整除 attention head 数,会导致运行时错误,并建议改为 1、2、4 等 2 的幂,同时将 FP8 设为 false。作者 ZailiWang 回应 'TP 3/6 is required for 6th Gen Xeon Processors',坚持了原有值,但未就 FP8 问题作出说明。此外,review 还指出了冗余的 UI 逻辑和绝对链接问题,作者均进行了修改。最终 reviewer zijiexia 批准合并。

实现拆解

  1. 修改 JSX 组件 (qwen3-deployment.jsx): 在硬件配置对象中为每个模型大小添加 xeon 键,指定 TP (tensor parallel) 值和 FP8 开关。TP 值根据 6 代 Xeon 处理器特性设为 6 或 3,FP8 设为 true(但 review 指出 CPU 不支持 FP8)。同时移除了一段冗余的 UI 逻辑(硬编码 hardware default)。
  2. 更新 MDX 文档 (Qwen3.mdx): 添加了指向 CPU 安装指南的链接,更新硬件平台描述以包含 Intel Xeon CPU,并在部署参数说明中增加了 CPU 配置提示。
  3. 配套调整: 将两个文档中的外部绝对链接替换为内部相对链接,确保在不同环境下正常工作。
文件 模块 状态 重要度
docs_new/src/snippets/autoregressive/qwen3-deployment.jsx 部署配置 modified 6.28
docs_new/cookbook/autoregressive/Qwen/Qwen3.mdx 使用指南 modified 2.78

关键源码片段

docs_new/src/snippets/autoregressive/qwen3-deployment.jsx core-logic

核心变更文件,在硬件配置字典中为每个模型添加了 xeon 键和 TP/FP8 参数,同时清理了冗余 UI 逻辑。

// 文件 : docs_new/src/snippets/autoregressive/qwen3-deployment.jsx
// 在 modelConfigs 的每个模型项中添加 xeon 配置
const modelConfigs = {
  '235b': {
    baseName: '235B-A22B',
    hasThinkingVariants: true,
    h100: { tp: 8, ep: 0, bf16: true, fp8: true },
    // ... 其他 GPU 配置
    mi355x: { tp: 4, ep: 0, bf16: true, fp8: true },
    xeon: { tp: 6, ep: 0, bf16: true, fp8: true } // 新增,TP=6 针对 6 代 Xeon
  },
  '30b': {
    // ...
    xeon: { tp: 3, ep: 0, bf16: true, fp8: true } // 新增,TP=3
  },
  // 其他模型类似(32b TP=6, 14b/8b/4b/1.7b/0.6b TP=3)
};// 被移除的冗余逻辑(已删除):
// if (values.hardware === 'xeon') {
// options.hardware.items.map(...)
// }

评论区精华

TP 值正确性 正确性

gemini-code-assist[bot] 指出多个模型的 TP 值(如 6、3)不能整除 attention head 数,会导致运行时错误,建议改为 1、2、4 等 2 的幂。作者回应 'TP 3/6 is required for 6th Gen Xeon Processors',坚持了原值。

结论:作者未接受建议,维持了 TP 3/6,认为对于 6 代 Xeon 是必要的。但未提供 attention head 可整除的证据。 · unresolved

FP8 支持 正确性

gemini-code-assist[bot] 指出 SGLang CPU 后端不支持 FP8 量化,建议将 xeon 配置中的 fp8 设为 false。作者未就此做出回应。

结论:未解决,文档中仍显示 fp8: true,可能误导用户。 · unresolved

冗余 UI 逻辑 设计

gemini-code-assist[bot] 指出一段硬编码 hardware default 的非受控逻辑是冗余的,因为已有的 isChecked 状态能正确处理。作者回复 'verified and removed the snippet' 并删除了该代码。

结论:已解决,作者移除了冗余代码。 · 已解决

文档链接相对化 documentation

gemini-code-assist[bot] 建议将新增的外部绝对链接改为相对链接,以保持一致性。作者回复 'updated accordingly',已修改。

结论:已解决,链接已改为相对路径。 · 已解决

风险与影响

主要风险在于 TP 配置可能不兼容:若 Qwen3 模型的 attention head 数不能被 6 或 3 整除,实际部署时会报错。作者声称 TP 3/6 是 6 代 Xeon 处理器所必需,但未提供验证数据。此外,FP8 设置为 true 可能误导用户,因为 SGLang CPU 后端目前不支持 FP8。文档中的错误信息会影响用户体验。

影响范围限于文档阅读者,主要是计划在 Intel Xeon CPU 上部署 Qwen3 的用户。变更提供了明确的配置示例,有助于降低部署门槛,但若 TP 值错误则可能导致用户部署失败。无任何代码逻辑变更,逆向兼容性无影响。

TP 配置可能不兼容 FP8 设置误导 缺少验证数据

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论