optimum-rbln 0.8.2a5__py3-none-any.whl → 0.8.2a7__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.

Potentially problematic release.


This version of optimum-rbln might be problematic. Click here for more details.

@@ -0,0 +1,318 @@
1
+ # Copyright 2025 Rebellions Inc. All rights reserved.
2
+
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at:
6
+
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ from pathlib import Path
16
+ from typing import TYPE_CHECKING, Any, Optional, Tuple, Union
17
+
18
+ import rebel
19
+ import torch
20
+ import torch.nn as nn
21
+ from transformers import PixtralVisionConfig, PixtralVisionModel
22
+ from transformers.modeling_outputs import BaseModelOutput
23
+ from transformers.modeling_utils import no_init_weights
24
+ from transformers.models.pixtral.modeling_pixtral import (
25
+ PixtralRMSNorm,
26
+ PixtralRotaryEmbedding,
27
+ )
28
+
29
+ from ....configuration_utils import RBLNCompileConfig, RBLNModelConfig
30
+ from ....modeling import RBLNModel
31
+ from ....utils.logging import get_logger
32
+ from ....utils.runtime_utils import RBLNPytorchRuntime
33
+ from .configuration_pixtral import RBLNPixtralVisionModelConfig
34
+ from .pixtral_architecture import PixtralAttention
35
+
36
+
37
+ logger = get_logger(__name__)
38
+
39
+ if TYPE_CHECKING:
40
+ from transformers import AutoFeatureExtractor, AutoProcessor, AutoTokenizer, PreTrainedModel
41
+
42
+ from ....diffusers.modeling_diffusers import RBLNDiffusionMixin, RBLNDiffusionMixinConfig
43
+
44
+
45
+ class RBLNRuntimePixtralVisionModel(RBLNPytorchRuntime):
46
+ mandatory_members = ["main_input_name"]
47
+
48
+ def __init__(
49
+ self,
50
+ runtime: rebel.Runtime,
51
+ config: PixtralVisionConfig,
52
+ rbln_config: RBLNPixtralVisionModelConfig,
53
+ **kwargs: Any,
54
+ ) -> None:
55
+ super().__init__(runtime, **kwargs)
56
+ self.patch_positional_embedding = PixtralRotaryEmbedding(config)
57
+ self.patch_size = config.patch_size
58
+ self.image_size = config.image_size
59
+ self.hidden_size = config.hidden_size
60
+ self.max_image_size = rbln_config.max_image_size
61
+
62
+ def forward(
63
+ self,
64
+ pixel_values: torch.Tensor,
65
+ image_sizes: torch.Tensor,
66
+ output_hidden_states: Optional[bool] = None,
67
+ return_dict: Optional[bool] = None,
68
+ **kwargs,
69
+ ):
70
+ if pixel_values.shape[2] > self.max_image_size[0] or pixel_values.shape[3] > self.max_image_size[1]:
71
+ raise ValueError("The height() and width of pixel_values can't be larger than max_image_size.")
72
+
73
+ if pixel_values.shape[2] != self.max_image_size[0] or pixel_values.shape[3] != self.max_image_size[1]:
74
+ padded_pixel_values = [
75
+ torch.nn.functional.pad(
76
+ image,
77
+ pad=(
78
+ 0,
79
+ self.max_image_size[1] - pixel_values.shape[3],
80
+ 0,
81
+ self.max_image_size[0] - pixel_values.shape[2],
82
+ ),
83
+ )
84
+ for image in pixel_values
85
+ ]
86
+ pixel_values = torch.stack(padded_pixel_values)
87
+
88
+ batch_size, _, H_max, W_max = pixel_values.shape
89
+ H_max_p = H_max // self.patch_size
90
+ W_max_p = W_max // self.patch_size
91
+
92
+ final_hidden_states = None
93
+
94
+ last_hidden_state_list = []
95
+ if output_hidden_states:
96
+ batch_hidden_states_list = []
97
+
98
+ for i in range(batch_size):
99
+ h_patched_original = image_sizes[i, 0] // self.patch_size
100
+ w_patched_original = image_sizes[i, 1] // self.patch_size
101
+
102
+ single_pixel_values = pixel_values[i : i + 1]
103
+ patch_embed = self.patch_conv(single_pixel_values)
104
+ patch_embed_seq = patch_embed[:, :, :h_patched_original, :w_patched_original].flatten(2).transpose(1, 2)
105
+ patch_embed_seq = self.ln_pre(patch_embed_seq)
106
+ patch_embed_seq = nn.functional.pad(
107
+ patch_embed_seq, (0, 0, 0, H_max_p * W_max_p - patch_embed_seq.shape[1]), "constant", value=0
108
+ )
109
+
110
+ max_w_from_config = self.image_size // self.patch_size
111
+ mesh = torch.meshgrid(torch.arange(h_patched_original), torch.arange(w_patched_original), indexing="ij")
112
+ h_grid, v_grid = torch.stack(mesh, dim=-1).reshape(-1, 2).chunk(2, -1)
113
+ ids = h_grid * max_w_from_config + v_grid
114
+ position_ids = ids[:, 0]
115
+
116
+ position_embeddings = self.patch_positional_embedding(patch_embed_seq, position_ids)
117
+ cos = nn.functional.pad(
118
+ position_embeddings[0],
119
+ (0, 0, 0, H_max_p * W_max_p - position_embeddings[0].shape[0]),
120
+ "constant",
121
+ value=0,
122
+ )
123
+ sin = nn.functional.pad(
124
+ position_embeddings[1],
125
+ (0, 0, 0, H_max_p * W_max_p - position_embeddings[1].shape[0]),
126
+ "constant",
127
+ value=0,
128
+ )
129
+
130
+ attention_mask = torch.full(
131
+ (1, patch_embed_seq.shape[-2]), fill_value=torch.finfo(patch_embed_seq.dtype).min
132
+ )
133
+ attention_mask[:, : h_patched_original * w_patched_original] = 0
134
+
135
+ transformer_output = super().forward(patch_embed_seq, attention_mask, cos, sin)
136
+
137
+ last_hidden_state_list.append(transformer_output[0][:, : h_patched_original * w_patched_original, :])
138
+ hidden_states = transformer_output[1:]
139
+
140
+ if output_hidden_states:
141
+ batch_hidden_states_list.append(
142
+ [hidden_state[:, : h_patched_original * w_patched_original, :] for hidden_state in hidden_states]
143
+ )
144
+
145
+ final_last_hidden_state = torch.cat(last_hidden_state_list, dim=1)
146
+
147
+ if output_hidden_states:
148
+ hidden_states = [
149
+ torch.cat(
150
+ [batch_hidden_states[layer_idx] for batch_hidden_states in batch_hidden_states_list],
151
+ dim=1,
152
+ )
153
+ for layer_idx in range(len(batch_hidden_states_list[0]))
154
+ ]
155
+
156
+ final_hidden_states = tuple(hidden_states)
157
+
158
+ if not return_dict:
159
+ return tuple(v for v in (final_last_hidden_state, final_hidden_states) if v is not None)
160
+
161
+ # TODO: output_attentions
162
+ return BaseModelOutput(
163
+ last_hidden_state=final_last_hidden_state,
164
+ hidden_states=final_hidden_states,
165
+ )
166
+
167
+
168
+ class _PixtralVisionModel(torch.nn.Module):
169
+ def __init__(self, model: PixtralVisionModel, output_hidden_states: bool):
170
+ super().__init__()
171
+ self.transformer = self.convert_to_rbln_pixtral_vision_model(model)
172
+ self.output_hidden_states = output_hidden_states
173
+
174
+ def convert_to_rbln_pixtral_vision_model(self, model: nn.Module):
175
+ for layer in model.transformer.layers:
176
+ layer.attention = PixtralAttention(layer.attention)
177
+ return model.transformer
178
+
179
+ def forward(self, patch_embeds, attention_mask, position_embeddings_1, position_embeddings_2):
180
+ output = self.transformer(
181
+ inputs_embeds=patch_embeds,
182
+ attention_mask=attention_mask,
183
+ position_embeddings=(position_embeddings_1, position_embeddings_2),
184
+ output_hidden_states=self.output_hidden_states,
185
+ return_dict=False,
186
+ )
187
+ return output
188
+
189
+
190
+ class RBLNPixtralVisionModel(RBLNModel):
191
+ """
192
+ RBLN optimized Pixtral vision encoder model.
193
+
194
+ This class provides hardware-accelerated inference for Pixtral vision encoders
195
+ on RBLN devices, supporting image encoding for multimodal tasks.
196
+ """
197
+
198
+ def __post_init__(self, **kwargs):
199
+ artifacts = torch.load(self.model_save_dir / self.subfolder / "torch_artifacts.pth", weights_only=False)
200
+ with no_init_weights():
201
+ self.patch_conv = nn.Conv2d(
202
+ in_channels=self.config.num_channels,
203
+ out_channels=self.config.hidden_size,
204
+ kernel_size=self.config.patch_size,
205
+ stride=self.config.patch_size,
206
+ bias=False,
207
+ )
208
+ self.ln_pre = PixtralRMSNorm(self.config.hidden_size, eps=1e-5)
209
+ self.patch_conv.load_state_dict(artifacts["patch_conv"])
210
+ self.ln_pre.load_state_dict(artifacts["ln_pre"])
211
+ self.model = RBLNRuntimePixtralVisionModel(
212
+ self.model[0],
213
+ main_input_name="pixel_values",
214
+ config=self.config,
215
+ rbln_config=self.rbln_config,
216
+ patch_conv=self.patch_conv,
217
+ ln_pre=self.ln_pre,
218
+ )
219
+
220
+ @classmethod
221
+ def save_torch_artifacts(
222
+ cls,
223
+ model: "PreTrainedModel",
224
+ save_dir_path: Path,
225
+ subfolder: str,
226
+ rbln_config: RBLNModelConfig,
227
+ ):
228
+ save_dict = {}
229
+ save_dict["patch_conv"] = model.get_input_embeddings().state_dict()
230
+ save_dict["ln_pre"] = model.ln_pre.state_dict()
231
+ torch.save(save_dict, save_dir_path / subfolder / "torch_artifacts.pth")
232
+
233
+ @classmethod
234
+ def wrap_model_if_needed(
235
+ cls, model: torch.nn.Module, rbln_config: RBLNPixtralVisionModelConfig
236
+ ) -> torch.nn.Module:
237
+ wrapper_cfg = {
238
+ "output_hidden_states": rbln_config.output_hidden_states,
239
+ }
240
+ return _PixtralVisionModel(model, **wrapper_cfg).eval()
241
+
242
+ @classmethod
243
+ def update_rbln_config_using_pipe(
244
+ cls, pipe: "RBLNDiffusionMixin", rbln_config: "RBLNDiffusionMixinConfig", submodule_name: str
245
+ ) -> "RBLNDiffusionMixinConfig":
246
+ return rbln_config
247
+
248
+ @classmethod
249
+ def _update_rbln_config(
250
+ cls,
251
+ preprocessors: Union["AutoFeatureExtractor", "AutoProcessor", "AutoTokenizer"],
252
+ model: Optional["PreTrainedModel"] = None,
253
+ model_config: "PixtralVisionConfig" = None,
254
+ rbln_config: Optional[RBLNPixtralVisionModelConfig] = None,
255
+ ) -> RBLNPixtralVisionModelConfig:
256
+ if rbln_config.max_image_size is None:
257
+ rbln_config.max_image_size = (model_config.image_size, model_config.image_size)
258
+
259
+ if rbln_config.output_hidden_states is None:
260
+ rbln_config.output_hidden_states = getattr(model_config, "output_hidden_states", False)
261
+
262
+ num_total_patches = (rbln_config.max_image_size[0] // model_config.patch_size) * (
263
+ rbln_config.max_image_size[1] // model_config.patch_size
264
+ )
265
+
266
+ rbln_compile_config = RBLNCompileConfig(
267
+ input_info=[
268
+ (
269
+ "patch_embeds",
270
+ [1, num_total_patches, model_config.hidden_size],
271
+ "float32",
272
+ ),
273
+ ("attention_mask", [1, num_total_patches], "float32"),
274
+ (
275
+ "position_embeddings_1",
276
+ [
277
+ num_total_patches,
278
+ model_config.head_dim,
279
+ ],
280
+ "float32",
281
+ ),
282
+ (
283
+ "position_embeddings_2",
284
+ [
285
+ num_total_patches,
286
+ model_config.head_dim,
287
+ ],
288
+ "float32",
289
+ ),
290
+ ]
291
+ )
292
+
293
+ rbln_config.set_compile_cfgs([rbln_compile_config])
294
+ return rbln_config
295
+
296
+ def forward(
297
+ self,
298
+ pixel_values: Optional[torch.FloatTensor] = None,
299
+ image_sizes: Optional[torch.FloatTensor] = None,
300
+ output_hidden_states: Optional[bool] = None,
301
+ return_dict: bool = True,
302
+ **kwargs,
303
+ ) -> Union[Tuple, BaseModelOutput]:
304
+ output_hidden_states = (
305
+ output_hidden_states if output_hidden_states is not None else self.rbln_config.output_hidden_states
306
+ )
307
+
308
+ if output_hidden_states != self.rbln_config.output_hidden_states:
309
+ raise ValueError(
310
+ f"Variable output_hidden_states {output_hidden_states} is not equal to rbln_config.output_hidden_states {self.rbln_config.output_hidden_states} "
311
+ f"Please compile again with the correct argument."
312
+ )
313
+
314
+ output = self.model(
315
+ pixel_values, image_sizes, output_hidden_states=output_hidden_states, return_dict=return_dict
316
+ )
317
+
318
+ return output
@@ -0,0 +1,73 @@
1
+ # Copyright 2025 Rebellions Inc. All rights reserved.
2
+
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at:
6
+
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ from typing import Optional, Tuple
16
+
17
+ import torch
18
+ import torch.nn as nn
19
+
20
+ from ..decoderonly.decoderonly_architecture import apply_rotary_pos_emb
21
+
22
+
23
+ class PixtralAttention(nn.Module):
24
+ def __init__(self, self_attention):
25
+ super().__init__()
26
+ self.original_model = self_attention
27
+ self.num_heads = getattr(self.original_model, "num_heads", None) or getattr(
28
+ self.original_model.config, "num_attention_heads"
29
+ )
30
+ self.head_dim = self.original_model.head_dim
31
+ self.scaling = self.head_dim**-0.5
32
+
33
+ self.__post_init__()
34
+
35
+ def __post_init__(self):
36
+ self.q_proj = self.original_model.q_proj
37
+ self.k_proj = self.original_model.k_proj
38
+ self.v_proj = self.original_model.v_proj
39
+ self.o_proj = self.original_model.o_proj
40
+
41
+ def forward(
42
+ self,
43
+ hidden_states: torch.Tensor,
44
+ attention_mask: Optional[torch.Tensor] = None,
45
+ position_embeddings: Optional[Tuple[torch.Tensor, torch.Tensor]] = None,
46
+ output_attentions: Optional[bool] = False,
47
+ ):
48
+ batch_size, patches, _ = hidden_states.size()
49
+
50
+ query_states = self.q_proj(hidden_states)
51
+ key_states = self.k_proj(hidden_states)
52
+ value_states = self.v_proj(hidden_states)
53
+
54
+ # TODO: return output attention
55
+ query_states = query_states.view(batch_size, patches, 1, self.num_heads, self.head_dim).transpose(1, 3)
56
+ key_states = key_states.view(batch_size, patches, 1, self.num_heads, self.head_dim).transpose(1, 3)
57
+ value_states = value_states.view(batch_size, patches, 1, self.num_heads, self.head_dim).transpose(1, 3)
58
+
59
+ cos, sin = position_embeddings
60
+ cos = cos[None, None, None, :, :]
61
+ sin = sin[None, None, None, :, :]
62
+ query_states, key_states = apply_rotary_pos_emb(query_states, key_states, cos, sin)
63
+
64
+ attn_weights = torch.matmul(query_states, key_states.transpose(3, 4)) * self.scaling
65
+ attn_weights = attn_weights + attention_mask
66
+ attn_weights = nn.functional.softmax(attn_weights, dim=-1, dtype=torch.float32)
67
+ attn_output = torch.matmul(attn_weights, value_states)
68
+ attn_output = attn_output.transpose(1, 3)
69
+
70
+ attn_output = attn_output.reshape(batch_size, patches, -1)
71
+ attn_output = self.o_proj(attn_output)
72
+
73
+ return attn_output, _
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: optimum-rbln
3
- Version: 0.8.2a5
3
+ Version: 0.8.2a7
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
@@ -1,5 +1,5 @@
1
- optimum/rbln/__init__.py,sha256=4yfoQoNMGSDI1nSH-4bkO_FOOTDCEyyr5ksRdOl9MdI,16652
2
- optimum/rbln/__version__.py,sha256=C96t3cbMGfE0WqD1B1heigdNUtbxH0j6cpJ80oY3DiM,519
1
+ optimum/rbln/__init__.py,sha256=10giCZmQrRZpbO_gOC5HCTyLxZmezwtM3KpjEk8vYg8,16984
2
+ optimum/rbln/__version__.py,sha256=5wNjDf6ebAXNOKXq2q2velYFX1bRX9PJq61LJdDliJw,519
3
3
  optimum/rbln/configuration_utils.py,sha256=FluYXTBB3C93-_35Z_XSdVnN6ScIj4AuKt-4QFt0m8g,33116
4
4
  optimum/rbln/modeling.py,sha256=gww-H-q16_mGw2qGnFwOjEj3J9yMjBKnRTKlnCkVlx8,14315
5
5
  optimum/rbln/modeling_base.py,sha256=AShxAt3KIOcCqfyF4U83dIrKwoj4p2Kxtc1ns_9-ltU,24154
@@ -71,12 +71,12 @@ optimum/rbln/ops/flash_attn.py,sha256=z39DJZSk94630ueoOCkiybxR5gzvNR-SRADHs0F6pz
71
71
  optimum/rbln/ops/kv_cache_update.py,sha256=aIvK2Sp7M3EfJzJgNvIvAJv4emoN6QOhmgaWj-VboLs,1440
72
72
  optimum/rbln/ops/linear.py,sha256=5K3pcrrUHu_p8LrMIU-jX2TnafksveFjjZSCsYSp_yw,1328
73
73
  optimum/rbln/ops/sliding_window_attn.py,sha256=EQrV_yRGc5z6kvwEsAcLP028bJWkQg2UPI3xubt9skU,3487
74
- optimum/rbln/transformers/__init__.py,sha256=II1nG2O38GUtG7cTek_zeV2vO7Yzi7fsjLQFJlcrFf4,10581
74
+ optimum/rbln/transformers/__init__.py,sha256=nKbPwORGP9uWd9p4uPfVinai8TxjV301_QgANbQtbpc,10913
75
75
  optimum/rbln/transformers/configuration_generic.py,sha256=kNhPWtzF0IovUnrsXfxXdXITqgpfCAAedjfB6jSAhEg,5131
76
76
  optimum/rbln/transformers/modeling_attention_utils.py,sha256=aLyOaq4me1m-JMmnKbuyNQageDxNU2jjEhGE_ew2P5o,11465
77
77
  optimum/rbln/transformers/modeling_generic.py,sha256=SXsZghRDsPolNnG5FFPRtXzIEmPQDnz0iRy6PIZvFVI,12225
78
78
  optimum/rbln/transformers/modeling_rope_utils.py,sha256=6Zg3r-TeUk4WQAlr95pqfhuoAD_RQ4njT1rbO9uPL0Q,14379
79
- optimum/rbln/transformers/models/__init__.py,sha256=-3nM-k9_VHTstiPCIMrCJ7lEc2GIbIEE8SvGMwQMhVQ,11447
79
+ optimum/rbln/transformers/models/__init__.py,sha256=1uy61IYS99gex9Y0nz3G40IXhYDfONncwMXELd4KHs4,11793
80
80
  optimum/rbln/transformers/models/audio_spectrogram_transformer/__init__.py,sha256=I2vL4lrzbT5p4eJcH-EKHzEfcPkj_XVsie7jb9q6yic,775
81
81
  optimum/rbln/transformers/models/audio_spectrogram_transformer/configuration_audio_spectrogram_transformer.py,sha256=z7LJiVJPmnlCM3mcyhPJP8AufSrxO_dsPeJ51onq-Nc,833
