optimum-rbln 0.7.3.post2__py3-none-any.whl → 0.7.4a1__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.
@@ -16,27 +16,29 @@ from typing import Optional, Tuple, Union
16
16
 
17
17
  import torch
18
18
  from torch import nn
19
- from transformers.modeling_attn_mask_utils import (
20
- _prepare_4d_causal_attention_mask,
21
- )
22
19
  from transformers.modeling_outputs import (
23
20
  BaseModelOutput,
24
21
  Seq2SeqLMOutput,
25
22
  )
26
23
  from transformers.utils import logging
27
24
 
28
- from ....ops import register_rbln_custom_add_softmax_attention, register_rbln_custom_cache_update
25
+ from ....ops import (
26
+ register_rbln_custom_cache_update,
27
+ register_rbln_custom_paged_attention,
28
+ register_rbln_custom_paged_causal_attention,
29
+ )
29
30
 
30
31
 
31
32
  logger = logging.get_logger(__name__)
32
33
 
33
34
 
34
35
  class WhisperWrapper:
35
- def __init__(self, model, rbln_token_timestamps):
36
+ def __init__(self, model, use_attention_mask, rbln_token_timestamps):
36
37
  register_rbln_custom_cache_update()
37
- register_rbln_custom_add_softmax_attention()
38
38
  self.encoder = WhisperEncoderWrapper(model)
39
- self.decoder = WhisperDecoderWrapper(model, output_attentions=rbln_token_timestamps)
39
+ self.decoder = WhisperDecoderWrapper(
40
+ model, use_attention_mask=use_attention_mask, output_attentions=rbln_token_timestamps
41
+ )
40
42
 
41
43
 
42
44
  class WhisperEncoderWrapper(torch.nn.Module):
@@ -57,6 +59,7 @@ class WhisperEncoderWrapper(torch.nn.Module):
57
59
  def forward(
58
60
  self,
59
61
  input_features: Optional[torch.LongTensor],
62
+ b_idx: torch.Tensor,
60
63
  cross_key_values: torch.Tensor,
61
64
  ) -> Union[Tuple[torch.FloatTensor], BaseModelOutput]:
62
65
  # 1. get encoder last_hidden_states
@@ -76,21 +79,34 @@ class WhisperEncoderWrapper(torch.nn.Module):
76
79
  cross_kv = torch.stack(cross_kv, dim=0)
77
80
 
78
81
  # 3. update cross_attention's past_key_value to the device-dram for optimization.
79
- bidx = torch.tensor(0, dtype=torch.int16)
80
- axis = torch.tensor(1, dtype=torch.int16)
81
- enc_output = torch.ops.rbln_custom_ops.rbln_cache_update(cross_key_values, cross_kv, bidx, axis)
82
+ batch_axis = torch.tensor(1, dtype=torch.int16)
83
+ enc_output = torch.ops.rbln_custom_ops.rbln_cache_update(cross_key_values, cross_kv, b_idx[0], batch_axis)
82
84
 
83
85
  return enc_output
84
86
 
85
87
 
86
88
  class WhisperDecoderWrapper(torch.nn.Module):
87
- def __init__(self, model, output_attentions: bool = False):
89
+ def __init__(self, model, use_attention_mask: bool = True, output_attentions: bool = False, **kwargs):
88
90
  super().__init__()
89
91
  self.config = model.config
90
- self.num_layers = self.config.decoder_layers
91
92
  self.proj_out = model.proj_out
92
- self.decoder = self.convert_to_rbln_conditional_generation(model)
93
+ self.use_attention_mask = use_attention_mask
93
94
  self.output_attentions = output_attentions
95
+ self.__post_init__(model, **kwargs)
96
+
97
+ def __post_init__(self, model: nn.Module, **kwargs):
98
+ """
99
+ Post-initialization to extract and configure encoder-related attributes.
100
+ It is inspired by the BART architecture, but it is designed to be flexible and can be overridden
101
+ by subclasses to modify or add custom attributes as necessary.
102
+ """
103
+ if self.use_attention_mask:
104
+ register_rbln_custom_paged_attention()
105
+ else:
106
+ register_rbln_custom_paged_causal_attention()
107
+
108
+ self.num_layers = self.config.decoder_layers
109
+ self.decoder = self.convert_to_rbln_conditional_generation(model)
94
110
 
95
111
  def convert_to_rbln_conditional_generation(self, model: nn.Module):
96
112
  new_layers = []
