Skip to content

[Performance] GLM-OCR MTP: ~1.5x speedup on eager path but ~0.62x on default CUDA Graph path (OCRBench) #218

Description

@airlsyn

For zai-org/GLM-OCR with native MTP speculative decoding on vLLM, we consistently observe:

tested on OCRBench (1000 samples) with 80GB A100

mtp=1 + eager ≈ 1.5× faster than no_mtp + eager — matches the GLM-OCR tech report's ~50% throughput claim.
mtp=1 + cuda graph ≈ 0.62× slower than no_mtp + graph on the default CUDA Graph path — despite high draft acceptance

Could you help with how to get MTP speedup on the CUDA Graph path?


And we see a issue on vllm #37551 test, with same result

Case no_mtp_eager mtp_eager eager speedup no_mtp_graph mtp_graph graph ratio MTP acceptance
receipt 60.08 tok/s 91.79 tok/s 1.53× 465.31 tok/s 260.37 tok/s 0.56× ~69%, mean accept len ~1.69
ocr_demo 59.48 tok/s 90.69 tok/s 1.53× 397.39 tok/s 277.29 tok/s 0.70× ~81%, mean accept len ~1.81
mean 1.526× 0.623×

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions