[Fix] Fix Qwen3.5 MTP startup with HiCache (#34560)

Co-authored-by: hjzhang <76768149+1e4ves@users.noreply.github.com>
Co-authored-by: YAMY <74099316+YAMY1234@users.noreply.github.com>
This commit is contained in:
DarkraiHL
2026-08-14 10:55:41 -07:00
committed by GitHub
co-authored by hjzhang YAMY
parent d8399af70c
commit 41cd5a7189
5 changed files with 56 additions and 3 deletions
@@ -707,6 +707,7 @@ class ModelConfig:
)
self.hf_config.architectures[0] = "Qwen3_5ForCausalLMMTP"
self.hf_config.num_nextn_predict_layers = 1
self.hf_text_config.num_nextn_predict_layers = 1
if is_draft_model and self.hf_config.architectures[0] == "ExaoneMoEForCausalLM":
self.hf_config.architectures[0] = "ExaoneMoEForCausalLMMTP"
@@ -930,9 +930,15 @@ def build_full_draft_pools(
server_args: ServerArgs,
) -> tuple[list[SidecarPoolSpec], list[PoolEntry]]:
"""Build draft KV/DSA sidecars whose indices follow target full KV."""
from sglang.srt.mem_cache.memory_pool import DSATokenToKVPool
from sglang.srt.mem_cache.memory_pool import (
DSATokenToKVPool,
HybridLinearKVPool,
)
pool = draft_kv_pool
if isinstance(pool, HybridLinearKVPool):
# Hybrid draft runners keep their sole attention layer in this sub-pool.
pool = pool.full_kv_pool
if pool.layer_num == 0:
return [], []