fix: use get_rope_config() to support models without rope_parameters (#21135)
This commit is contained in:
@@ -48,6 +48,7 @@ from sglang.srt.layers.vocab_parallel_embedding import (
|
||||
from sglang.srt.model_executor.forward_batch_info import ForwardBatch
|
||||
from sglang.srt.model_loader.weight_utils import default_weight_loader
|
||||
from sglang.srt.utils import add_prefix, is_npu
|
||||
from sglang.srt.utils.hf_transformers_utils import get_rope_config
|
||||
|
||||
_is_npu = is_npu()
|
||||
|
||||
@@ -229,7 +230,7 @@ class BaiChuanDecoderLayer(nn.Module):
|
||||
):
|
||||
super().__init__()
|
||||
self.hidden_size = config.hidden_size
|
||||
rope_theta = config.rope_parameters["rope_theta"]
|
||||
rope_theta, _ = get_rope_config(config)
|
||||
max_position_embeddings = getattr(config, "max_position_embeddings", 8192)
|
||||
self.self_attn = BaiChuanAttention(
|
||||
hidden_size=self.hidden_size,
|
||||
|
||||
@@ -49,6 +49,7 @@ from sglang.srt.layers.vocab_parallel_embedding import (
|
||||
from sglang.srt.model_executor.forward_batch_info import ForwardBatch
|
||||
from sglang.srt.model_loader.weight_utils import default_weight_loader
|
||||
from sglang.srt.utils import add_prefix, cpu_has_amx_support, is_cpu
|
||||
from sglang.srt.utils.hf_transformers_utils import get_rope_config
|
||||
|
||||
_is_cpu_amx_available = cpu_has_amx_support()
|
||||
_is_cpu = is_cpu()
|
||||
@@ -310,8 +311,7 @@ class DeepseekDecoderLayer(nn.Module):
|
||||
) -> None:
|
||||
super().__init__()
|
||||
self.hidden_size = config.hidden_size
|
||||
rope_theta = config.rope_parameters["rope_theta"]
|
||||
rope_scaling = config.rope_parameters
|
||||
rope_theta, rope_scaling = get_rope_config(config)
|
||||
max_position_embeddings = getattr(config, "max_position_embeddings", 8192)
|
||||
self.self_attn = DeepseekAttention(
|
||||
hidden_size=self.hidden_size,
|
||||
|
||||
@@ -43,6 +43,7 @@ from sglang.srt.model_loader.weight_utils import default_weight_loader
|
||||
from sglang.srt.models.deepseek_v2 import DeepseekV2MLP as Ernie4MLP
|
||||
from sglang.srt.models.llama import LlamaAttention as Ernie4Attention
|
||||
from sglang.srt.utils import add_prefix, make_layers
|
||||
from sglang.srt.utils.hf_transformers_utils import get_rope_config
|
||||
|
||||
|
||||
class MoEGate(nn.Module):
|
||||
@@ -155,8 +156,7 @@ class Ernie4DecoderLayer(nn.Module):
|
||||
is_mtp: bool = False,
|
||||
):
|
||||
super().__init__()
|
||||
rope_theta = config.rope_parameters["rope_theta"]
|
||||
rope_scaling = config.rope_parameters
|
||||
rope_theta, rope_scaling = get_rope_config(config)
|
||||
rope_is_neox_style = getattr(config, "rope_is_neox_style", False)
|
||||
# Self attention.
|
||||
self.self_attn = Ernie4Attention(
|
||||
|
||||
@@ -40,6 +40,7 @@ from sglang.srt.layers.vocab_parallel_embedding import (
|
||||
from sglang.srt.model_executor.forward_batch_info import ForwardBatch
|
||||
from sglang.srt.model_loader.weight_utils import default_weight_loader
|
||||
from sglang.srt.utils import add_prefix
|
||||
from sglang.srt.utils.hf_transformers_utils import get_rope_config
|
||||
|
||||
|
||||
class ExaoneGatedMLP(nn.Module):
|
||||
@@ -182,8 +183,7 @@ class ExaoneDecoderLayer(nn.Module):
|
||||
) -> None:
|
||||
super().__init__()
|
||||
self.hidden_size = config.hidden_size
|
||||
rope_theta = config.rope_parameters["rope_theta"]
|
||||
rope_scaling = config.rope_parameters
|
||||
rope_theta, rope_scaling = get_rope_config(config)
|
||||
if rope_scaling is not None and getattr(
|
||||
config, "original_max_position_embeddings", None
|
||||
):
|
||||
|
||||
@@ -52,6 +52,7 @@ from sglang.srt.model_loader.weight_utils import (
|
||||
kv_cache_scales_loader,
|
||||
)
|
||||
from sglang.srt.utils import add_prefix, make_layers
|
||||
from sglang.srt.utils.hf_transformers_utils import get_rope_config
|
||||
|
||||
Glm4Config = None
|
||||
|
||||
@@ -217,9 +218,10 @@ class Glm4DecoderLayer(nn.Module):
|
||||
) -> None:
|
||||
super().__init__()
|
||||
self.hidden_size = config.hidden_size
|
||||
rope_theta = config.rope_parameters["rope_theta"]
|
||||
rope_scaling = config.rope_parameters
|
||||
partial_rotary_factor = config.rope_parameters.get("partial_rotary_factor", 0.5)
|
||||
rope_theta, rope_scaling = get_rope_config(config)
|
||||
partial_rotary_factor = (rope_scaling or {}).get("partial_rotary_factor")
|
||||
if partial_rotary_factor is None:
|
||||
partial_rotary_factor = getattr(config, "partial_rotary_factor", 0.5)
|
||||
bias = getattr(config, "attention_bias", True)
|
||||
max_position_embeddings = getattr(config, "max_position_embeddings", 32768)
|
||||
head_dim = getattr(config, "head_dim", None)
|
||||
|
||||
@@ -94,6 +94,7 @@ from sglang.srt.utils import (
|
||||
log_info_on_rank0,
|
||||
make_layers,
|
||||
)
|
||||
from sglang.srt.utils.hf_transformers_utils import get_rope_config
|
||||
|
||||
_is_hip = is_hip()
|
||||
_is_cuda = is_cuda()
|
||||
@@ -684,11 +685,10 @@ class Glm4MoeDecoderLayer(nn.Module):
|
||||
nn.Module.__init__(self)
|
||||
self.hidden_size = config.hidden_size
|
||||
self.config = config
|
||||
rope_theta = config.rope_parameters["rope_theta"]
|
||||
rope_scaling = config.rope_parameters
|
||||
partial_rotary_factor = getattr(
|
||||
getattr(config, "rope_parameters", None), "partial_rotary_factor", None
|
||||
) or getattr(config, "partial_rotary_factor", 0.5)
|
||||
rope_theta, rope_scaling = get_rope_config(config)
|
||||
partial_rotary_factor = (rope_scaling or {}).get("partial_rotary_factor")
|
||||
if partial_rotary_factor is None:
|
||||
partial_rotary_factor = getattr(config, "partial_rotary_factor", 0.5)
|
||||
max_position_embeddings = getattr(config, "max_position_embeddings", 8192)
|
||||
head_dim = getattr(
|
||||
config, "head_dim", config.hidden_size // config.num_attention_heads
|
||||
|
||||
@@ -61,6 +61,7 @@ from sglang.srt.model_executor.forward_batch_info import ForwardBatch
|
||||
from sglang.srt.model_loader.loader import DefaultModelLoader
|
||||
from sglang.srt.model_loader.weight_utils import default_weight_loader
|
||||
from sglang.srt.utils import add_prefix, is_npu
|
||||
from sglang.srt.utils.hf_transformers_utils import get_rope_config
|
||||
|
||||
_is_npu = is_npu()
|
||||
|
||||
@@ -477,11 +478,7 @@ class Grok1DecoderLayer(nn.Module):
|
||||
self.layer_id = layer_id
|
||||
self.alt_stream = alt_stream or torch.cuda.Stream()
|
||||
|
||||
rope_params = getattr(config, "rope_parameters", None)
|
||||
if rope_params and "rope_theta" in rope_params:
|
||||
rope_theta = rope_params["rope_theta"]
|
||||
else:
|
||||
rope_theta = getattr(config, "rope_theta", 10000)
|
||||
rope_theta, _ = get_rope_config(config)
|
||||
self.self_attn = Grok1Attention(
|
||||
config=config,
|
||||
hidden_size=self.hidden_size,
|
||||
|
||||
@@ -53,6 +53,7 @@ from sglang.srt.model_loader.weight_utils import (
|
||||
maybe_remap_kv_scale_name,
|
||||
)
|
||||
from sglang.srt.utils import is_hip
|
||||
from sglang.srt.utils.hf_transformers_utils import get_rope_config
|
||||
|
||||
expert_distribution_recorder = ExpertDistributionRecorder()
|
||||
|
||||
@@ -402,8 +403,7 @@ class HunYuanDecoderLayer(nn.Module):
|
||||
if isinstance(config.intermediate_size, int)
|
||||
else config.intermediate_size[layer_id]
|
||||
)
|
||||
rope_theta = config.rope_parameters["rope_theta"]
|
||||
rope_scaling = config.rope_parameters
|
||||
rope_theta, rope_scaling = get_rope_config(config)
|
||||
if rope_scaling is not None and getattr(
|
||||
config, "original_max_position_embeddings", None
|
||||
):
|
||||
|
||||
@@ -39,6 +39,7 @@ from sglang.srt.model_executor.forward_batch_info import ForwardBatch
|
||||
from sglang.srt.model_loader.weight_utils import default_weight_loader
|
||||
from sglang.srt.models.llama import LlamaMLP as LoopCoderMLP
|
||||
from sglang.srt.utils import add_prefix, make_layers
|
||||
from sglang.srt.utils.hf_transformers_utils import get_rope_config
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -166,8 +167,7 @@ class LoopCoderAttention(nn.Module):
|
||||
prefix=add_prefix("o_proj", prefix),
|
||||
)
|
||||
|
||||
rope_theta = config.rope_parameters["rope_theta"]
|
||||
rope_scaling = config.rope_parameters
|
||||
rope_theta, rope_scaling = get_rope_config(config)
|
||||
max_position_embeddings = getattr(
|
||||
config, "max_position_embeddings", max_position
|
||||
)
|
||||
|
||||
@@ -84,6 +84,7 @@ from sglang.srt.utils import (
|
||||
is_npu,
|
||||
make_layers,
|
||||
)
|
||||
from sglang.srt.utils.hf_transformers_utils import get_rope_config
|
||||
|
||||
LoraConfig = None
|
||||
logger = logging.getLogger(__name__)
|
||||
@@ -486,12 +487,13 @@ class LLaDA2MoeAttention(nn.Module):
|
||||
self.rotary_dim = config.rotary_dim
|
||||
else:
|
||||
self.rotary_dim = self.head_dim
|
||||
rope_theta, rope_scaling = get_rope_config(config)
|
||||
self.rotary_emb = get_rope(
|
||||
self.head_dim,
|
||||
rotary_dim=self.rotary_dim,
|
||||
max_position=config.max_position_embeddings,
|
||||
base=config.rope_parameters["rope_theta"],
|
||||
rope_scaling=config.rope_parameters,
|
||||
base=rope_theta,
|
||||
rope_scaling=rope_scaling,
|
||||
)
|
||||
|
||||
self.attn = RadixAttention(
|
||||
|
||||
@@ -38,6 +38,7 @@ from sglang.srt.layers.vocab_parallel_embedding import (
|
||||
from sglang.srt.model_executor.forward_batch_info import ForwardBatch
|
||||
from sglang.srt.model_loader.weight_utils import default_weight_loader
|
||||
from sglang.srt.utils import add_prefix
|
||||
from sglang.srt.utils.hf_transformers_utils import get_rope_config
|
||||
|
||||
|
||||
class MiniCPMMLP(nn.Module):
|
||||
@@ -176,8 +177,7 @@ class MiniCPMDecoderLayer(nn.Module):
|
||||
super().__init__()
|
||||
self.config = config
|
||||
self.hidden_size = config.hidden_size
|
||||
rope_theta = config.rope_parameters["rope_theta"]
|
||||
rope_scaling = config.rope_parameters
|
||||
rope_theta, rope_scaling = get_rope_config(config)
|
||||
max_position_embeddings = getattr(config, "max_position_embeddings", 8192)
|
||||
self.self_attn = MiniCPMAttention(
|
||||
hidden_size=self.hidden_size,
|
||||
|
||||
@@ -40,6 +40,7 @@ from sglang.srt.layers.vocab_parallel_embedding import (
|
||||
from sglang.srt.model_executor.forward_batch_info import ForwardBatch
|
||||
from sglang.srt.model_loader.weight_utils import default_weight_loader
|
||||
from sglang.srt.utils import add_prefix, is_cuda
|
||||
from sglang.srt.utils.hf_transformers_utils import get_rope_config
|
||||
|
||||
if is_cuda():
|
||||
from sgl_kernel import bmm_fp8 as _raw_bmm_fp8
|
||||
@@ -305,8 +306,7 @@ class MiniCPM3DecoderLayer(nn.Module):
|
||||
super().__init__()
|
||||
self.config = config
|
||||
self.hidden_size = config.hidden_size
|
||||
rope_theta = config.rope_parameters["rope_theta"]
|
||||
rope_scaling = config.rope_parameters
|
||||
rope_theta, rope_scaling = get_rope_config(config)
|
||||
max_position_embeddings = getattr(config, "max_position_embeddings", 8192)
|
||||
self.self_attn = MiniCPM3AttentionMLA(
|
||||
config=config,
|
||||
|
||||
@@ -35,6 +35,7 @@ from sglang.srt.layers.vocab_parallel_embedding import (
|
||||
from sglang.srt.model_executor.forward_batch_info import ForwardBatch, PPProxyTensors
|
||||
from sglang.srt.model_loader.weight_utils import default_weight_loader
|
||||
from sglang.srt.utils import add_prefix, make_layers
|
||||
from sglang.srt.utils.hf_transformers_utils import get_rope_config
|
||||
|
||||
|
||||
class OrionMLP(nn.Module):
|
||||
@@ -165,8 +166,7 @@ class OrionDecoderLayer(nn.Module):
|
||||
) -> None:
|
||||
super().__init__()
|
||||
self.hidden_size = config.hidden_size
|
||||
rope_theta = config.rope_parameters["rope_theta"]
|
||||
rope_scaling = config.rope_parameters
|
||||
rope_theta, rope_scaling = get_rope_config(config)
|
||||
max_position_embeddings = getattr(config, "max_position_embeddings", 8192)
|
||||
self.self_attn = OrionAttention(
|
||||
hidden_size=self.hidden_size,
|
||||
|
||||
@@ -40,6 +40,7 @@ from sglang.srt.layers.vocab_parallel_embedding import (
|
||||
from sglang.srt.model_executor.forward_batch_info import ForwardBatch
|
||||
from sglang.srt.model_loader.weight_utils import default_weight_loader
|
||||
from sglang.srt.utils import add_prefix
|
||||
from sglang.srt.utils.hf_transformers_utils import get_rope_config
|
||||
|
||||
|
||||
class QWenMLP(nn.Module):
|
||||
@@ -162,8 +163,7 @@ class QWenBlock(nn.Module):
|
||||
super().__init__()
|
||||
self.ln_1 = RMSNorm(config.hidden_size, eps=config.layer_norm_epsilon)
|
||||
|
||||
rope_theta = config.rope_parameters["rope_theta"]
|
||||
rope_scaling = config.rope_parameters
|
||||
rope_theta, rope_scaling = get_rope_config(config)
|
||||
self.attn = QWenAttention(
|
||||
config.hidden_size,
|
||||
config.num_attention_heads,
|
||||
|
||||
@@ -55,6 +55,7 @@ from sglang.srt.model_loader.weight_utils import (
|
||||
kv_cache_scales_loader,
|
||||
)
|
||||
from sglang.srt.utils import add_prefix, make_layers
|
||||
from sglang.srt.utils.hf_transformers_utils import get_rope_config
|
||||
|
||||
|
||||
class SolarMLP(nn.Module):
|
||||
@@ -194,8 +195,7 @@ class SolarDecoderLayer(nn.Module):
|
||||
) -> None:
|
||||
super().__init__()
|
||||
self.hidden_size = config.hidden_size
|
||||
rope_theta = config.rope_parameters["rope_theta"]
|
||||
rope_scaling = config.rope_parameters
|
||||
rope_theta, rope_scaling = get_rope_config(config)
|
||||
|
||||
if rope_scaling is not None and getattr(
|
||||
config, "original_max_position_embeddings", None
|
||||
|
||||
@@ -61,6 +61,7 @@ from sglang.srt.managers.schedule_batch import (
|
||||
from sglang.srt.model_executor.forward_batch_info import ForwardBatch
|
||||
from sglang.srt.model_loader.weight_utils import default_weight_loader
|
||||
from sglang.srt.utils import add_prefix, log_info_on_rank0, make_layers
|
||||
from sglang.srt.utils.hf_transformers_utils import get_rope_config
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -290,8 +291,7 @@ class Step3TextDecoderLayer(nn.Module):
|
||||
) -> None:
|
||||
super().__init__()
|
||||
self.hidden_size = config.hidden_size
|
||||
rope_theta = config.rope_parameters["rope_theta"]
|
||||
rope_scaling = config.rope_parameters
|
||||
rope_theta, rope_scaling = get_rope_config(config)
|
||||
max_position_embeddings = getattr(config, "max_position_embeddings", 8192)
|
||||
head_dim = getattr(
|
||||
config, "head_dim", config.hidden_size // config.num_attention_heads
|
||||
|
||||
@@ -41,6 +41,7 @@ from sglang.srt.layers.vocab_parallel_embedding import (
|
||||
from sglang.srt.model_executor.model_runner import ForwardBatch
|
||||
from sglang.srt.model_loader.weight_utils import default_weight_loader
|
||||
from sglang.srt.utils import add_prefix
|
||||
from sglang.srt.utils.hf_transformers_utils import get_rope_config
|
||||
|
||||
|
||||
class XverseMLP(nn.Module):
|
||||
@@ -181,8 +182,7 @@ class XverseDecoderLayer(nn.Module):
|
||||
) -> None:
|
||||
super().__init__()
|
||||
self.hidden_size = config.hidden_size
|
||||
rope_theta = config.rope_parameters["rope_theta"]
|
||||
rope_scaling = config.rope_parameters
|
||||
rope_theta, rope_scaling = get_rope_config(config)
|
||||
if rope_scaling is not None and getattr(
|
||||
config, "original_max_position_embeddings", None
|
||||
):
|
||||
|
||||
@@ -49,6 +49,7 @@ from sglang.srt.layers.vocab_parallel_embedding import (
|
||||
from sglang.srt.model_executor.forward_batch_info import ForwardBatch
|
||||
from sglang.srt.model_loader.weight_utils import default_weight_loader
|
||||
from sglang.srt.utils import add_prefix, is_npu
|
||||
from sglang.srt.utils.hf_transformers_utils import get_rope_config
|
||||
|
||||
|
||||
class XverseMLP(nn.Module):
|
||||
@@ -291,8 +292,7 @@ class XverseDecoderLayer(nn.Module):
|
||||
) -> None:
|
||||
super().__init__()
|
||||
self.hidden_size = config.hidden_size
|
||||
rope_theta = config.rope_parameters["rope_theta"]
|
||||
rope_scaling = config.rope_parameters
|
||||
rope_theta, rope_scaling = get_rope_config(config)
|
||||
max_position_embeddings = getattr(config, "max_position_embeddings", 8192)
|
||||
num_key_value_heads = getattr(
|
||||
config, "num_key_value_heads", config.num_attention_heads
|
||||
|
||||
Reference in New Issue
Block a user