82
82
  optimum/rbln/transformers/models/audio_spectrogram_transformer/modeling_audio_spectrogram_transformer.py,sha256=FIKEVWpIt6-JQX9B_rAfCrAPqdUHtR2i8D_X2k7639E,1498
@@ -101,9 +101,9 @@ optimum/rbln/transformers/models/colpali/colpali_architecture.py,sha256=bWG7TehW
101
101
  optimum/rbln/transformers/models/colpali/configuration_colpali.py,sha256=ieY-tuyDPObFUIJ5sfpcfuCsJ_HTAizN7ZGqirqeFRU,2636
102
102
  optimum/rbln/transformers/models/colpali/modeling_colpali.py,sha256=jzvJCBrrCXSpjfmJ3O-VvPNFGWGaNbpOV09JwLPAZWs,15757
103
103
  optimum/rbln/transformers/models/decoderonly/__init__.py,sha256=w3VZOIBYaHXVdnuhK4y0zWAj0IAv7_5LGTJYaz9oYmI,1056
104
- optimum/rbln/transformers/models/decoderonly/configuration_decoderonly.py,sha256=IDOtbCfvo_WV1ZA4hHnSuFkDpqZQqnDWuLSqPE1Enrc,23429
105
- optimum/rbln/transformers/models/decoderonly/decoderonly_architecture.py,sha256=3D0shcG1I4Vj04nt9GuIz1oCbm-pzwiUlhQhlr_fok4,42042
106
- optimum/rbln/transformers/models/decoderonly/modeling_decoderonly.py,sha256=5Kh3M9tUjnVLzaUf89kqfQyNJCG-Dgc4URrFoIzu024,62251
104
+ optimum/rbln/transformers/models/decoderonly/configuration_decoderonly.py,sha256=tZNT0kz90V4xVDJ9I_9WjPZjLHwhFZpKshija64vcMA,23868
105
+ optimum/rbln/transformers/models/decoderonly/decoderonly_architecture.py,sha256=uR6I_OtYHauNlnUEtg2CUb_am9EUrBtiitMU4r25rPE,42206
106
+ optimum/rbln/transformers/models/decoderonly/modeling_decoderonly.py,sha256=ZuOLXbFWGtghJgEu_VPYbtR36ndhy_f6q_EDY2MWemU,62426
107
107
  optimum/rbln/transformers/models/distilbert/__init__.py,sha256=zXL78SOEORTnUN_wrdoaDaYpntG8lcFHvPobM6jC0CI,841
