RFC:Q2 建模技术规划

1. 文档信息

  • 状态:Approved
  • 适用范围:Q2 研发规划、跨模块协作、交付对齐
  • 目标读者:研发、架构、测试、产品化及相关协作方
  • 关键词:推理建模、模型适配、Roofline、实测算子、PP、CP、寻优、精度治理、易用性

2. 背景与问题

msModeling 当前已经具备推理场景下的模型性能建模、算子耗时评估、服务化吞吐寻优等基础能力,可用于模型部署前的性能评估、参数搜索和方案对比。随着 Q2 重点模型和复杂推理特性的增加,现有能力需要从“单点模型/单点特性支持”升级为“体系化的推理建模能力建设”。

当前主要问题包括:

  1. 新模型适配成本较高 热门模型持续演进,模型结构、算子形态、量化方式、并行策略差异增多。当前基于已有模型注册和手工适配的方式,在新模型快速支持上仍存在效率瓶颈。

  2. 复杂推理特性支持不完整 长序列、PP 并行、CP 并行、Chunked Prefill、低时延优化等场景在实际部署中逐渐成为重点,但当前工具对这些特性的建模能力仍不完整,影响 text_generate、throughput_optimizer 等核心链路的准确性。

  3. 算子建模需要从理论估算走向理论与实测结合 Roofline 路线具备较好的泛化能力,但在特定硬件、特定融合算子、复杂算子实现上可能与真实性能存在偏差。Q2 需要引入实测算子数据,提升核心场景的建模精度和结果可信度。

  4. 易用性和结果解释能力仍需增强 工具在安装、模型接入、device 配置、case 构造、结果分析等环节仍依赖使用者经验。需要通过前端可视化、自然语言 skills、文档体系和结果曲线输出降低使用门槛。

  5. 精度治理和回归防护不足 建模结果需要稳定可验证。当前仍需要进一步建设精度 CI、典型 case 回归、profiling 自动比对、Roofline 与实测路线对比等机制,提升工程稳定性和结果可解释性。


3. Q2 总体目标

Q2 的核心目标是围绕推理建模能力、算子建模底座、部署寻优、易用性和精度治理进行体系化升级,使 msModeling 能够更高效地支持新模型、更准确地覆盖复杂推理场景,并更容易被用户理解和使用。

3.1 模型支持目标

  • 支持 Q2 重点推理模型的 Roofline 建模和核心算子耗时评估。
  • 提升新模型适配效率,降低无新结构特性的 LLM 模型接入成本。
  • 建立模型适配标准流程,减少模型支持对个人经验的依赖。
  • 探索基于实际执行图或模型前端抓取的模型接入方案,提升算子调用、shape、次数等信息的准确性。

候选模型范围包括但不限于:GLM 系列、Kimi 系列、Qwen 系列、MiniMax 系列、DeepSeek 系列,例如DeepSeek V4、GLM 5等。

3.2 推理特性目标

  • 支持 PP 并行建模,补齐 stage 间 send/receive 通信和 bubble 影响。
  • 支持 CP 并行建模,覆盖长上下文并行场景下的计算、通信与额外开销。
  • 支持 Chunked Prefill 场景建模,提升长序列服务化建模准确性。
  • 完善低时延场景建模能力,支撑不同部署策略下的性能对比。

3.3 算子建模目标

  • 在 Roofline 路线基础上,引入实测算子性能数据建模能力。
  • 支持工具内置算子性能数据读取、匹配和计算。
  • 支持算子性能数据采集,形成可沉淀、可扩展、可复用的数据资产。
  • 探索源码级或 DSL 路线,提升复杂算子和融合算子的建模泛化能力。

3.4 精度目标

  • 建立典型模型、典型 case 的精度看护机制。
  • Roofline 路线输出精度报告,支持误差分析和趋势判断。
  • 实测路线在核心模型、核心硬件、典型高吞吐/低时延场景下达到可接受精度目标。
  • 支持建模结果与 profiling 数据自动比对,逐步形成可持续的精度治理流程。

