Skip to content

support fleet-gqa-latent#7955

Open
chang-wenbin wants to merge 1 commit into
PaddlePaddle:developfrom
chang-wenbin:fleet-gqa-latent1
Open

support fleet-gqa-latent#7955
chang-wenbin wants to merge 1 commit into
PaddlePaddle:developfrom
chang-wenbin:fleet-gqa-latent1

Conversation

@chang-wenbin
Copy link
Copy Markdown
Collaborator

Motivation

💡 If this PR is a Cherry Pick, the PR title needs to follow the format by adding the [Cherry-Pick] label at the very beginning and appending the original PR ID at the end. For example, [Cherry-Pick][CI] Add check trigger and logic(#5191)

💡 如若此PR是Cherry Pick,PR标题需遵循格式,在最开始加上[Cherry-Pick]标签,以及最后面加上原PR ID,例如[Cherry-Pick][CI] Add check trigger and logic(#5191)

Modifications

Usage or Command

Accuracy Tests

Checklist

  • Add at least a tag in the PR title.
    • Tag list: [[FDConfig],[APIServer],[Engine], [Scheduler], [PD Disaggregation], [Executor], [Graph Optimization], [Speculative Decoding], [RL], [Models], [Quantization], [Loader], [OP], [KVCache], [DataProcessor], [BugFix], [Docs], [CI], [Optimization], [Feature], [Benchmark], [Others], [XPU], [HPU], [GCU], [DCU], [Iluvatar], [Metax]]
    • You can add new tags based on the PR content, but the semantics must be clear.
  • Format your code, run pre-commit before commit.
  • Add unit tests. Please write the reason in this PR if no unit tests.
  • Provide accuracy results.
  • If the current PR is submitting to the release branch, make sure the PR has been submitted to the develop branch, then cherry-pick it to the release branch with the [Cherry-Pick] PR tag.

@paddle-bot
Copy link
Copy Markdown

paddle-bot Bot commented May 28, 2026

Thanks for your contribution!

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented May 28, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (develop@60e6223). Learn more about missing BASE report.

Additional details and impacted files
@@            Coverage Diff             @@
##             develop    #7955   +/-   ##
==========================================
  Coverage           ?   67.38%           
==========================================
  Files              ?      467           
  Lines              ?    65183           
  Branches           ?    10007           
==========================================
  Hits               ?    43921           
  Misses             ?    18443           
  Partials           ?     2819           
Flag Coverage Δ
GPU 77.60% <100.00%> (?)
XPU 7.08% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@PaddlePaddle-bot
Copy link
Copy Markdown

PaddlePaddle-bot commented May 28, 2026

🤖 Paddle-CI-Agent | ci_status_monitor | 2026-05-29 02:30:31

CI报告基于以下代码生成(30分钟更新一次):


1 任务总览

Required 任务 9/10 通过,当前有 1 个 required 失败任务,会阻塞合并;无 required 运行中/等待中。Optional 任务存在失败/等待/取消,仅供参考。

总执行(rerun次数) 总任务 ✅ 通过 ❌ 失败 ⏳ 运行中 ⏸️ 等待中 跳过 取消
41(0) 41 36 3 0 1 0 1

2 任务状态汇总

2.1 Required任务 : 9/10 通过

必选任务阻塞合并,失败需优先处理。

状态 任务 耗时 根因 修复建议 日志 重跑
Run FastDeploy Unit Tests and Coverage / run_tests_with_coverage 1h26m PR问题:新增 rotary_dim 计算未兼容 Mock 配置 兼容缺失 head_dim 或补 Mock 字段 Job -
其余 9 个必选任务通过 - - - - -

2.2 可选任务 — 27/31 通过

可选任务不阻塞合并,失败仅供参考。

状态 任务 耗时 日志 重跑
Check PR Template 22s Job -
Trigger Jenkins for PR 17s Job -
⏸️ CI_HPU - Workflow -
🚫 Run iluvatar Tests / run_iluvatar_cases - Workflow -
其余 27 个可选任务通过 - - -

3 失败详情(仅 required)

Run FastDeploy Unit Tests and Coverage / run_tests_with_coverage — 测试失败(置信度: 高)

Run FastDeploy Unit Tests and Coverage / run_tests_with_coverage

  • 状态: ❌ 失败
  • 错误类型: 测试失败
  • 置信度: 高
  • 根因摘要: 新增 rotary_dim 计算未兼容 Mock 配置
  • 分析器: ci_analyze_unittest_fastdeploy

失败用例:

测试 错误 根因
tests/worker/test_gpu_model_runner.py::TestProcessMMFeatures::* TypeError: unsupported operand type(s) for *: 'Mock' and 'Mock' 7 个用例在 setUp() 创建 InputBatch(Mock) 时触发新增 rotary_dim 计算,rotary_percent/head_dim 都是 Mock
tests/worker/test_gpu_prompt_logprobs.py::TestGPUPromptLogprobs::test_prompt_logprobs AttributeError: 'ModelConfig' object has no attribute 'head_dim' 测试的 MockConfig.ModelConfig 未提供 head_dim,新增代码无条件访问该字段
tests/e2e/test_Qwen2_5_VL_serving.py::test_profile_reset_block_num Failed: 日志中没有Reset block num信息 config.log 中未找到 Reset block num,与本 PR 的 RoPE 维度修改暂无直接证据关联,建议修复主因后复查

根因详情:
本 PR 在 InputBatch.__init__ 中新增:rotary_percent = getattr(self.model_config, "rotary_percent", 1)self.rotary_dim = int(rotary_percent * self.model_config.head_dim),并将 get_rope(rotary_dim=...) 改为使用 self.rotary_dim。但现有 worker 单测使用精简 Mock/MockConfig 构造 InputBatch,其中 rotary_percent 可能是 Mockhead_dim 可能缺失;因此对象初始化阶段即失败,导致多个用例无法进入原本被测逻辑。ProposerInputBatch 中也有同样新增计算,建议一并处理。

关键日志:

fastdeploy/worker/input_batch.py:113
> self.rotary_dim = int(rotary_percent * self.model_config.head_dim)
E TypeError: unsupported operand type(s) for *: 'Mock' and 'Mock'

fastdeploy/worker/input_batch.py:113
> self.rotary_dim = int(rotary_percent * self.model_config.head_dim)
E AttributeError: 'ModelConfig' object has no attribute 'head_dim'

FAILED tests/worker/test_gpu_model_runner.py::TestProcessMMFeatures::* - TypeError
FAILED tests/worker/test_gpu_prompt_logprobs.py::TestGPUPromptLogprobs::test_prompt_logprobs - AttributeError

修复建议:

  1. fastdeploy/worker/input_batch.py L111-L113:将 rotary_dim 计算封装成兼容逻辑;当 rotary_percent 缺失/非数值时使用 1,当 head_dim 缺失但 hidden_size/num_attention_heads 可用时派生,否则只在实际创建 rope_emb 前校验并报出清晰错误。
  2. fastdeploy/worker/input_batch.py L768-L770:ProposerInputBatch 中同样的 rotary_dim 计算建议复用同一个 helper,避免后续 speculative 路径出现相同问题。
  3. 如果 head_dim 已成为必需字段,也需同步补齐测试 Mock:tests/worker/test_gpu_model_runner.pyself.mock_model_config 以及 tests/worker/test_gpu_prompt_logprobs.pyMockConfig.ModelConfig 至少设置 head_dimrotary_percent=1
  4. tests/e2e/test_Qwen2_5_VL_serving.py:450Reset block num 缺失失败目前不像由新增 rotary_dim 行直接触发;建议修复上述初始化失败后 rerun,若仍失败再检查启动时 config.log 是否仍应输出该字段。

修复建议摘要: 兼容缺失 head_dim 或补 Mock 字段

关联变更: fastdeploy/worker/input_batch.py L111-L113、L243-L249、L768-L770、L827-L833

链接: 查看日志

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.

3 participants