108
108
  optimum/rbln/transformers/models/distilbert/configuration_distilbert.py,sha256=O3BW9JjyYk9PLyiofvOKEgTdMZ_jpIuPfot281pSsyg,984
109
109
  optimum/rbln/transformers/models/distilbert/modeling_distilbert.py,sha256=LUh6zYGa8AR3Yxaj3gtyJRc-czBN3qnHTc-JTAhuqY0,1099
@@ -119,9 +119,9 @@ optimum/rbln/transformers/models/gemma/configuration_gemma.py,sha256=H1nVp8HBJxx
119
119
  optimum/rbln/transformers/models/gemma/gemma_architecture.py,sha256=2Ivay8NTSHmQAqXFh9JvG6Ja5rMThcRAjYPzyipcRI8,956
120
120
  optimum/rbln/transformers/models/gemma/modeling_gemma.py,sha256=p9mxRkxu8xAa3g-v62-A0mbcfiQrLIepw2R3BpZP3Cg,3659
121
121
  optimum/rbln/transformers/models/gemma3/__init__.py,sha256=6rugk3615SEt4lh7gduo_J9VyGiSReuEIvL0Uno0eaI,790
122
- optimum/rbln/transformers/models/gemma3/configuration_gemma3.py,sha256=xxa-ypePlz8nJA7aJcKq-DgLV3-LKE6KdN4sEUinaNY,2847
122
+ optimum/rbln/transformers/models/gemma3/configuration_gemma3.py,sha256=QkDfE_TpjekwSUC0kUAZ_IX484qTsksALmNdoKTeej4,3052
123
123
  optimum/rbln/transformers/models/gemma3/gemma3_architecture.py,sha256=fpLDAXCe5paWVsfc0tL59JkRQMRF-WNgIzOIb_QpSLU,6191