3.5 易用性目标

  • 支持前端可视化能力,降低参数配置和结果理解门槛。
  • 支持安装、case 构造、device 配置等环节的 skills 化。
  • 增强 throughput_optimizer 结果输出,支持曲线、对比和推荐配置展示。
  • 完善模型支持列表、特性列表、精度报告、工具原理和版本更新文档。

5. 总体方案

5.1 架构分层

Q2 建议按以下分层推进能力建设:

模型输入层
  - HF Model
  - Built-in Model
  - 自定义 Python Model
  - vLLM / 执行图抓取方案
  - 配置化 Model Profile

模型适配与表达层
  - Model Profile 注册
  - model-doctor / verify / validate
  - shape / op / call count 捕获
  - 并行策略注入
  - 量化策略注入
  - 融合算子识别

建模执行层
  - Roofline 理论建模
  - 实测算子数据建模
  - 通信建模
  - PP / CP / Chunked Prefill 特性建模
  - 服务化调度建模

部署寻优层
  - throughput_optimizer
  - SLO 约束
  - 并发搜索
  - TP / DP / EP / PP / CP 策略搜索
  - 多硬件结果对比

验证与展示层
  - 精度 CI
  - profiling 自动比对
  - 结果曲线
  - 前端可视化
  - 文档与报告输出

5.2 工作主线

Q2 工作拆分为五条主线:

  1. 主线 A:新模型适配与适配效率提升 解决新模型接入成本高、适配流程不标准、模型前端不够准确的问题。

  2. 主线 B:推理特性建模增强 补齐 PP、CP、Chunked Prefill 等复杂推理特性,提升长序列和多并行策略场景下的建模能力。

  3. 主线 C:算子建模底座建设 建设实测算子接入、算子数据采集、DSL/源码级建模和融合算子自动化能力。

  4. 主线 D:易用性与结果分析增强 通过前端、skills、文档和结果曲线提升工具安装、使用、分析效率。

  5. 主线 E:精度治理与工程稳定性建设 建设精度 CI、profiling 自动比对、Roofline 与实测结果比对、精度分析流程等能力。


6. 重点工作规划

6.1 主线 A:新模型适配与适配效率提升

6.1.1 目标

支持 Q2 重点模型建模,并显著降低新模型适配成本。对于无新结构特性的 LLM 模型,目标是尽可能通过自动化流程完成模型注册、适配校验和基础建模。

6.1.2 工作内容

任务 A1:重点模型适配

支持 Q2 重点模型完成建模能力接入,包括模型结构解析、关键算子识别、算子耗时评估、融合算子适配、并行/量化配置支持等。

功能要求:

  • 支持指定模型成功输出建模结果。
  • 支持关键算子耗时评估。
  • 能够在 breakdown 中展示关键算子或融合算子的耗时信息。
  • 支持目标硬件、量化方式、TP/DP/EP 等常见切分策略。
  • 支持算子融合场景下的耗时建模。

验收标准:

  • 指定模型可以通过工具入口完成建模并输出结果。
  • 关键算子在指定 case 中可被识别并进入耗时 breakdown。
  • 典型 prefill、decode case 与实测 profiling 进行对比,误差达到对应模型的验收阈值。
  • 模型适配过程沉淀为可复用的 Model Profile 或适配说明。

任务 A2:Built-in Model 方案优化

优化 built-in model 方案,降低模型接入复杂度,优先支持“注册 Profile + 可选 patch”的接入模式。

功能要求:

  • 增加 model-doctor、verify、profile normalize/validate 等能力。
  • 支持构建阶段 fail-fast,提前暴露未适配项和配置错误。
  • 对常见模型系列形成标准适配路径和测试基线。
  • 输出可执行的修复建议,减少使用者排查成本。

验收标准:

  • model-doctor、verify、profile normalize/validate 等能力可通过 CLI 独立运行。
  • 在典型 LLM、MoE、VL 场景中完成验证。
  • 自动生成或校验的 Model Profile 与人工基线相比误差在可接受范围内。
  • 对失败样例能够明确输出失败原因和下一步建议。

任务 A3:LLM 模型适配 Skills

基于 built-in model 方案建设 LLM 模型适配 skills,使无新结构特性的模型可以通过自动化流程完成候选适配。

功能要求:

  • 给定一个未接入模型,skill 能自动调用 doctor/verify 流程。
  • 自动产出候选 Model Profile 或模型注册代码。
  • 对成功样例输出可落库结果。
  • 对失败样例输出明确失败原因和下一步建议。

验收标准:

  • 典型 LLM、MoE、VL 模型 case 能够跑通自动适配流程。
  • 成功样例产出的注册结果可直接用于基础建模。
  • 失败样例的错误定位和修复建议具备可执行性。
  • 自动化测试覆盖典型模型接入流程。

任务 A4:执行图抓取式模型前端探索

探索基于实际执行过程的模型前端接入方案,通过运行时抓取算子名、shape、调用次数等信息,获得更准确的模型前端表达。

功能要求:

  • 支持从实际执行路径中获取算子调用信息。
  • 支持导出可用于建模的 op、shape、call count 等结构化数据。
  • 评估依赖硬件和不依赖硬件两类方案的可行性。
  • 与现有 HF/Built-in Model 前端形成互补。

验收标准:

  • 完成技术方案评估。
  • 至少在一个典型模型上验证抓取链路可行性。
  • 输出与现有模型前端的差异分析。
  • 明确后续是否纳入正式建模入口。

6.2 主线 B:推理特性建模增强

6.2.1 目标

补齐 PP、CP、Chunked Prefill 等复杂推理特性,使 text_generate 和 throughput_optimizer 能够覆盖更多真实部署场景。

6.2.2 工作内容

任务 B1:PP 并行适配

PP 并行是典型模型切分策略,适用于模型跨多组设备部署的场景。Q2 需要支持 PP 切分下的单次 forward 建模和服务化吞吐建模。

text_generate 功能要求:

  • 支持配置 PP 参数,默认 PP=1。
  • 当 PP=1 时,对原有评估结果无影响。
  • 当 PP>1 时,支持自动平均切分 layer,或由用户指定 layer 切分策略。
  • 增加 PP stage 间 send/receive 通信耗时。
  • 输出中包含 send、receive 耗时信息。

throughput_optimizer 功能要求:

  • 支持 PP 切分下的服务化性能建模。
  • 支持 stage 间 send/receive 通信耗时。
  • 考虑不同 PP stage 耗时不均衡引入的 pipeline bubble。
  • 输出中包含 send、receive、bubble 等关键信息。

验收标准:

  • text_generate 支持 PP 配置,并能输出 PP 场景下的单 forward 建模结果。
  • throughput_optimizer 支持 PP 配置,并能输出 PP 场景下的吞吐、时延和 bubble 信息。
  • PP=1 场景与原有行为保持一致。
  • PP>1 场景可通过典型 case 完成结果校验。

任务 B2:CP 并行适配

CP 并行面向长上下文场景,是支持超长序列模型部署的重要并行策略。Q2 需要支持 CP 配置识别、切分逻辑扩展和计算/通信建模。

功能要求:

  • text_generate 支持 CP 配置并输出建模结果。
  • throughput_optimizer 支持 CP 配置并输出服务化建模结果。
  • 支持长上下文场景下 CP 引入的计算、通信和额外开销建模。
  • CP 配置不影响非 CP 场景的已有行为。

验收标准:

  • text_generate 和 throughput_optimizer 能够识别并处理 CP 配置。
  • 长上下文 case 在 CP 场景下可以正常运行并输出结果。
  • 结果中能够体现 CP 场景下的关键开销项。

任务 B3:Chunked Prefill 适配

Chunked Prefill 是长序列服务化中的重要调度能力,可影响 TTFT、吞吐和显存使用。Q2 需要在服务化建模中补齐该能力。