@@ -105,12 +121,21 @@ class WhisperDecoderWrapper(torch.nn.Module):
105
121
 
106
122
  def forward(
107
123
  self,
108
- decoder_input_ids: torch.Tensor,
109
- decoder_attention_mask: torch.Tensor,
110
- cache_position: torch.Tensor,
111
- cross_kv_cache: torch.Tensor,
112
- *self_kv_cache: torch.Tensor,
124
+ *args,
113
125
  ) -> Union[Tuple[torch.FloatTensor], Seq2SeqLMOutput]:
126
+ if self.use_attention_mask:
127
+ (
128
+ decoder_input_ids,
129
+ decoder_attention_mask,
130
+ cache_position,
131
+ block_tables,
132
+ cross_kv_cache,
133
+ *self_kv_cache,
134
+ ) = args
135
+ else:
136
+ decoder_attention_mask = None
137
+ (decoder_input_ids, cache_position, block_tables, cross_kv_cache, *self_kv_cache) = args
138
+
114
139
  # prepare past_key_values
115
140
  self_past_key_values = ()
116
141
  cross_past_key_values = ()
@@ -125,6 +150,7 @@ class WhisperDecoderWrapper(torch.nn.Module):
125
150
  cache_position=cache_position,
126
151
  self_past_key_values=self_past_key_values,
127
152
  cross_past_key_values=cross_past_key_values,
153
+ block_tables=block_tables,
128
154
  )
129
155
 
130
156
  lm_logits = self.proj_out(sequence_output)
@@ -154,17 +180,25 @@ class WhisperDecoder(nn.Module):
154
180
  self_past_key_values: Optional[torch.Tensor] = None,
155
181
  cross_past_key_values: Optional[torch.Tensor] = None,
156
182
  cache_position: Optional[torch.Tensor] = None,
183
+ block_tables: Optional[torch.Tensor] = None,
157
184
  ):
158
185
  input_shape = input_ids.size()
159
186
  input_ids = input_ids.view(-1, input_shape[-1])
160
187
 
161
188
  # positional embeding
162
189
  inputs_embeds = self.embed_tokens(input_ids)
163
- positions = self.embed_positions(input_ids, position_ids=cache_position)
164
- hidden_states = inputs_embeds + positions
190
+ all_hiddens = []
191
+ for i in range(inputs_embeds.shape[0]):
192
+ position_id = cache_position[i]
193
+ position = self.embed_positions(input_ids, position_ids=position_id)
194
+ batch_hidden = position + inputs_embeds[i]
195
+ all_hiddens.append(batch_hidden)
165
196
 
166
- # prepare casual_attn_mask
167
- attention_mask = _prepare_4d_causal_attention_mask(attention_mask, input_shape, inputs_embeds, cache_position)
197
+ hidden_states = torch.stack(all_hiddens, dim=0)
198
+
199
+ # prepare attn mask (normal attention - masked)
200
+ if attention_mask is not None:
201
+ attention_mask = attention_mask[:, None, None, :]
168
202
 
169
203
  cross_attentions = ()
170
204
  # iterate decoder_layer
@@ -177,6 +211,7 @@ class WhisperDecoder(nn.Module):
177
211
  self_past_key_value=self_past_key_value,
178
212
  cross_past_key_value=cross_past_key_value,
179
213
  cache_position=cache_position,
214
+ block_tables=block_tables,
180
215
  )
181
216
  cross_attentions += (cross_attn_weights,)
182
217
 
@@ -205,6 +240,7 @@ class WhisperDecoderLayer(nn.Module):
205
240
  self_past_key_value: Optional[Tuple[torch.Tensor]] = None,
206
241
  cross_past_key_value: Optional[Tuple[torch.Tensor]] = None,
207
242
  cache_position: Optional[torch.Tensor] = None,
243
+ block_tables: Optional[torch.Tensor] = None,
208
244
  ) -> torch.Tensor:
209
245
  # Self Attention Block
210
246
  residual = hidden_states
@@ -214,6 +250,7 @@ class WhisperDecoderLayer(nn.Module):
214
250
  past_key_value=self_past_key_value,
215
251
  attention_mask=attention_mask,
216
252
  cache_position=cache_position,
253
+ block_tables=block_tables,
217
254
  )
218
255
  hidden_states = residual + hidden_states
219
256
 
@@ -263,6 +300,7 @@ class WhisperSelfAttention(WhisperAttention):
263
300
  past_key_value: Optional[Tuple[torch.Tensor]] = None,