124
- optimum/rbln/transformers/models/gemma3/modeling_gemma3.py,sha256=uJBWExPLX3FDm1vQLV1qNxG5tAxF58OOqWiIUNv-SgQ,31978
124
+ optimum/rbln/transformers/models/gemma3/modeling_gemma3.py,sha256=PPGb1wgEfqSnoSgI6diNvQ2qQ5kOH-1NaG8Uf89tW8E,32793
125
125
  optimum/rbln/transformers/models/gpt2/__init__.py,sha256=SsawHMStE3wYRtqkH5EvdTFkCdX0LLmp-QSKFhEBrHo,740
126
126
  optimum/rbln/transformers/models/gpt2/configuration_gpt2.py,sha256=iGdHfzG7plekZcIz-Z5U8lRE4SB8gbJJNcFQJ9l8Myg,1533
127
127
  optimum/rbln/transformers/models/gpt2/gpt2_architecture.py,sha256=MyAWReXmyuHnDpW5HI_TI7psyJZxLujZ9KT5XnNm7nA,2802
@@ -133,6 +133,9 @@ optimum/rbln/transformers/models/llama/__init__.py,sha256=6tgx9-qlM5r9ouoeZEouVR
133
133
  optimum/rbln/transformers/models/llama/configuration_llama.py,sha256=_uxfH5kaGbeJTMJfESYn0Vg3OEkINS2ShGtVQTeOcs4,1578
