Skip to content

Commit 6e43a2e

Browse files
BabyDrangonercodex
authored andcommitted
[Model] Skip unused Jina V5 output layers (vllm-project#52037)
Signed-off-by: kiroxu <148877251+BabyDrangoner@users.noreply.github.com> Co-authored-by: Codex <noreply@openai.com>
1 parent 7ec6f13 commit 6e43a2e

1 file changed

Lines changed: 21 additions & 3 deletions

File tree

vllm/model_executor/models/jina.py

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
from torch import nn
1212

1313
from vllm.config import VllmConfig
14+
from vllm.model_executor.layers.logits_processor import LogitsProcessor
15+
from vllm.model_executor.layers.vocab_parallel_embedding import ParallelLMHead
1416
from vllm.sequence import IntermediateTensors
1517
from vllm.tasks import PoolingTask
1618
from vllm.transformers_utils.repo_utils import get_hf_file_bytes
@@ -26,7 +28,13 @@
2628
from .interfaces_base import VllmModelForPooling
2729
from .llama import LlamaForCausalLM
2830
from .qwen3 import Qwen3ForCausalLM, Qwen3Model
29-
from .utils import AutoWeightsLoader, WeightsMapper, maybe_prefix
31+
from .utils import (
32+
AutoWeightsLoader,
33+
StageMissingLayer,
34+
WeightsMapper,
35+
maybe_prefix,
36+
no_init_weights,
37+
)
3038

3139
logger = logging.getLogger(__name__)
3240

@@ -267,7 +275,12 @@ class JinaEmbeddingsV5DecoderModel(Qwen3ForCausalLM, VllmModelForPooling):
267275
)
268276

269277
def __init__(self, *, vllm_config: VllmConfig, prefix: str = ""):
270-
super().__init__(vllm_config=vllm_config, prefix=prefix)
278+
with no_init_weights(
279+
self,
280+
lambda mod: StageMissingLayer("output", mod),
281+
targets=(LogitsProcessor, ParallelLMHead),
282+
):
283+
super().__init__(vllm_config=vllm_config, prefix=prefix)
271284
_setup_jina_v5_task_and_pooler(self, vllm_config)
272285

273286
def load_weights(self, weights: Iterable[tuple[str, torch.Tensor]]) -> set[str]:
@@ -289,7 +302,12 @@ class JinaEmbeddingsV5EncoderModel(LlamaForCausalLM, VllmModelForPooling):
289302
)
290303

291304
def __init__(self, *, vllm_config: VllmConfig, prefix: str = ""):
292-
super().__init__(vllm_config=vllm_config, prefix=prefix)
305+
with no_init_weights(
306+
self,
307+
lambda mod: StageMissingLayer("output", mod),
308+
targets=(LogitsProcessor, ParallelLMHead),
309+
):
310+
super().__init__(vllm_config=vllm_config, prefix=prefix)
293311
_setup_jina_v5_task_and_pooler(self, vllm_config)
294312

295313
def load_weights(self, weights: Iterable[tuple[str, torch.Tensor]]) -> set[str]:

0 commit comments

Comments
 (0)