264
301
  attention_mask: Optional[torch.Tensor] = None,
265
302
  cache_position: Optional[torch.Tensor] = None,
303
+ block_tables: Optional[torch.Tensor] = None,
266
304
  ) -> Tuple[torch.Tensor, Optional[torch.Tensor], Optional[Tuple[torch.Tensor]]]:
267
305
  bsz, tgt_len, _ = hidden_states.size()
268
306
  query_states = self._shape(self.q_proj(hidden_states), tgt_len, bsz)
@@ -270,17 +308,24 @@ class WhisperSelfAttention(WhisperAttention):
270
308
 
271
309
  key_states = self._shape(self.k_proj(hidden_states), -1, bsz)
272
310
  value_states = self._shape(self.v_proj(hidden_states), -1, bsz)
311
+ block_size = past_key_value[0].shape[-2]
273
312
 
274
- attn_output = torch.ops.rbln_custom_ops.add_softmax_attn_decode(
313
+ args = [
275
314
  query_states,
276
315
  key_states,
277
316
  value_states,
278
- attention_mask.unsqueeze(2),
279
317
  past_key_value[0].view(bsz, self.num_heads, 1, -1, self.head_dim),
280
318
  past_key_value[1].view(bsz, self.num_heads, 1, -1, self.head_dim),
281
- cache_position.expand(bsz, 1),
319
+ cache_position,
282
320
  torch.tensor(1.0, dtype=torch.float32), # scale
283
- )
321
+ block_tables,
322
+ block_size,
323
+ ]
324
+ if attention_mask is not None:
325
+ args.insert(3, attention_mask.unsqueeze(2))
326
+ attn_output = torch.ops.rbln_custom_ops.paged_attn_decode(*args)
327
+ else:
328
+ attn_output = torch.ops.rbln_custom_ops.paged_causal_attn_decode(*args)
284
329
 
285
330
  attn_output = attn_output.view(bsz, self.num_heads, tgt_len, self.head_dim)
286
331
  attn_output = attn_output.transpose(1, 2)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: optimum-rbln
3
- Version: 0.7.3.post2
3
+ Version: 0.7.4a1
4
4
  Summary: Optimum RBLN is the interface between the Hugging Face 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
@@ -25,10 +25,10 @@ Requires-Python: <3.13,>=3.9
25
25
  Requires-Dist: accelerate>=1.0.1
26
26
  Requires-Dist: diffusers<=0.31.0
27
27
  Requires-Dist: packaging>=24.1
28
- Requires-Dist: torch<=2.5.1
29
- Requires-Dist: torchaudio<=2.5.1
30
- Requires-Dist: torchvision<=0.20.1
31
- Requires-Dist: transformers==4.48.3
28
+ Requires-Dist: torch==2.6.0
29
+ Requires-Dist: torchaudio<=2.6.0
30
+ Requires-Dist: torchvision<=0.21.0
31
+ Requires-Dist: transformers==4.50.3
32
32
  Description-Content-Type: text/markdown
33
33
 
34
34
 
@@ -1,5 +1,5 @@
1
- optimum/rbln/__init__.py,sha256=ZDzXcl-oAcYJhKjJMpotjbTih9awo7HzUb6T3MUEP6Q,6894
2
- optimum/rbln/__version__.py,sha256=OJRzB6Y7xaNgH7EkerbumPEoY0Nlzs1_xYhBJvOXTzQ,517
1
+ optimum/rbln/__init__.py,sha256=qW45z47BiNLTDtRFEhVEzr4THNFX0ygqCbdNKqI0biI,6992
2
+ optimum/rbln/__version__.py,sha256=KifVR95YmJmHh5f74wGiEAzd-c6ElHQ3XFHbY8VRp14,513
3
3
  optimum/rbln/modeling.py,sha256=nJsAs5zs--VVOYGFjYNpqfxYIemJIK4Lr0WEzlDLdP0,8390
4
4
  optimum/rbln/modeling_base.py,sha256=dNCL-BhrWCpuOVkZaj8-MW567Tf4lLo3p3Z3ldjWJfU,21779
5
5
  optimum/rbln/modeling_config.py,sha256=7104bxmrvKW4Q6XTruQayiIGl8GHDFmPkJ3cknMIInE,11335