134
134
  optimum/rbln/transformers/models/llama/llama_architecture.py,sha256=S7MCPfyjG5eUqgaS-QNBB0ApUD6wnb5fR0RHq7k7-pA,728
135
135
  optimum/rbln/transformers/models/llama/modeling_llama.py,sha256=1rk1kZhzsMumaRVPgTSMAYQfan1w-UaePDIhi0a2V1o,3705
136
+ optimum/rbln/transformers/models/llava/__init__.py,sha256=FaVLgBIqKGjT_nvwYO9k9BVqrzH_Ym3DfjGRCSUhG2s,734
137
+ optimum/rbln/transformers/models/llava/configuration_llava.py,sha256=pMA9Tepq89hIZCeOCW25DofB9ediYj-3G46_ufeEup4,2163
138
+ optimum/rbln/transformers/models/llava/modeling_llava.py,sha256=FIOarysPdSD81L6qQ-Rv8DxqjOBNYffZozQuV6UI2jo,15070
136
139
  optimum/rbln/transformers/models/llava_next/__init__.py,sha256=kDXKr7wMkp1XqE__DER2B8kQF_NYMxhzsQS5ytGg56I,752
137
140
  optimum/rbln/transformers/models/llava_next/configuration_llava_next.py,sha256=U6_DQoaXugN2Bc4ntUb7WkelbNmw1L4VbgqsMRVuuE4,2776
138
141
  optimum/rbln/transformers/models/llava_next/modeling_llava_next.py,sha256=i8MuaVWH6sqZXEgx2-zcpVYbcL4-on5DuLBtHGDoS7I,27465
@@ -156,6 +159,10 @@ optimum/rbln/transformers/models/phi/__init__.py,sha256=M5Sh4AtIhJYegl-yAKPggAU3
156
159
  optimum/rbln/transformers/models/phi/configuration_phi.py,sha256=CXHIG3xlBdr628oDu_u4OGsu_QZLx5EUSqu3zfmfEnk,1553
157
160
  optimum/rbln/transformers/models/phi/modeling_phi.py,sha256=r7B0NlqwIGjm-MmE-h5_xeRJPzs4O2OotgbjI-FYA2o,3403
158
161
  optimum/rbln/transformers/models/phi/phi_architecture.py,sha256=ygJIJvn20bnxE9nHKo4CBW9_1FJsz7MEVolB5asTmI0,3684
162
+ optimum/rbln/transformers/models/pixtral/__init__.py,sha256=fhclVAWnIDsfMfC-TW6mYrJXxgyehlLaadK64LOShH4,716
163
+ optimum/rbln/transformers/models/pixtral/configuration_pixtral.py,sha256=b7i1cIJESj7CtNy3w_Sqfr2d0zVfM9jChv-uOJfLsVU,1696
164
+ optimum/rbln/transformers/models/pixtral/modeling_pixtral.py,sha256=_4ooUqy_AAczAo9DiTNa2ZjvfdrtRL0cjVDmUVLlP5Q,12374
165
+ optimum/rbln/transformers/models/pixtral/pixtral_architecture.py,sha256=s-6C9DtHmSZEGJXo5b95RwZE2A5aR6ELMHlj7aK6CIg,2950
159
166
  optimum/rbln/transformers/models/qwen2/__init__.py,sha256=h9dWJ3HX4xspMLt44g7r3UGU8QL03Ynmz_Mi3Vlu6UA,746
160
167
  optimum/rbln/transformers/models/qwen2/configuration_qwen2.py,sha256=tTWcPOk_ycZvdSPlal9S5elTmWZAX2BbpZP5Ok2ySwI,1567
161
168
  optimum/rbln/transformers/models/qwen2/modeling_qwen2.py,sha256=VOboPJF1rvvSVWkHCnw3D5COWbfBwXJJ6JV0tCOgl5g,4938
@@ -215,7 +222,7 @@ optimum/rbln/utils/model_utils.py,sha256=4k5879Kh75m3x_vS4-qOGfqsOiAvc2kdNFFfvsF
215
222
  optimum/rbln/utils/runtime_utils.py,sha256=nIJioiN16nAyAzoArKjsy5ocLUsrr0UEy4f3LNT82SA,7961
216
223
  optimum/rbln/utils/save_utils.py,sha256=hG5uOtYmecSXZuGTvCXsTM-SiyZpr5q3InUGCCq_jzQ,3619
217
224
  optimum/rbln/utils/submodule.py,sha256=w5mgPgncI740gVKMu3S-69DGNdUSI0bTZxegQGcZ98Y,5011
218
- optimum_rbln-0.8.2a5.dist-info/METADATA,sha256=3pVIoi6dzEn3YuCeD6FueJjA0h4Xm1KvqjytWBdB8Xg,5299
219
- optimum_rbln-0.8.2a5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
220
- optimum_rbln-0.8.2a5.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
221
- optimum_rbln-0.8.2a5.dist-info/RECORD,,
225
+ optimum_rbln-0.8.2a7.dist-info/METADATA,sha256=65rKMblcQerbNfifD8lIAJ0RZZ3WAcCzBPdzhxef1FE,5299
226
+ optimum_rbln-0.8.2a7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
227
+ optimum_rbln-0.8.2a7.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
228
+ optimum_rbln-0.8.2a7.dist-info/RECORD,,