Remove transformers 5.12.1 dead-code workarounds (#29758)

This commit is contained in:
Xinyuan Tong
2026-07-03 00:03:06 +08:00
committed by GitHub
parent c05c48b35e
commit 9588cacaa1
2 changed files with 5 additions and 69 deletions
-55
View File
@@ -453,8 +453,6 @@ class ModelConfig:
# Verify quantization
self._verify_quantization()
self._verify_transformers_version()
# Verify dual-chunk attention config
self._verify_dual_chunk_attention_config()
@@ -915,19 +913,6 @@ class ModelConfig:
if "IQuestLoopCoderForCausalLM" in self.hf_config.architectures:
loop_num = getattr(self.hf_text_config, "loop_num", 1)
self.num_attention_layers = int(self.num_hidden_layers * int(loop_num))
if "HrmTextForCausalLM" in self.hf_config.architectures:
# Compute KV slot count explicitly: native 5.9.0 configs inflate
# num_hidden_layers to this in __post_init__, but non-native ones
# may carry the raw per-stack count.
H_cycles = self.hf_text_config.H_cycles
L_cycles = self.hf_text_config.L_cycles
num_layers_per_stack = (
getattr(self.hf_text_config, "num_layers_per_stack", None)
or self.num_hidden_layers
)
self.num_attention_layers = (
int(num_layers_per_stack) * H_cycles * (L_cycles + 1)
)
if "WhisperForConditionalGeneration" in self.hf_config.architectures:
# Whisper has unique layer ID scheme:
# - Encoder self-attention: 0 to encoder_layers-1 (no KV cache)
@@ -1446,46 +1431,6 @@ class ModelConfig:
"sparse_attention_enabled"
] = True
def _verify_transformers_version(self):
import transformers
from packaging import version
tf_version_str = getattr(transformers, "__version__", None)
if tf_version_str is None:
return
vision_config = getattr(self.hf_config, "vision_config", None)
is_glm_46vmoe = "glm-4.6v" in self.model_path.lower() or (
vision_config is not None
and getattr(vision_config, "model_type", None) == "glm4v_moe_vision"
# The vision config model type for GLM-4.5v is 'glm4v_moe',
# while for GLM-4.6v, it is 'glm4v_moe_vision'.
)
needs_tf_v5 = is_glm_46vmoe
# Older transformers lacks the native hrm_text config, so it silently
# falls back to TransformersForCausalLM and loads fused weights as junk.
architectures = getattr(self.hf_config, "architectures", []) or []
is_hrm_text = getattr(self.hf_config, "model_type", None) == "hrm_text" or (
"HrmTextForCausalLM" in architectures
)
if is_hrm_text and version.parse(tf_version_str) < version.parse("5.9.0"):
raise ValueError(
f"HRM-Text (model type {self.hf_config.model_type!r}) requires "
f"transformers >= 5.9.0, but {tf_version_str} is installed. "
"Please upgrade transformers."
)
tf_version = version.parse(tf_version_str)
required_version = version.parse("5.0.0dev0")
if tf_version < required_version:
if needs_tf_v5:
raise ValueError(
f"Transformers version {tf_version_str} is not supported for model {self.model_path} "
f"or model type {self.hf_config.model_type}. "
"Please upgrade transformers to >= 5.0.0."
)
def _get_hf_eos_token_id(self) -> Optional[Set[int]]:
eos_ids = getattr(self.hf_config, "eos_token_id", None)
if eos_ids is not None:
+5 -14
View File
@@ -6,29 +6,20 @@ import numpy as np
import torch
import torch.nn.functional as F
from torch import nn
from transformers import activations
from transformers.activations import PytorchGELUTanh
from sglang.srt.configs.kimi_k25 import KimiK25Config, KimiK25VisionConfig
from sglang.srt.eplb.expert_location import ModelConfigForExpertLocation
from sglang.srt.layers.attention.vision import VisionAttention
from sglang.srt.layers.conv import Conv2dLayer
from sglang.srt.layers.linear import ReplicatedLinear
from sglang.srt.layers.quantization.base_config import QuantizationConfig
from sglang.srt.layers.quantization.modelslim.modelslim import ModelSlimConfig
from sglang.srt.layers.quantization.quark.quark import QuarkConfig
from sglang.srt.managers.mm_utils import (
MultiModalityDataPaddingPatternMultimodalTokens,
general_mm_embed_routine,
)
try:
from transformers.activations import PytorchGELUTanh
except ImportError:
from transformers.activations import GELUTanh
activations.PytorchGELUTanh = GELUTanh
PytorchGELUTanh = GELUTanh
from sglang.srt.layers.attention.vision import VisionAttention
from sglang.srt.layers.linear import ReplicatedLinear
from sglang.srt.layers.quantization.modelslim.modelslim import ModelSlimConfig
from sglang.srt.layers.quantization.quark.quark import QuarkConfig
from sglang.srt.managers.schedule_batch import (
Modality,
MultimodalDataItem,