@@ -41,28 +41,29 @@ optimum/rbln/diffusers/pipelines/stable_diffusion_xl/__init__.py,sha256=9iIMZYvp
41
41
  optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl.py,sha256=OvB5bxX6HUiqJeIc3uukuEmUXYEx1pTqGNOtdG2l1m8,902
42
42
  optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_img2img.py,sha256=3aB1Rw-OgKytQOHwOaShbEvq_XVHPOGvsGm8pstEmKU,930
43
43
  optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_inpaint.py,sha256=MzVP1wscaO1sUIiBIPJqG6zuGyez9VUbA42-JSIm-mk,930
44
- optimum/rbln/ops/__init__.py,sha256=TxOmsN0u3PmyK4Sb89qbiC4rePOlkvUT7Lm6wVoTnY0,941
45
- optimum/rbln/ops/attn.py,sha256=3EqU63Oj4zI4rLbkRycorsscXeD-IpKzt9N1MhkMa5o,10374
44
+ optimum/rbln/ops/__init__.py,sha256=LmTIX9yTfRiMDcalmb52yz5LhLRWqq3H5S94r0VDYDw,974
45
+ optimum/rbln/ops/attn.py,sha256=OSgPoEgCwvR7HdjbnaVkFVMBcJ5RpRWcE6OCg2lVyGk,10634
46
46
  optimum/rbln/ops/flash_attn.py,sha256=wfyiCxDGf034IngzwRU160R7_DlKYpd-uWT0BDEGFks,3408
47
47
  optimum/rbln/ops/kv_cache_update.py,sha256=pxf8kAptPaQF5xE8qItvmlFOq_sgim6ZERD7AVaOtec,3221
48
- optimum/rbln/transformers/__init__.py,sha256=AGo3BqVIZrsOzYsQAnnQ25HCstTPBclrXbvvUxVMlqE,4255
48
+ optimum/rbln/ops/linear.py,sha256=1_7Hg-9wXxhu97fqPobotLQx17k7VPeSSL91_9Z7EDg,1018
49
+ optimum/rbln/transformers/__init__.py,sha256=rW2wEgNpkcBwrrib2tui5sEpw04s1YUDHB50m2L7Os8,4353
49
50
  optimum/rbln/transformers/modeling_alias.py,sha256=yx7FnZQWAnrWzivaO5hI7T6i-fyLzt2tMIXG2oDNbPo,1657
50
51
  optimum/rbln/transformers/modeling_generic.py,sha256=aaZWsqVDCRvH03q-Wen7DMfLr7Gy-u-I0mTw0aYqWjk,18195
51
52
  optimum/rbln/transformers/modeling_rope_utils.py,sha256=3zwkhYUyTZhxCJUSmwCc88iiY1TppRWEY9ShwUqNB2k,14293
52
- optimum/rbln/transformers/models/__init__.py,sha256=zGnYODR-_T65tv6jFjtC8l01LC4vjfm41bM4doCXRvY,3835
53
+ optimum/rbln/transformers/models/__init__.py,sha256=Qyt9E61FDpnyAXTmRKDbv7CTtn-ml9cITvvNVqhwrnA,3992
53
54
  optimum/rbln/transformers/models/auto/__init__.py,sha256=GvGbb3ZpMv-h6euXeZ42jSizoOfrL2O1uvpAnfKxYEo,1034
54
55
  optimum/rbln/transformers/models/auto/auto_factory.py,sha256=IK9jFrJ3EEzYQa9_aKpcp2TO68M5YGkA-HcfBVpA2QU,7027
55
56
  optimum/rbln/transformers/models/auto/modeling_auto.py,sha256=Un9qoqdy3dO8JBza_bTJF_6_fRVNM9QisihSgTRFI-o,3933
56
57
  optimum/rbln/transformers/models/bart/__init__.py,sha256=32HPe0_GIO0hp9U464Iv6Jd7M-1nop9g8hA1UZMHhyw,674
57
58
  optimum/rbln/transformers/models/bart/bart_architecture.py,sha256=Oo-Cdne7igKEex8wwP-gztKJHgs5GLHQjK1oc3IZIDE,5801
58
- optimum/rbln/transformers/models/bart/modeling_bart.py,sha256=iI3ubPOVvHmhLt0wEz_vkOfMyNTHVNjmnkLtbpOX760,5797
59
+ optimum/rbln/transformers/models/bart/modeling_bart.py,sha256=naFpsOSjNRG8s5QPjeAsYCk2oJCxnn0Au0aYnMKZOBY,5679
59
60
  optimum/rbln/transformers/models/bert/__init__.py,sha256=YVV7k_laU6yJBawZrgjIWjRmIF-Y4oQQHqyf8lsraQs,691
