|
12 | 12 | from vllm.logger import init_logger |
13 | 13 | from vllm.model_executor.layers.layernorm import GemmaRMSNorm |
14 | 14 | from vllm.model_executor.layers.sampler import SamplerOutput |
| 15 | +from vllm.model_executor.models.module_mapping import MultiModelKeys |
15 | 16 | from vllm.model_executor.sampling_metadata import SamplingMetadata |
16 | 17 | from vllm.multimodal import MULTIMODAL_REGISTRY |
17 | 18 | from vllm.multimodal.inputs import MultiModalFieldConfig, MultiModalKwargs |
|
23 | 24 | from vllm.multimodal.profiling import BaseDummyInputsBuilder, ProcessorInputs |
24 | 25 | from vllm.sequence import IntermediateTensors |
25 | 26 |
|
26 | | -from .interfaces import MultiModalEmbeddings, SupportsMultiModal, SupportsPP |
| 27 | +from .interfaces import (MultiModalEmbeddings, SupportsLoRA, |
| 28 | + SupportsMultiModal, SupportsPP) |
27 | 29 | from .siglip import SiglipVisionModel |
28 | 30 | from .utils import (AutoWeightsLoader, flatten_bn, init_vllm_registered_model, |
29 | 31 | maybe_prefix, merge_multimodal_embeddings) |
@@ -371,8 +373,8 @@ def forward(self, vision_outputs: torch.Tensor): |
371 | 373 | @MULTIMODAL_REGISTRY.register_processor(Gemma3MultiModalProcessor, |
372 | 374 | info=Gemma3ProcessingInfo, |
373 | 375 | dummy_inputs=Gemma3DummyInputsBuilder) |
374 | | -class Gemma3ForConditionalGeneration(nn.Module, SupportsMultiModal, |
375 | | - SupportsPP): |
| 376 | +class Gemma3ForConditionalGeneration(nn.Module, SupportsMultiModal, SupportsPP, |
| 377 | + SupportsLoRA): |
376 | 378 | packed_modules_mapping = { |
377 | 379 | "qkv_proj": [ |
378 | 380 | "q_proj", |
@@ -614,3 +616,12 @@ def load_weights(self, weights: Iterable[Tuple[str, |
614 | 616 | torch.Tensor]]) -> Set[str]: |
615 | 617 | loader = AutoWeightsLoader(self) |
616 | 618 | return loader.load_weights(weights) |
| 619 | + |
| 620 | + def get_mm_mapping(self) -> MultiModelKeys: |
| 621 | + """ |
| 622 | + Get the module prefix in multimodal models |
| 623 | + """ |
| 624 | + return MultiModelKeys.from_string_field( |
| 625 | + language_model="language_model", |
| 626 | + connector="multi_modal_projector", |
| 627 | + tower_model="vision_tower") |
0 commit comments