功能要求:

  • 支持将长 prompt 按配置切分为多个 prefill chunk。
  • 支持 chunked prefill 对 TTFT、TPOT、吞吐和调度行为的影响建模。
  • 与 prefix cache、并发、batch 参数等服务化参数协同工作。
  • 在 throughput_optimizer 中支持相关参数搜索或结果分析。

验收标准:

  • 典型长序列 case 可开启 chunked prefill 并输出建模结果。
  • 结果中能够体现 chunk 大小、并发、缓存命中等因素对性能的影响。
  • 与非 chunked prefill 场景相比,输出趋势符合预期。

6.3 主线 C:算子建模底座建设

6.3.1 目标

构建理论建模与实测建模结合的算子建模底座。Roofline 路线用于提供泛化能力和理论上界分析,实测路线用于提升目标硬件和核心场景下的预测精度,并反向指导 Roofline 误差分析。

6.3.2 工作内容

任务 C1:工具内置算子性能数据建模能力

新增基于内置算子性能数据的建模能力,使工具可以在特定硬件、特定算子、特定 shape 下直接读取实测性能数据进行耗时估算。

功能要求:

  • 支持读取结构化算子性能数据。
  • 支持根据算子类型、shape、dtype、硬件、软件版本等信息匹配实测数据。
  • 支持在建模流程中选择 Roofline 路线或实测算子路线。
  • 支持实测数据缺失时 fallback 到 Roofline 或插值/近似策略。

验收标准:

  • 在典型模型和目标硬件上完成 text_generate 实测路线建模。
  • 高吞吐、低时延典型场景下,核心指标精度达到 Q2 设定目标。
  • 工具输出中能够区分 Roofline 估算结果和实测数据结果。
  • 数据匹配失败时有明确提示和 fallback 行为。

任务 C2:算子性能数据采集能力

提供工具内置的算子性能采集能力,支持用户对指定算子开展实测采集,生成可用于建模的结构化数据。

功能要求:

  • 支持指定算子、shape、dtype、硬件配置进行采集。
  • 支持生成统一格式的算子性能数据。
  • 支持数据校验、版本标记和可追溯管理。
  • 支持后续持续补充和复用算子性能数据。

验收标准:

  • 可对指定算子完成采集并生成结构化数据。
  • 采集数据可被建模流程读取和使用。
  • 数据格式满足后续扩展和版本管理要求。

任务 C3:源码级 / DSL 路线建模增强

探索基于源码级或 DSL 表达的算子建模增强能力,提升复杂算子、融合算子的泛化建模能力。

功能要求:

  • 支持对部分算子进行源码级或 DSL 级表达分析。
  • 支持从更细粒度表达中推导计算量、访存量或工程可达性能特征。
  • 与 Roofline 路线结合,形成更强的算子建模能力。

验收标准:

  • 完成方案调研和原型验证。
  • 至少选取一个典型算子完成建模路径验证。
  • 输出与现有 Roofline 方式的对比分析。

任务 C4:融合算子接入效率提升

对于结构不复杂的融合算子,减少手写融合 pass 的成本,探索通过定义融合范围自动完成融合识别和建模。

功能要求:

  • 支持定义融合范围。
  • 支持自动识别可融合片段。
  • 支持生成融合后算子耗时估算。
  • 支持在 breakdown 中体现融合算子耗时。

验收标准:

  • 至少在一个典型融合算子 case 中验证自动融合流程。
  • 与手写融合 pass 的结果进行对比。
  • 明确适用边界和不适用场景。

6.4 主线 D:易用性与结果分析增强

6.4.1 目标

降低 msModeling 的安装、使用、配置和结果分析门槛,使用户能够更快完成建模 case 构造、更直观理解建模结果,并能基于输出做部署决策。

6.4.2 工作内容

任务 D1:前端可视化能力

提供本地网页形式的可视化能力,支持性能建模类参数配置、case 运行和结果展示。

功能要求:

  • 支持本地网页打开。
  • 支持主要性能建模参数配置。
  • 支持运行典型 text_generate 和 throughput_optimizer case。
  • 支持展示吞吐、TTFT、TPOT、并发、并行配置、算子 breakdown 等结果。