60
61
  optimum/rbln/transformers/models/bert/modeling_bert.py,sha256=p3utRqf3dv9_RkHwaMCa1EfXttNJkqCJUIZo3CeZ9YY,4674
61
62
  optimum/rbln/transformers/models/clip/__init__.py,sha256=H9vuBwrmFO0-CqZhXUrKF-uQL6igCqMlqrT1X_ELaAI,754
62
63
  optimum/rbln/transformers/models/clip/modeling_clip.py,sha256=NiSm7bHs4SReHDUr53BBWSX0Y8bkKOeUSpsBDrp8YDw,6628
63
64
  optimum/rbln/transformers/models/decoderonly/__init__.py,sha256=pDogsdpJKKB5rqnVFrRjwfhUvOSV-jZ3oARMsqSvOOQ,665
64
65
  optimum/rbln/transformers/models/decoderonly/decoderonly_architecture.py,sha256=m93-qKN7NMw3i0XDmFmttmRIRK4np_fWtLFlBb2RFgU,41351
65
- optimum/rbln/transformers/models/decoderonly/modeling_decoderonly.py,sha256=uGdPGcFrWm2gAwFLjfBiALwFsl49VGCReVi4NUfOPxM,38898
66
+ optimum/rbln/transformers/models/decoderonly/modeling_decoderonly.py,sha256=qeZWdfLU0gCssxBODJsjQWMjfQWxK9vgC2Xt9eA5j4I,39147
66
67
  optimum/rbln/transformers/models/dpt/__init__.py,sha256=gP1tkR3XMNlHq1GT87ugIVvb2o_1eAUg1JaniXjy1Lw,651
67
68
  optimum/rbln/transformers/models/dpt/modeling_dpt.py,sha256=ZsS2SOiqcA4azULB-WFEMQZbgIoOyVUKqVKqrw_tWzA,3430
68
69
  optimum/rbln/transformers/models/exaone/__init__.py,sha256=zYH_5tVa8-juEdsOIky7I33WSC3Zuhoq1upI0OHYeVw,859
@@ -92,17 +93,20 @@ optimum/rbln/transformers/models/qwen2/__init__.py,sha256=RAMWc21W_2I6DH9xBjeNxP
92
93
  optimum/rbln/transformers/models/qwen2/modeling_qwen2.py,sha256=9-aFDvjMzPNUyGOz0qo33RE18bUFGYZ3Wt_68zb5uJY,1530
93
94
  optimum/rbln/transformers/models/qwen2/qwen2_architecture.py,sha256=XlNAMYAcDLohnSAhIFGKOPuCB5XLgzYs5ABWdeQSaZs,720
94
95
  optimum/rbln/transformers/models/seq2seq/__init__.py,sha256=EmEMV4rOYqKyruX85d0fR73-b8N6BSD6CPcbpYdBuVk,651
95
- optimum/rbln/transformers/models/seq2seq/modeling_seq2seq.py,sha256=NPfJf9Uk_bYOae7hXGHwteGiWH0va63Z-D93RmAMENg,17611
96
+ optimum/rbln/transformers/models/seq2seq/modeling_seq2seq.py,sha256=XcZb57v42wju1qOJ1AKqmtJXcmz6MEWaJZ8jyzaEiTw,17701
96
97
  optimum/rbln/transformers/models/seq2seq/seq2seq_architecture.py,sha256=tvzacIZam1sIr_1BvvZ_fDr8u5dXAiYiynFdX9tArtY,18877
97
98
  optimum/rbln/transformers/models/t5/__init__.py,sha256=1skR1RmnG62WTAP3-F5P1x-V_ReFhMyirH3u56vWwvc,675
98
- optimum/rbln/transformers/models/t5/modeling_t5.py,sha256=nKRR3eH1EAu1YkKvhlqGyTrJXDRd-IWB5LOeG9jrcb4,16021
99
- optimum/rbln/transformers/models/t5/t5_architecture.py,sha256=AArCQhZRETVM583wlIRzMFOSYq7t2nzxaAeyhZxyxKk,9508
99
+ optimum/rbln/transformers/models/t5/modeling_t5.py,sha256=-fG-h0wwsfjZ3par0QHbXKA7hbvw_lPJOIf8iXQDOfM,8082
100
+ optimum/rbln/transformers/models/t5/t5_architecture.py,sha256=Ups6drBbYe4wEAiBLcBIyO9wqrIQbvOPFR_ybbAgR8c,9722
101
+ optimum/rbln/transformers/models/time_series_transformers/__init__.py,sha256=RL4SO8tKEd4wQrzyU4Nv4-hhITKPhblUsBd3anXNkA8,1079
102
+ optimum/rbln/transformers/models/time_series_transformers/modeling_time_series_transformers.py,sha256=1Ippt0Rmt2TxJ5X4-4tlALQOkKmOfMaTrbOLWIUIKWw,16614
103
+ optimum/rbln/transformers/models/time_series_transformers/time_series_transformers_architecture.py,sha256=ohoP4sAxyQZwrQ6euGfRx9w_pPWAh6KT9nKC8Y9taes,14006
100
104
  optimum/rbln/transformers/models/wav2vec2/__init__.py,sha256=YpgA0K-vyg9veh0eL_jxauosbRpb_kpGKHvvQLBspKM,649
101
105
  optimum/rbln/transformers/models/wav2vec2/modeling_wav2vec2.py,sha256=JYJmV52j6cBwim4RanVJryfKnV80V96ol0A-oR6o7cg,3856
102
106
  optimum/rbln/transformers/models/whisper/__init__.py,sha256=ktnNe5ri3ycCWZ_W_voFB9y9-vgGgxS1X9s8LBRZmWc,665
103
107
  optimum/rbln/transformers/models/whisper/generation_whisper.py,sha256=GIHTca3b1VtW81kp7BzKQ7f77c2t9OsEsbZetripgDo,4582
104
- optimum/rbln/transformers/models/whisper/modeling_whisper.py,sha256=0nBADNxE0A1ozBbRutTBvxpo_Y1qkOycT_zronkN-ZU,15840
105
- optimum/rbln/transformers/models/whisper/whisper_architecture.py,sha256=Yn6yFpmw6IQbWlnpIMAdEUsNF6huXgaKzGMUZbhSLdo,12572
108
+ optimum/rbln/transformers/models/whisper/modeling_whisper.py,sha256=GegyAi3a8fF0psdYsffTQ1pC4KAUqE7WYLj4ZqObWXI,18184
109
+ optimum/rbln/transformers/models/whisper/whisper_architecture.py,sha256=k_aDk2B58IxQimf6yW36Wgc0uw5PqB85Or8ie_6ZZ70,14205
106
110
  optimum/rbln/transformers/models/xlm_roberta/__init__.py,sha256=fC7iNcdxBZ_6eOF2snStmf8r2M3c8O_-XcXnQEaHQCE,653
107
111
  optimum/rbln/transformers/models/xlm_roberta/modeling_xlm_roberta.py,sha256=8YNLz0bc5ze-QuU8rN-QhUfGzlSUs3iMJiWTxO3o6AM,4366
108
112
  optimum/rbln/transformers/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -116,7 +120,7 @@ optimum/rbln/utils/model_utils.py,sha256=DfD_Z2qvZHqcddXqnzTM1AN8khanj3-DXK2lJvV
116
120
  optimum/rbln/utils/runtime_utils.py,sha256=5-DYniyP59nx-mrrbi7AqA77L85b4Cm5oLpaxidSyss,3699
117
121
  optimum/rbln/utils/save_utils.py,sha256=hG5uOtYmecSXZuGTvCXsTM-SiyZpr5q3InUGCCq_jzQ,3619
118
122
  optimum/rbln/utils/submodule.py,sha256=oZoGrItB8WqY4i-K9WJPlLlcLohc1YGB9OHB8_XZw3A,4071
119
- optimum_rbln-0.7.3.post2.dist-info/METADATA,sha256=YgOp5SEpJ_VfYEohAoBhSQ20TaX1usvkRAzV7s7mS5I,5304
120
- optimum_rbln-0.7.3.post2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
121
- optimum_rbln-0.7.3.post2.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
122
- optimum_rbln-0.7.3.post2.dist-info/RECORD,,
123
+ optimum_rbln-0.7.4a1.dist-info/METADATA,sha256=dMl4yloIz6iqjC2SN8CE1rVP9Kftw50Z01zocntnguE,5300
124
+ optimum_rbln-0.7.4a1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
125
+ optimum_rbln-0.7.4a1.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
126
+ optimum_rbln-0.7.4a1.dist-info/RECORD,,