NVIDIA / NVIDIA/TensorRT-LLM

[AutoDeploy] Tune KVCacheConfig of drafter for memory optimization

Open
#9,279 0 comments 0 reactions 1 assignee View on GitHub

Nobody has claimed this yet.

AutoDeploy Memory Performance Speculative Decoding
Dominant language
Python
Stars
14.7k
Forks
2.8k
Avg merge
2d 23h
Merged PRs (30d)
489

Description

Proposal to improve performance

Currently, in DraftTarget speculative decoding, we pass along the KVCacheConfig that the target model is configured with to a separate draft model KV cache. This could lead to excessive memory being reserved for draft model KV cache, when the KV cache for the draft model can be made much smaller than for the target model (based on a ratio of number of attention layers between the two models, and number of draft tokens generated).

Report of performance regression

No response

Misc discussion on performance

No response

Your current environment (if you think it is necessary)

System Information:

  • OS:
  • Python version:
  • CUDA version:
  • GPU model(s):
  • Driver version:
  • TensorRT version:
  • PyTorch version:
  • TensorRT-LLM version:

Detailed output:

Paste the output of the above commands here
Before submitting a new issue...
  • Make sure you already searched for relevant issues, and checked the documentation and examples for answers to frequently asked questions.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.