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, 00:00 UTC
Only patch `original_max_position_embeddings` for Transformers v4 (#31214)
Signed-off-by: Harry Mellor <19981378+hmellor@users.noreply.github.com>
Harry Mellor committed
Dec 23, 2025 at 16:46 UTC
1339878e137de9ee8e1f0cf945b6eb62f423c3c0
1 file changed
+7
-5
vllm/transformers_utils/config.py
+7
-5
@@ -330,19 +330,25 @@ def patch_rope_parameters(config: PretrainedConfig) -> None:
330
rope_theta = getattr_iter(config, names, None, warn=True)
331
names = ["partial_rotary_factor", "rotary_pct", "rotary_emb_fraction"]
332
partial_rotary_factor = getattr_iter(config, names, None, warn=True)
333
+ ompe = getattr(config, "original_max_position_embeddings", None)
334
335
if Version(version("transformers")) < Version("5.0.0.dev0"):
336
# Transformers v4 installed, legacy config fields may be present
337
if (rope_scaling := getattr(config, "rope_scaling", None)) is not None:
338
config.rope_parameters = rope_scaling
339
if (
339
- rope_theta is not None or partial_rotary_factor is not None
340
+ rope_theta is not None
341
+ or partial_rotary_factor is not None
342
+ or ompe is not None
343
) and not getattr(config, "rope_parameters", None):
344
config.rope_parameters = {"rope_type": "default"}
345
+ # Patch legacy fields into rope_parameters
346
if rope_theta is not None:
347
config.rope_parameters["rope_theta"] = rope_theta
348
if partial_rotary_factor is not None:
349
config.rope_parameters["partial_rotary_factor"] = partial_rotary_factor
350
+ if ompe is not None:
351
+ config.rope_parameters["original_max_position_embeddings"] = ompe
352
elif rope_theta is not None or getattr(config, "rope_parameters", None):
353
# Transformers v5 installed
354
# Patch these fields in case they used non-standard names
@@ -358,10 +364,6 @@ def patch_rope_parameters(config: PretrainedConfig) -> None:
364
if getattr(config, "rope_parameters", None) is None:
365
return
366
361
- # Add original_max_position_embeddings if present
362
- if ompe := getattr(config, "original_max_position_embeddings", None):
363
- config.rope_parameters["original_max_position_embeddings"] = ompe
364
-
367
# Handle nested rope_parameters in interleaved sliding attention models
368
if is_rope_parameters_nested(config.rope_parameters):
369
for rope_parameters_layer_type in config.rope_parameters.values():