@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / d007387aa7
Fork 0

A high-throughput and memory-efficient inference and serving engine for LLMs

Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git

Synced Nov 11, 17:30 UTC

[Bugfix] Cache added_vocab to avoid per-token overhead (#30351)

Signed-off-by: limingliang <limingliang@stepfun.com> Co-authored-by: limingliang <limingliang@stepfun.com>

Mingliang Li committed Dec 10, 2025 at 12:05 UTC d007387aa742c25f60d9b35bc103cbaf753114c8
1 file changed +4 -2
vllm/tokenizers/deepseekv32.py
+4 -2
@@ -17,6 +17,8 @@ class DeepseekV32Tokenizer(HfTokenizer):
17 self.name_or_path = (
18 tokenizer.name_or_path if hasattr(tokenizer, "name_or_path") else ""
19 )
20 + self._added_vocab = self.tokenizer.get_added_vocab()
21 + self._added_vocab_size = len(self._added_vocab)
22
23 @classmethod
24 def from_pretrained(
@@ -98,7 +100,7 @@ class DeepseekV32Tokenizer(HfTokenizer):
100
101 def __len__(self) -> int:
102 # </think> is an added token in DeepseekV32 tokenizer
101 - return self.vocab_size + len(self.get_added_vocab())
103 + return self.vocab_size + self._added_vocab_size
104
105 def __call__(
106 self,
@@ -120,7 +122,7 @@ class DeepseekV32Tokenizer(HfTokenizer):
122 return self.tokenizer.get_vocab()
123
124 def get_added_vocab(self) -> dict[str, int]:
123 - return self.tokenizer.get_added_vocab()
125 + return self._added_vocab.copy()
126
127 def encode(
128 self,