optimum-rbln 0.8.1a1__py3-none-any.whl → 0.8.1a2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '0.8.1a1'
21
- __version_tuple__ = version_tuple = (0, 8, 1, 'a1')
20
+ __version__ = version = '0.8.1a2'
21
+ __version_tuple__ = version_tuple = (0, 8, 1, 'a2')
@@ -48,10 +48,13 @@ def _compute_default_rope_parameters(
48
48
  Tuple of (`torch.Tensor`, `float`), containing the inverse frequencies for the RoPE embeddings and the
49
49
  post-processing scaling factor applied to the computed cos/sin (unused in this type of RoPE).
50
50
  """
51
-
52
51
  base = config.rope_theta
53
52
  partial_rotary_factor = config.partial_rotary_factor if hasattr(config, "partial_rotary_factor") else 1.0
54
- head_dim = getattr(config, "head_dim", None) or config.hidden_size // config.num_attention_heads
53
+ head_dim = (
54
+ config.head_dim
55
+ if hasattr(config, "head_dim") and config.head_dim is not None
56
+ else config.hidden_size // config.num_attention_heads
57
+ )
55
58
  dim = int(head_dim * partial_rotary_factor)
56
59
 
57
60
  attention_factor = 1.0 # Unused in this type of RoPE
@@ -167,6 +167,11 @@ class _BaseAutoModelClass:
167
167
  rbln_cls = cls.get_rbln_cls(model_id, *args, **kwargs)
168
168
  return rbln_cls.from_pretrained(model_id, *args, **kwargs)
169
169
 
170
+ @classmethod
171
+ def from_model(cls, model, *args, **kwargs):
172
+ rbln_cls = get_rbln_model_cls(f"RBLN{model.__class__.__name__}")
173
+ return rbln_cls.from_model(model, *args, **kwargs)
174
+
170
175
  @staticmethod
171
176
  def register(rbln_cls: Type[RBLNBaseModel], exist_ok=False):
172
177
  """
@@ -22,6 +22,7 @@ from transformers.modeling_attn_mask_utils import (
22
22
  from transformers.utils import logging
23
23
 
24
24
  from ..seq2seq.seq2seq_architecture import (
25
+ Seq2SeqCrossAttention,
25
26
  Seq2SeqDecoder,
26
27
  Seq2SeqDecoderLayer,
27
28
  Seq2SeqDecoderWrapper,
@@ -45,7 +46,8 @@ class BartDecoderWrapper(Seq2SeqDecoderWrapper):
45
46
  new_layers = []
46
47
  for layer in model.get_decoder().layers:
47
48
  self_attn = BartSelfAttention(layer.self_attn, use_attention_mask=self.use_attention_mask)
48
- new_layers.append(BartDecoderLayer(layer, self_attn))
49
+ cross_attn = BartCrossAttention(layer.encoder_attn)
50
+ new_layers.append(BartDecoderLayer(layer, self_attn, cross_attn))
49
51
 
50
52
  decoder_model = BartDecoder(model.get_decoder(), new_layers)
51
53
  new_model = BartForConditionalGeneration(model, decoder_model)
@@ -153,3 +155,14 @@ class BartSelfAttention(Seq2SeqSelfAttention):
153
155
  key_states = self.k_proj(hidden_states)
154
156
  value_states = self.v_proj(hidden_states)
155
157
  return query_states, key_states, value_states
158
+
159
+
160
+ class BartCrossAttention(Seq2SeqCrossAttention):
161
+ def __post_init__(self):
162
+ self.q_proj = self._original_mod.q_proj
163
+ self.k_proj = self._original_mod.k_proj
164
+ self.v_proj = self._original_mod.v_proj
165
+ self.out_proj = self._original_mod.out_proj
166
+ self.num_heads = self._original_mod.num_heads
167
+ self.head_dim = self._original_mod.embed_dim // self._original_mod.num_heads
168
+ self.embed_dim = self._original_mod.embed_dim
@@ -13,7 +13,11 @@
13
13
  # limitations under the License.
14
14
 
15
15
 
16
+ import inspect
17
+ from typing import Any, Callable
18
+
16
19
  from transformers import AutoModelForCausalLM
20
+ from transformers.generation.utils import GenerationMixin
17
21
 
18
22
  from ....utils import logging
19
23
  from ..decoderonly import RBLNDecoderOnlyModelForCausalLM
@@ -85,8 +89,19 @@ class RBLNExaoneForCausalLM(RBLNDecoderOnlyModelForCausalLM):
85
89
 
86
90
  _decoder_wrapper_cls = ExaoneForCausalLMWrapper
87
91
  _hf_class = AutoModelForCausalLM
92
+ _supports_cache_class = True
88
93
 
89
94
  @classmethod
90
95
  def from_pretrained(cls, *args, **kwargs):
91
96
  kwargs.setdefault("trust_remote_code", True)
92
97
  return super().from_pretrained(*args, **kwargs)
98
+
99
+ def __getattr__(self, __name: str) -> Any:
100
+ def redirect(func):
101
+ return lambda *pargs, **kwargs: func(self, *pargs, **kwargs)
102
+
103
+ val = getattr(GenerationMixin, __name)
104
+
105
+ if isinstance(val, Callable) and "self" in set(inspect.signature(val).parameters):
106
+ return redirect(val)
107
+ return val
@@ -11,6 +11,7 @@
11
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
+ import importlib
14
15
  import inspect
15
16
  from collections import deque
16
17
  from dataclasses import dataclass
@@ -123,6 +124,23 @@ class RBLNGemma3ForConditionalGeneration(RBLNModel):
123
124
  def can_generate(self):
124
125
  return True
125
126
 
127
+ @classmethod
128
+ def get_pytorch_model(cls, *args, **kwargs):
129
+ model = super().get_pytorch_model(*args, **kwargs)
130
+
131
+ with no_init_weights():
132
+ model_cls_name = model.model.language_model.__class__.__name__
133
+ causal_model_cls_name = model_cls_name.replace("TextModel", "ForCausalLM")
134
+ causal_model_cls = getattr(importlib.import_module("transformers"), causal_model_cls_name)
135
+ new_language_model = causal_model_cls(model.model.language_model.config)
136
+
137
+ new_language_model.lm_head = model.lm_head
138
+ new_language_model.model = model.model.language_model
139
+ model.model.language_model = new_language_model
140
+ model.lm_head = None
141
+ del model.lm_head
142
+ return model
143
+
126
144
  def __post_init__(self, **kwargs):
127
145
  self.vision_tower = LoopVisionTower(self.rbln_submodules[0])
128
146
  self.language_model = self.rbln_submodules[1]
@@ -168,7 +168,6 @@ class RBLNLlavaNextForConditionalGeneration(RBLNModel):
168
168
  ):
169
169
  # If you are unavoidably running on a CPU rather than an RBLN device,
170
170
  # store the torch tensor, weight, etc. in this function.
171
-
172
171
  save_dict = {}
173
172
  save_dict["image_newline"] = model.image_newline
174
173
  torch.save(save_dict, save_dir_path / subfolder / "torch_artifacts.pth")
@@ -12,7 +12,11 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ import inspect
16
+ from typing import Any, Callable
17
+
15
18
  from transformers import AutoModelForCausalLM
19
+ from transformers.generation.utils import GenerationMixin
16
20
 
17
21
  from ....utils import logging
18
22
  from ..decoderonly import RBLNDecoderOnlyModelForCausalLM
@@ -84,8 +88,19 @@ class RBLNMidmLMHeadModel(RBLNDecoderOnlyModelForCausalLM):
84
88
 
85
89
  _decoder_wrapper_cls = MidmLMHeadModelWrapper
86
90
  _hf_class = AutoModelForCausalLM
91
+ _supports_cache_class = True
87
92
 
88
93
  @classmethod
89
94
  def from_pretrained(cls, *args, **kwargs):
90
95
  kwargs.setdefault("trust_remote_code", True)
91
96
  return super().from_pretrained(*args, **kwargs)
97
+
98
+ def __getattr__(self, __name: str) -> Any:
99
+ def redirect(func):
100
+ return lambda *pargs, **kwargs: func(self, *pargs, **kwargs)
101
+
102
+ val = getattr(GenerationMixin, __name)
103
+
104
+ if isinstance(val, Callable) and "self" in set(inspect.signature(val).parameters):
105
+ return redirect(val)
106
+ return val
@@ -28,6 +28,7 @@ from transformers.models.qwen2_5_vl.modeling_qwen2_5_vl import (
28
28
  Qwen2_5_VisionPatchEmbed,
29
29
  Qwen2_5_VisionRotaryEmbedding,
30
30
  Qwen2_5_VisionTransformerPretrainedModel,
31
+ Qwen2_5_VLModel,
31
32
  Qwen2_5_VLRotaryEmbedding,
32
33
  )
33
34
 
@@ -390,6 +391,14 @@ class RBLNQwen2_5_VLForConditionalGeneration(RBLNDecoderOnlyModelForCausalLM):
390
391
  def can_generate(self):
391
392
  return True
392
393
 
394
+ @classmethod
395
+ def get_pytorch_model(cls, *args, **kwargs):
396
+ model = super().get_pytorch_model(*args, **kwargs)
397
+ model.model.lm_head = model.lm_head
398
+ model.lm_head = None
399
+ del model.lm_head
400
+ return model
401
+
393
402
  @classmethod
394
403
  def update_kwargs(cls, kwargs):
395
404
  kwargs.update(
@@ -531,7 +540,8 @@ class RBLNQwen2_5_VLForConditionalGeneration(RBLNDecoderOnlyModelForCausalLM):
531
540
  vision_tokens = input_id[0][vision_start_indices + 1]
532
541
  image_nums = (vision_tokens == image_token_id).sum()
533
542
  video_nums = (vision_tokens == video_token_id).sum()
534
- position_ids, rope_deltas = self.get_rope_index(
543
+ position_ids, rope_deltas = Qwen2_5_VLModel.get_rope_index(
544
+ self,
535
545
  input_id,
536
546
  image_grid_thw[image_idx : image_idx + image_nums] if image_grid_thw is not None else None,
537
547
  video_grid_thw[video_idx : video_idx + video_nums] if video_grid_thw is not None else None,
@@ -3,8 +3,14 @@ from typing import Tuple
3
3
 
4
4
  import torch
5
5
  import torch.nn as nn
6
+ from transformers import PreTrainedModel
6
7
 
7
8
  from ..decoderonly.decoderonly_architecture import (
9
+ DecoderOnlyAttention,
10
+ DecoderOnlyFlashAttention,
11
+ DecoderOnlyForCausalLM,
12
+ DecoderOnlyLayer,
13
+ DecoderOnlyModel,
8
14
  DecoderOnlyWrapper,
9
15
  apply_rotary_pos_emb,
10
16
  )
@@ -197,3 +203,40 @@ class Qwen2_5_VL_LanguageModelWrapper(DecoderOnlyWrapper):
197
203
  past_key_values,
198
204
  position_embeds,
199
205
  )
206
+
207
+ def convert_to_rbln_causal_lm(self, causal_lm: PreTrainedModel, max_seq_len: int):
208
+ new_layers = []
209
+
210
+ for layer in causal_lm.model.language_model.layers:
211
+ if self.attn_impl == "eager":
212
+ new_self_attn = DecoderOnlyAttention(
213
+ layer.self_attn,
214
+ self.use_attention_mask,
215
+ self.use_position_ids,
216
+ kvcache_block_size=self.kvcache_block_size,
217
+ )
218
+ elif self.attn_impl == "flash_attn":
219
+ new_self_attn = DecoderOnlyFlashAttention(
220
+ layer.self_attn,
221
+ kvcache_partition_len=self.kvcache_partition_len,
222
+ kvcache_block_size=self.kvcache_block_size,
223
+ use_attention_mask=self.use_attention_mask,
224
+ use_position_ids=self.use_position_ids,
225
+ )
226
+ else:
227
+ raise NotImplementedError(f"Unknwon attn : {self.attn_impl}")
228
+
229
+ new_layer = DecoderOnlyLayer(layer, new_self_attn)
230
+ new_layers.append(new_layer)
231
+
232
+ new_model = DecoderOnlyModel(
233
+ causal_lm.model.language_model,
234
+ new_layers,
235
+ partition_len=self.kvcache_partition_len,
236
+ max_seq_len=max_seq_len,
237
+ kvcache_block_size=self.kvcache_block_size,
238
+ use_learned_pos_emb=self.use_learned_pos_emb,
239
+ sliding_window_layers=self.sliding_window_layers,
240
+ )
241
+ new_causal_lm = DecoderOnlyForCausalLM(causal_lm.model, new_model)
242
+ return new_causal_lm
@@ -148,7 +148,8 @@ class Seq2SeqDecoderWrapper(nn.Module):
148
148
  new_layers = []
149
149
  for layer in model.get_decoder().layers:
150
150
  self_attn = Seq2SeqSelfAttention(layer.self_attn)
151
- new_layers.append(Seq2SeqDecoderLayer(layer, self_attn))
151
+ cross_attn = Seq2SeqCrossAttention(layer.encoder_attn)
152
+ new_layers.append(Seq2SeqDecoderLayer(layer, self_attn, cross_attn))
152
153
 
153
154
  decoder_model = Seq2SeqDecoder(model.get_decoder(), new_layers)
154
155
  new_model = Seq2SeqForConditionalGeneration(model, decoder_model)
@@ -341,10 +342,11 @@ class Seq2SeqDecoderLayer(torch.nn.Module):
341
342
  self_attn (Seq2SeqSelfAttention): Modified self-attention layer optimized for RBLN
342
343
  """
343
344
 
344
- def __init__(self, decoder_layer, self_attn):
345
+ def __init__(self, decoder_layer, self_attn, cross_attn):
345
346
  super().__init__()
346
347
  self._original_mod = decoder_layer
347
348
  self.self_attn = self_attn
349
+ self.cross_attn = cross_attn
348
350
  self.__post_init__()
349
351
 
350
352
  def __post_init__(self, **kwargs):
@@ -402,7 +404,8 @@ class Seq2SeqDecoderLayer(torch.nn.Module):
402
404
  # Cross-Attention Block
403
405
  residual = hidden_states
404
406
  hidden_states = self.pre_cross_attn_layer_norm(hidden_states)
405
- cross_attn_output = self.encoder_attn(
407
+
408
+ cross_attn_output = self.cross_attn(
406
409
  hidden_states=hidden_states,
407
410
  past_key_value=cross_past_key_value,
408
411
  attention_mask=encoder_attention_mask,
@@ -487,3 +490,38 @@ class Seq2SeqSelfAttention(nn.Module):
487
490
  attn_output = self.out_proj(attn_output)
488
491
 
489
492
  return attn_output
493
+
494
+
495
+ class Seq2SeqCrossAttention(nn.Module):
496
+ def __init__(self, attn, **kwargs):
497
+ super().__init__()
498
+ self._original_mod = attn
499
+ self.__post_init__(**kwargs)
500
+
501
+ def forward(
502
+ self,
503
+ hidden_states: torch.Tensor,
504
+ key_value_states: torch.Tensor = None,
505
+ past_key_value: Optional[object] = None,
506
+ attention_mask: Optional[torch.Tensor] = None,
507
+ ):
508
+ bsz, tgt_len, _ = hidden_states.size()
509
+ query_states = self.q_proj(hidden_states).view(bsz, -1, self.num_heads, self.head_dim).transpose(1, 2)
510
+
511
+ is_cross_attention = key_value_states is not None
512
+ if is_cross_attention:
513
+ key_states = past_key_value[0]
514
+ value_states = past_key_value[1]
515
+
516
+ attn_output = torch.nn.functional.scaled_dot_product_attention(
517
+ query_states,
518
+ key_states,
519
+ value_states,
520
+ attn_mask=attention_mask,
521
+ )
522
+
523
+ attn_output = attn_output.transpose(1, 2).contiguous()
524
+ attn_output = attn_output.view(bsz, tgt_len, self.embed_dim)
525
+ attn_output = self.out_proj(attn_output)
526
+
527
+ return attn_output, None, past_key_value
@@ -136,10 +136,14 @@ class T5Decoder(Seq2SeqDecoder):
136
136
 
137
137
 
138
138
  class T5Block(Seq2SeqDecoderLayer):
139
+ def __init__(self, decoder_layer, self_attn):
140
+ super().__init__(decoder_layer, self_attn, cross_attn=None)
141
+ self.__post_init__()
142
+
139
143
  def __post_init__(self):
140
144
  self.self_attn_layer_norm = self._original_mod.layer[0].layer_norm
141
145
  self.encoder_attn_layer_norm = self._original_mod.layer[1].layer_norm
142
- self.encoder_attn = T5CrossAttention(self._original_mod.layer[1].EncDecAttention)
146
+ self.cross_attn = T5CrossAttention(self._original_mod.layer[1].EncDecAttention)
143
147
  self.ff_layer = self._original_mod.layer[2]
144
148
 
145
149
  def pre_self_attn_layer_norm(self, hidden_states):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: optimum-rbln
3
- Version: 0.8.1a1
3
+ Version: 0.8.1a2
4
4
  Summary: Optimum RBLN is the interface between the HuggingFace Transformers and Diffusers libraries and RBLN accelerators. It provides a set of tools enabling easy model loading and inference on single and multiple rbln device settings for different downstream tasks.
5
5
  Project-URL: Homepage, https://rebellions.ai
6
6
  Project-URL: Documentation, https://docs.rbln.ai
@@ -28,7 +28,7 @@ Requires-Dist: packaging>=24.1
28
28
  Requires-Dist: torch==2.6.0
29
29
  Requires-Dist: torchaudio<=2.6.0
30
30
  Requires-Dist: torchvision<=0.21.0
31
- Requires-Dist: transformers==4.50.3
31
+ Requires-Dist: transformers==4.51.3
32
32
  Description-Content-Type: text/markdown
33
33
 
34
34
 
@@ -1,5 +1,5 @@
1
1
  optimum/rbln/__init__.py,sha256=qJJTumXhoFnawXGpeGJbAm4J4A9FFwD1SQ2MqcKDXoM,14436
2
- optimum/rbln/__version__.py,sha256=Cr1VHmCmATBTdzggODEP9AOXlbrVmrnrzDpRkmuoeYw,519
2
+ optimum/rbln/__version__.py,sha256=shHuZmlC1NNfixc5X-chXIonN-Rp-nB4KxJDhJNxa3k,519
3
3
  optimum/rbln/configuration_utils.py,sha256=o5oer7fBdE-MHLGNXoP35FjmuQbMmjEIDv0QE_k3kpo,32336
4
4
  optimum/rbln/modeling.py,sha256=ZlJ_tOCWiFjDIlwJ_B_HOCO0kBduWrBAbW9VSEVIAFg,12088
5
5
  optimum/rbln/modeling_base.py,sha256=5fUb1FaxfjApzJIkT8-SrPhuygGo_1Uc0i7UedawOeE,23393
@@ -64,16 +64,16 @@ optimum/rbln/ops/sliding_window_attn.py,sha256=EQrV_yRGc5z6kvwEsAcLP028bJWkQg2UP
64
64
  optimum/rbln/transformers/__init__.py,sha256=fE-kzDnWj0ueAG-xDrIKdBX59wCE__8m86uBMBOEb9g,9031
65
65
  optimum/rbln/transformers/configuration_generic.py,sha256=kNhPWtzF0IovUnrsXfxXdXITqgpfCAAedjfB6jSAhEg,5131
66
66
  optimum/rbln/transformers/modeling_generic.py,sha256=u1JzjWcPsQgH_rqBzRVr582NARqOk7XVKgY4CdEfXe8,12228
67
- optimum/rbln/transformers/modeling_rope_utils.py,sha256=t2tufkqFdG_itmyv-sIPYgvXpYzKeJ1F3ciyDFhvlPg,14301
67
+ optimum/rbln/transformers/modeling_rope_utils.py,sha256=6Zg3r-TeUk4WQAlr95pqfhuoAD_RQ4njT1rbO9uPL0Q,14379
68
68
  optimum/rbln/transformers/models/__init__.py,sha256=-rc_00p4d58cdM2ylmgURxoAGKgIRF7X7r6z1w6h3mo,10061
69
69
  optimum/rbln/transformers/models/audio_spectrogram_transformer/__init__.py,sha256=I2vL4lrzbT5p4eJcH-EKHzEfcPkj_XVsie7jb9q6yic,775
70
70
  optimum/rbln/transformers/models/audio_spectrogram_transformer/configuration_audio_spectrogram_transformer.py,sha256=z7LJiVJPmnlCM3mcyhPJP8AufSrxO_dsPeJ51onq-Nc,833
71
71
  optimum/rbln/transformers/models/audio_spectrogram_transformer/modeling_audio_spectrogram_transformer.py,sha256=FIKEVWpIt6-JQX9B_rAfCrAPqdUHtR2i8D_X2k7639E,1498
72
72
  optimum/rbln/transformers/models/auto/__init__.py,sha256=34Xghf1ogG4u-jhBMlj134nHdgnR3JEHSeZTPuy3MpY,1071
73
- optimum/rbln/transformers/models/auto/auto_factory.py,sha256=GOcx4bDX41P08dbwRYSpuQqu2-9blQf6Z1tLZkkAPyw,7821
73
+ optimum/rbln/transformers/models/auto/auto_factory.py,sha256=1CA52xV2dS1Uzumcgqe4zobdpoi-Xt2oNjP3uLFtm08,8020
74
74
  optimum/rbln/transformers/models/auto/modeling_auto.py,sha256=Ex2ARRRIt3LtKhazr0UWy67R6WFAwSKRoi5n6B8TvoI,4213
75
75
  optimum/rbln/transformers/models/bart/__init__.py,sha256=fVo-gZEmJ0yxkIxEX6ciuRAGgXNyuvaXE2s88bhbjAE,830
76
- optimum/rbln/transformers/models/bart/bart_architecture.py,sha256=Oo-Cdne7igKEex8wwP-gztKJHgs5GLHQjK1oc3IZIDE,5801
76
+ optimum/rbln/transformers/models/bart/bart_architecture.py,sha256=oxb3l0lw0qrnbeQxT-R3c0OH4IEp7UzEp2Iz_jhZe_Q,6373
77
77
  optimum/rbln/transformers/models/bart/configuration_bart.py,sha256=iIuotDRU0IZteTNUY97jnsecIEYokaJ0BF5Sv_MJk00,909
78
78
  optimum/rbln/transformers/models/bart/modeling_bart.py,sha256=q42gQ42Ldkfrw_rv0__7dFQEM8UYfKEMCYd6Z-vg9KQ,1918
79
79
  optimum/rbln/transformers/models/bert/__init__.py,sha256=86FuGRBLw315_Roa9D5OUx6Ku2PM0DqSPZ-YSqbF-io,806
@@ -98,7 +98,7 @@ optimum/rbln/transformers/models/dpt/modeling_dpt.py,sha256=oKLX7MQZvfk1QB8wOtcd
98
98
  optimum/rbln/transformers/models/exaone/__init__.py,sha256=eUL0mq3yGVzCQfjLlOtVF2MecIN3DQWm07EmXubGSTs,921
99
99
  optimum/rbln/transformers/models/exaone/configuration_exaone.py,sha256=S4s4kJemPbmn-otYv-XNHE40DJaEYY6cmzaWV6MTGsY,1388
100
100
  optimum/rbln/transformers/models/exaone/exaone_architecture.py,sha256=-gCUDIJ1SJqNgIALJejJ75XPtAkd83oyomBke9xGRsc,3610
101
- optimum/rbln/transformers/models/exaone/modeling_exaone.py,sha256=V2OIrvZcJi8tpmwpQYFWYaMhZtCNr8LJ18ZpSzIle-A,3448
101
+ optimum/rbln/transformers/models/exaone/modeling_exaone.py,sha256=sr_ICK-rw_fYmLY5r0IOc-vDtSZEcSwFIQp3Gn92zqE,3929
102
102
  optimum/rbln/transformers/models/gemma/__init__.py,sha256=VqPIlokw3kjn_ZoLXINCLXw3vaysQFo5oPGGy6bnt4Q,708
103
103
  optimum/rbln/transformers/models/gemma/configuration_gemma.py,sha256=3hAxl7LL9vFpCHrs-g3BwVDdVjnnJ-fzSO88wdfyGDQ,1361
104
104
  optimum/rbln/transformers/models/gemma/gemma_architecture.py,sha256=I9EyRIEtMw9u7HhSa8PqUco4uNe3gl6_lx0r1uDT8hA,2546
@@ -106,7 +106,7 @@ optimum/rbln/transformers/models/gemma/modeling_gemma.py,sha256=Ojvum34EhDHWfMB4
106
106
  optimum/rbln/transformers/models/gemma3/__init__.py,sha256=6rugk3615SEt4lh7gduo_J9VyGiSReuEIvL0Uno0eaI,790
107
107
  optimum/rbln/transformers/models/gemma3/configuration_gemma3.py,sha256=eupMGTHJGJNNrAZ3GE6M6GQBAQzBb7KFJvalyDmbM-A,3063
108
108
  optimum/rbln/transformers/models/gemma3/gemma3_architecture.py,sha256=sgFQQbvEr15tb2Sxk_tgcgQFcjhKGbNSW6fm2u7-Vck,8609
109
- optimum/rbln/transformers/models/gemma3/modeling_gemma3.py,sha256=tfaXdTheZFiwRT-lI16GfCwxcHk-mD2F4523EWKGQ-g,38711
109
+ optimum/rbln/transformers/models/gemma3/modeling_gemma3.py,sha256=BjICf2xmiUKGkraoGmkTRMIpgqjHrBCiJxc4XgeQw9I,39483
110
110
  optimum/rbln/transformers/models/gpt2/__init__.py,sha256=socBMIBZSiLbrVN12rQ4nL9gFeT0axMgz6SWaCaD4Ac,704
111
111
  optimum/rbln/transformers/models/gpt2/configuration_gpt2.py,sha256=9sS6-EGapmow3rG9ViejK9qwrqy_X86VBxQ7u9x0Yqk,923
112
112
  optimum/rbln/transformers/models/gpt2/gpt2_architecture.py,sha256=pnGgixjgjW7HULbs5211cC2guw_4e4-MlS69vdCRMMg,3206
@@ -120,11 +120,11 @@ optimum/rbln/transformers/models/llama/llama_architecture.py,sha256=S7MCPfyjG5eU
120
120
  optimum/rbln/transformers/models/llama/modeling_llama.py,sha256=G91Yd8BfhiD8GT5bF46ZIHuc-ajGC-PO-mOQN3BhE1A,3122
121
121
  optimum/rbln/transformers/models/llava_next/__init__.py,sha256=kDXKr7wMkp1XqE__DER2B8kQF_NYMxhzsQS5ytGg56I,752
122
122
  optimum/rbln/transformers/models/llava_next/configuration_llava_next.py,sha256=a_Hg4_AN9rCbKvg53CpTPKIHY1IZuVl23b0GDQMgL3I,1865
123
- optimum/rbln/transformers/models/llava_next/modeling_llava_next.py,sha256=5xoySMVL5Zg7AN-USENHDW0kUkjoFg8CpSX9L4-MNvg,27422
123
+ optimum/rbln/transformers/models/llava_next/modeling_llava_next.py,sha256=paYtCk58--FSZp8xjVrfZAxkJxO02X-jxaVPqL-l7ZU,27421
124
124
  optimum/rbln/transformers/models/midm/__init__.py,sha256=IC3FETwgYinbp3wDj7tp4zIHJhbqM-c6GfTRdYcMNj8,913
125
125
  optimum/rbln/transformers/models/midm/configuration_midm.py,sha256=DxhcSJlApxfi00XxYmSkKZ6bY9vfLXT0zh-oMKkZot0,1365
126
126
  optimum/rbln/transformers/models/midm/midm_architecture.py,sha256=XXY_uDGkXeVQnKpmSWrgljgxtSdTgLLFLfMqtZdRJdM,5642
127
- optimum/rbln/transformers/models/midm/modeling_midm.py,sha256=6reJLwXkxni1QCa2kombDsDg9IcKios0MmVOfbwAb_I,3395
127
+ optimum/rbln/transformers/models/midm/modeling_midm.py,sha256=zbziYZ3f_dX_MOLwORTfJn22psZ1g3FFeQffM_TIh7A,3876
128
128
  optimum/rbln/transformers/models/mistral/__init__.py,sha256=9FE64bCYfSIyrBkRcwlqF8QyacSJFWvwEufHFi1ZIrM,716
129
129
  optimum/rbln/transformers/models/mistral/configuration_mistral.py,sha256=pMYJSwqmtx0uD2uExHx4S-JXal9rqQ5A2ulT2IoglTg,1383
130
130
  optimum/rbln/transformers/models/mistral/mistral_architecture.py,sha256=_aU8TE_tdvfo0K7QpgTlz_d0qwk4O82dl9268lPL16E,733
@@ -143,8 +143,8 @@ optimum/rbln/transformers/models/qwen2/modeling_qwen2.py,sha256=OKd7SXQLLtzPVolr
143
143
  optimum/rbln/transformers/models/qwen2/qwen2_architecture.py,sha256=XlNAMYAcDLohnSAhIFGKOPuCB5XLgzYs5ABWdeQSaZs,720
144
144
  optimum/rbln/transformers/models/qwen2_5_vl/__init__.py,sha256=rAW3DKQUzGL6EMwa5r1iLu94yhpiZpk6zfoD7TtYXrc,865
145
145
  optimum/rbln/transformers/models/qwen2_5_vl/configuration_qwen2_5_vl.py,sha256=U3ngIfkA58itqQZqTf-gbISMPoV7ipDttI7V2uwK_18,4155
146
- optimum/rbln/transformers/models/qwen2_5_vl/modeling_qwen2_5_vl.py,sha256=Q4U-avMkby-CunNXEERqvRZx9duC5i-6UmfF1376ciU,26336
147
- optimum/rbln/transformers/models/qwen2_5_vl/qwen2_5_vl_architecture.py,sha256=PAQz__9o_f5phlozhhXAB8JErBlS1jc4FYZkZkSYJuI,7312
146
+ optimum/rbln/transformers/models/qwen2_5_vl/modeling_qwen2_5_vl.py,sha256=x14mGDbCGVFNTw3yXoRJ70W6U5wAlIe_lxqk190P3z4,26636
147
+ optimum/rbln/transformers/models/qwen2_5_vl/qwen2_5_vl_architecture.py,sha256=G7zAMC2FSqz1dYisBUmBJF5hkyueaOrJSI2gD3nLvCQ,9068
148
148
  optimum/rbln/transformers/models/resnet/__init__.py,sha256=0QqtEQF1IMYgEmmfXMGarCDS8kJB5tzODfwTEzDVZRg,837
149
149
  optimum/rbln/transformers/models/resnet/configuration_resnet.py,sha256=KQd887jgNOl_Am3b407P2OvKtzkkeBS1cEhCfiN0tJg,769
150
150
  optimum/rbln/transformers/models/resnet/modeling_resnet.py,sha256=E8vg3Rw_KsHt6vaOg0ungZD7sXe0T4OMP0X8NFG1EXI,816
@@ -154,14 +154,14 @@ optimum/rbln/transformers/models/roberta/modeling_roberta.py,sha256=j2bTGwFFQhzp
154
154
  optimum/rbln/transformers/models/seq2seq/__init__.py,sha256=HiSyWFcKeZ8okfo-s-_Mf_upyvAoZwraUIJyGNLNurY,714
155
155
  optimum/rbln/transformers/models/seq2seq/configuration_seq2seq.py,sha256=lOLCGd9sv4N2fYsJmbf4eFPMpI5NFtA656qCEjpfulE,2651
156
156
  optimum/rbln/transformers/models/seq2seq/modeling_seq2seq.py,sha256=hxdsZMmsWFa10WoMleMvp9F0VjlFSwazWL5aKwM7_Xg,16979
157
- optimum/rbln/transformers/models/seq2seq/seq2seq_architecture.py,sha256=i2YXcusNvWjqYmS3ZvrWJiilovKIlfozB92fqDrtwq8,18729
157
+ optimum/rbln/transformers/models/seq2seq/seq2seq_architecture.py,sha256=4MupGjhe_DpBLl43VVYY72WWiVdAr0mRPp8cHalQh2w,20028
158
158
  optimum/rbln/transformers/models/siglip/__init__.py,sha256=39MdhvWLZU0_9julQtJYVEiWI4csPrryS9krMauEA3s,730
159
159
  optimum/rbln/transformers/models/siglip/configuration_siglip.py,sha256=fXL4g985oeoH_aGHKXt_6YTEj8aAG_aGiGewZBDsAY0,2805
160
160
  optimum/rbln/transformers/models/siglip/modeling_siglip.py,sha256=se74bZTSTjqcV5UoBowSHVUTrE6CapoEcqgzqMs7Q9Y,7827
161
161
  optimum/rbln/transformers/models/t5/__init__.py,sha256=R1Q8Z1vaIdx4rDjeCmm_ZMSgewWaqaI0l93AHwewtew,818
162
162
  optimum/rbln/transformers/models/t5/configuration_t5.py,sha256=cOa2NAAocNSSECTtLpOsVVLfn4-7l7K7jz3nf6CSNCs,912
163
163
  optimum/rbln/transformers/models/t5/modeling_t5.py,sha256=SasIteIdpM-7TG6iPiRVlchd_3jaG7phFvdQJ_3VXjo,4924
164
- optimum/rbln/transformers/models/t5/t5_architecture.py,sha256=YdFOr8LfBhEXuPsLZDfYjmUSI-a3Otrzye1bOf8NUyw,9678
164
+ optimum/rbln/transformers/models/t5/t5_architecture.py,sha256=X_9X4QRhkiiMrwFHv3mzER3yGmF9oQ2U-HdH6jbwVmw,9824
165
165
  optimum/rbln/transformers/models/time_series_transformer/__init__.py,sha256=xJaFWQawlwtv4H5tVFcY1pxLYzjHtMAlLq6nXysdkN8,1243
166
166
  optimum/rbln/transformers/models/time_series_transformer/configuration_time_series_transformer.py,sha256=FCzESVMNtpJ4Me-Vxr4i-naUfiR3S7YXWH_szLuoYeA,1390
167
167
  optimum/rbln/transformers/models/time_series_transformer/modeling_time_series_transformer.py,sha256=SJI1mgAWPfDWqptGBSddFuuVtWfONbIUo2_akGS7POA,17058
@@ -191,7 +191,7 @@ optimum/rbln/utils/model_utils.py,sha256=4k5879Kh75m3x_vS4-qOGfqsOiAvc2kdNFFfvsF
191
191
  optimum/rbln/utils/runtime_utils.py,sha256=LoKNK3AQNV_BSScstIZWjICkJf265MnUgy360BOocVI,5454
192
192
  optimum/rbln/utils/save_utils.py,sha256=hG5uOtYmecSXZuGTvCXsTM-SiyZpr5q3InUGCCq_jzQ,3619
193
193
  optimum/rbln/utils/submodule.py,sha256=w5mgPgncI740gVKMu3S-69DGNdUSI0bTZxegQGcZ98Y,5011
194
- optimum_rbln-0.8.1a1.dist-info/METADATA,sha256=HQbfacbOwIQ-KC327DSNRdT5-NYQoUqxHik2DnjuHyc,5299
195
- optimum_rbln-0.8.1a1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
196
- optimum_rbln-0.8.1a1.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
197
- optimum_rbln-0.8.1a1.dist-info/RECORD,,
194
+ optimum_rbln-0.8.1a2.dist-info/METADATA,sha256=qiUSuqA0Rledv8xJhhmMT4DgtLU-wPUuvDXnyGv78CY,5299
195
+ optimum_rbln-0.8.1a2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
196
+ optimum_rbln-0.8.1a2.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
197
+ optimum_rbln-0.8.1a2.dist-info/RECORD,,