验收标准:

  • 前端界面原生支持主要性能建模参数。
  • 典型 case 可通过页面配置并运行。
  • 结果展示与 CLI 输出保持一致。

任务 D2:公共入口与云端运行能力探索

探索在公共平台上提供可访问入口,支持云端仿真运行和并发使用。

功能要求:

  • 支持公共入口访问。
  • 支持云端仿真计算。
  • 支持并发使用。
  • 支持基于数据库自动匹配历史 case 或已有结果。

验收标准:

  • 公共入口可访问并完成基础 case 运行。
  • 支持并发使用的基础验证。
  • 支持根据查询 case 匹配已有结果或数据库记录。

任务 D3:建模结果分析能力增强

增强 throughput_optimizer 输出,支持并发与 TPS 曲线、TTFT/TPOT 曲线、多硬件对比和最优配置输出。

功能要求:

  • 支持不同并发下 TPS 曲线输出。
  • 支持 TTFT/TPOT 与吞吐之间关系展示。
  • 支持多个硬件同时输入并进行结果对比。
  • 输出不同硬件最优性能配置,包括 TPS、TTFT、TPOT、并发、并行配置等。

验收标准:

  • throughput_optimizer 支持寻优曲线展示。
  • 支持多硬件同时输入。
  • 支持输出各硬件最优配置对比。
  • 输出结果具备可解释性,能支撑部署策略判断。

任务 D4:安装与使用 Skills

通过 skills 提升安装、case 构造、device 配置的易用性。

功能要求:

  • 支持通过口令或自然语言触发工具环境安装。
  • 支持自然语言描述仿真 case,并自动补全必要参数。
  • 支持交互式确认仿真条件后运行工具脚本。
  • 支持用户通过自然语言描述硬件关键参数,自动生成 device 配置代码。

验收标准:

  • 新环境下调用 skills 自动安装依赖后,可直接运行工具案例脚本。
  • 用户自然语言描述仿真 case 后,skills 能补全必要信息并成功运行对应脚本。
  • skills 能引导用户填写硬件拓扑、静态开销、算力、访存带宽等关键参数,并生成可调用 device 配置。

任务 D5:文档完善

完善工具文档体系,提升用户对模型支持范围、建模原理、精度表现和版本变化的认知。

功能要求:

  • 新增模型支持列表。
  • 新增模型特性列表。
  • 新增典型 case 精度报告。
  • 新增工具基本原理介绍。
  • 新增近期 update 列表。

验收标准:

  • 文档随版本更新。
  • 用户可以通过文档明确当前支持模型、特性、典型精度表现和使用入口。
  • 文档覆盖安装、运行、结果解读和常见问题。

6.5 主线 E:精度治理与工程稳定性建设

6.5.1 目标

通过精度验证、自动化比对和回归防护,提升建模结果的准确性、稳定性和可解释性。

6.5.2 工作内容

任务 E1:精度 CI 搭建

对主流模型和典型 case 建立每日冒烟和门禁看护,降低代码变更引入精度回退的风险。

功能要求:

  • 建设典型 case 精度防护。
  • 对关键模型、关键场景、关键指标进行自动化回归。
  • 重构 UT 用例,降低执行耗时。
  • 将精度异常及时暴露到开发流程中。

验收标准:

  • 典型 case 纳入精度门禁。
  • 主流模型具备每日冒烟看护能力。
  • UT 执行耗时相比当前显著下降。
  • 精度异常可以定位到模型、算子或配置维度。

任务 E2:精度分析流程 / Skill

沉淀精度分析方法论和标准流程,降低精度问题排查门槛。

功能要求:

  • 梳理精度问题分析流程。
  • 形成可复用的分析 skill 初版。

验收标准:

  • 输出精度分析流程文档。
  • 在典型误差 case 中验证流程有效性。
  • skill 初版可辅助完成基础误差归因。

7. 优先级建议

7.1 P0:Q2 核心交付

P0 任务需要优先保障,直接影响 Q2 主目标是否达成。

  • 重点模型适配。
  • Built-in Model 方案优化。
  • LLM 模型适配 Skills。
  • 实测算子性能数据建模能力。
  • 算子性能数据采集能力。
  • 前端可视化基础能力。
  • throughput_optimizer 结果分析增强。
  • 安装与使用 Skills。
  • 精度 CI 搭建。
  • PP 并行适配。
  • CP 并行适配。
  • Chunked Prefill 适配。
  • 文档体系完善。

7.2 P1:重要能力增强

P1 任务对复杂场景覆盖和后续演进重要,建议根据人力情况尽量纳入 Q2。

  • 训练场景建模
  • 基于profiling数据的建模
  • 执行图抓取式模型前端探索。
  • 精度分析流程 / Skill。
  • Roofline 与实测路线自动比对。
  • 源码级 / DSL 路线建模增强。
  • 公共入口与云端运行能力探索

7.3 P2:探索与预研

P2 任务以方案调研、原型验证和技术储备为主。

  • 融合算子自动化接入。
  • 建模结果与 profiling 自动比对。

9. 统一验收标准

Q2 各任务除各自验收标准外,还应满足以下统一标准。

9.1 工程验收

  • 新增能力可通过 CLI 或明确入口调用。
  • 配置项具备默认值,默认行为不破坏已有使用方式。
  • 关键流程具备自动化测试或典型 case 验证。
  • 失败场景具备明确错误信息和排查建议。
  • 输出结果格式稳定,可被前端、报告或后续工具消费。

9.2 建模验收

  • 能够输出核心指标,包括 forward latency、TTFT、TPOT、throughput、算子 breakdown 等。
  • 对关键并行和调度特性,能够体现新增计算、通信、等待或调度开销。
  • 对核心 case,能够与 profiling 或实测结果进行对比。
  • 误差较大时,可以定位到模型、算子、通信、调度或配置维度。

9.3 精度验收

  • 典型模型、典型硬件、典型输入输出条件下具备精度报告。
  • 核心场景趋势判断与实测结果保持一致。
  • 实测路线在核心 case 上达到 Q2 设定精度目标。
  • 精度 CI 能够发现主要回退问题。

9.4 易用性验收

  • 用户可以通过文档完成安装、运行和结果解读。
  • 典型 case 支持一键或低成本运行。
  • 前端或结果曲线能够帮助用户理解部署参数对性能的影响。
  • skills 能够覆盖安装、case 构造、device 配置等高频操作。

10. 附录:任务汇总

主线 任务 优先级 主要交付
新模型适配 重点模型适配 P0 模型建模能力、Model Profile、精度报告
新模型适配 Built-in Model 方案优化 P0 doctor / verify / validate、适配指导
新模型适配 LLM 模型适配 Skills P0 自动适配流程、候选注册代码
新模型适配 执行图抓取式模型前端探索 P1 技术方案、原型验证、差异分析
推理特性 PP 并行适配 P1 text_generate / throughput_optimizer PP 支持
推理特性 CP 并行适配 P1 长上下文 CP 建模能力
推理特性 Chunked Prefill 适配 P1 长序列服务化建模增强
算子建模 实测算子数据建模 P0 内置实测数据读取与建模
算子建模 算子性能数据采集 P0 采集工具、结构化数据
算子建模 源码级 / DSL 路线增强 P2 原型验证、方案对比
算子建模 融合算子接入效率提升 P2 自动融合原型、适用边界
易用性 前端可视化能力 P1 本地页面、参数配置、结果展示
易用性 结果分析能力增强 P1 曲线输出、多硬件对比、最优配置展示
易用性 安装与使用 Skills P0 安装、case 构造、device 配置 skills
易用性 文档完善 P1 模型列表、特性列表、精度报告、update 列表
精度治理 精度 CI 搭建 P0 精度门禁、每日冒烟、UT 优化
精度治理 精度分析流程 / Skill P1 方法论、流程文档、skill 初版