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 15, 09:45 UTC
[Bugfix] Fix MRoPE Errors in the Qwen-VL Model When Processing Pure Text (#18526)
Co-authored-by: 松灵 <wpf272043@alibaba-inc.com> Co-authored-by: Cyrus Leung <cyrus.tl.leung@gmail.com> Co-authored-by: DarkLight1337 <tlleungac@connect.ust.hk>
燃 committed
May 22, 2025 at 20:22 UTC
f6037d1907851323735fd181a0b4d3e7e79229a7
1 file changed
+4
-7
vllm/worker/model_runner.py
+4
-7
@@ -729,7 +729,10 @@ class ModelInputForGPUBuilder(ModelRunnerInputBuilderBase[ModelInputForGPU]):
729
mm_kwargs, placeholder_maps = MultiModalPlaceholderMap.from_seq_group(
730
seq_group_metadata,
731
range(positions[0], positions[0] + len(positions)))
732
- if not mm_kwargs:
732
+
733
+ # M-RoPE requires mrope_positions even for plain text; return early
734
+ # when mm_kwargs is empty only if inter_data.is_prompt is False.
735
+ if not mm_kwargs and not inter_data.is_prompt:
736
return
737
738
inter_data.multi_modal_kwargs = mm_kwargs
@@ -741,12 +744,6 @@ class ModelInputForGPUBuilder(ModelRunnerInputBuilderBase[ModelInputForGPU]):
744
video_grid_thw = mm_kwargs.get("video_grid_thw", None)
745
audio_feature_lengths = mm_kwargs.get("audio_feature_lengths",
746
None)
744
- assert (
745
- image_grid_thw is not None or video_grid_thw is not None
746
- or audio_feature_lengths is not None), (
747
- "mrope embedding type requires multi-modal input mapper "
748
- "returns 'image_grid_thw' or 'video_grid_thw' or "
749
- "'audio_feature_lengths'.")
747
748
second_per_grid_ts = mm_kwargs.get("second_per_grid_ts", None)
749
use_audio_in_video = mm_kwargs.get("use_audio_in_video", False)