Skip to content

Commit 29d5b3d

Browse files
committed
apply to qwen2vl
1 parent 2bb709e commit 29d5b3d

6 files changed

Lines changed: 217 additions & 116 deletions

File tree

src/optimum/rbln/transformers/models/decoderonly/configuration_decoderonly.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ def __init__(
233233
self.logits_to_keep = logits_to_keep or self._default_logits_to_keep
234234
if self.logits_to_keep is not None and self.logits_to_keep > 1:
235235
raise NotImplementedError("`logits_to_keep` > 1 is currently not supported for RBLN models.")
236-
236+
237237
self.output_hidden_states = output_hidden_states or False
238238

239239
self.decoder_batch_sizes = None

src/optimum/rbln/transformers/models/qwen2_5_vl/configuration_qwen2_5_vl.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ class RBLNQwen2_5_VLModelConfig(RBLNDecoderOnlyModelConfig):
6060
"""
6161
Configuration class for RBLNQwen2_5_VLModel.
6262
"""
63+
6364
def __init__(self, visual: Optional[RBLNModelConfig] = None, **kwargs: Any):
6465
super().__init__(**kwargs)
6566
self.visual = self.initialize_submodule_config(submodule_config=visual)

src/optimum/rbln/transformers/models/qwen2_5_vl/modeling_qwen2_5_vl.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -352,19 +352,22 @@ class RBLNQwen2_5_VLModel(RBLNDecoderOnlyModel):
352352
_rbln_submodules = [
353353
{"name": "visual"},
354354
]
355+
_config_class = Qwen2_5_VLConfig
356+
_rotary_emb_class = Qwen2_5_VLRotaryEmbedding
357+
_get_rope_index_func = Qwen2_5_VLModel.get_rope_index
355358

356359
def __post_init__(self, **kwargs):
357360
if hasattr(self.config, "embedding_dim"):
358361
self.embedding_dim = self.config.embedding_dim
359362

360363
if not isinstance(self.config.text_config, PretrainedConfig):
361-
self.config = Qwen2_5_VLConfig(
364+
self.config = self._config_class(
362365
text_config=self.config.text_config, vision_config=self.config.vision_config
363366
)
364367

365368
super().__post_init__(**kwargs)
366369
self.visual = self.rbln_submodules[0]
367-
self.rotary_emb = Qwen2_5_VLRotaryEmbedding(self.config)
370+
self.rotary_emb = self._rotary_emb_class(self.config)
368371
if not self.can_generate():
369372
self.block_tables = torch.arange(self.rbln_config.kvcache_num_blocks, dtype=torch.int16)
370373

@@ -475,8 +478,7 @@ def _preprocess_prefill(
475478
vision_tokens = input_id[0][vision_start_indices + 1]
476479
image_nums = (vision_tokens == image_token_id).sum()
477480
video_nums = (vision_tokens == video_token_id).sum()
478-
position_ids, rope_deltas = Qwen2_5_VLModel.get_rope_index(
479-
self,
481+
position_ids, rope_deltas = self._get_rope_index_func(
480482
input_id,
481483
image_grid_thw[image_idx : image_idx + image_nums] if image_grid_thw is not None else None,
482484
video_grid_thw[video_idx : video_idx + video_nums] if video_grid_thw is not None else None,
@@ -723,7 +725,7 @@ def forward(
723725
)
724726
logits.append(output.logits)
725727
logits = torch.cat(logits, dim=0)
726-
# Decoder
728+
# Decoder
727729
else:
728730
inputs_embeds, position_embed = self._preprocess_decoder(input_ids, cache_position)
729731
output = self.decoder(

src/optimum/rbln/transformers/models/qwen2_5_vl/qwen2_5_vl_architecture.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,8 +171,8 @@ def prepare_forward_args(self, *args):
171171
position_embeds = args.pop(0)
172172
query_position = args.pop(0) if self.phase == "prefill" and self.rbln_config.logits_to_keep > 0 else None
173173
position_ids = None
174-
lora_int_id = None
175174
attention_mask = args.pop(0) if self.rbln_config.use_attention_mask else None
175+
lora_int_id = args.pop(0) if self.rbln_config.lora_config else None
176176
past_key_values = args
177177

178178
if len(past_key_values) != 2 * self.num_hidden_layers:
@@ -202,4 +202,4 @@ def prepare_forward_args(self, *args):
202202
lora_int_id,
203203
past_key_values,
204204
position_embeds,
205-
)
205+
)

0 commit comments

Comments
 (0)