Skip to content

Conversation

@Deleter-D
Copy link
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)

Support for request-level speculative decoding metrics monitoring.

Modifications

Support for request-level speculative decoding metrics monitoring, with key metrics returned via API. The return format is as follows: for streaming output, metrics will be returned in the final streaming packet, while other streaming packets will be null.

{
    "id": "xxx",
    "model": "xxx",
    "choices": [
        {
            ...
            "speculate_metrics": {
                "accepted_tokens": 128,
                "rejected_tokens": 112,
                "accept_ratio": 0.53125,
                "average_accept_length": 2.1333333333333333,
                "accept_ratio_per_head": [
                    0.6,
                    0.6388888888888888,
                    0.391304347826087
                ]
            }
        }
    ],
    ...
}

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

paddle-bot bot commented Dec 17, 2025

Thanks for your contribution!

@codecov-commenter
Copy link

codecov-commenter commented Dec 17, 2025

Codecov Report

❌ Patch coverage is 65.38462% with 27 lines in your changes missing coverage. Please review.
⚠️ Please upload report for BASE (release/2.4@c19af49). Learn more about missing BASE report.

Files with missing lines Patch % Lines
fastdeploy/output/token_processor.py 48.88% 20 Missing and 3 partials ⚠️
fastdeploy/engine/request.py 60.00% 2 Missing ⚠️
...astdeploy/entrypoints/openai/serving_completion.py 66.66% 1 Missing and 1 partial ⚠️
Additional details and impacted files
@@              Coverage Diff               @@
##             release/2.4    #5614   +/-   ##
==============================================
  Coverage               ?   59.00%           
==============================================
  Files                  ?      327           
  Lines                  ?    40721           
  Branches               ?     6185           
==============================================
  Hits                   ?    24028           
  Misses                 ?    14829           
  Partials               ?     1864           
Flag Coverage Δ
GPU 59.00% <65.38%> (?)

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.

@Deleter-D Deleter-D merged commit e56c4dd into PaddlePaddle:release/2.4 Dec 17, 2025
22 of 26 checks passed
@Deleter-D Deleter-D deleted the 2.4_req_acc branch January 12, 2026 03:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants