optimum-rbln 0.7.4a9__py3-none-any.whl → 0.7.5a0__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.
optimum/rbln/__init__.py CHANGED
@@ -337,6 +337,7 @@ else:
337
337
  globals()["__file__"],
338
338
  _import_structure,
339
339
  module_spec=__spec__,
340
+ extra_objects={"__version__": __version__},
340
341
  )
341
342
 
342
343
 
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '0.7.4a9'
21
- __version_tuple__ = version_tuple = (0, 7, 4, 'a9')
20
+ __version__ = version = '0.7.5a0'
21
+ __version_tuple__ = version_tuple = (0, 7, 5, 'a0')
@@ -19,7 +19,6 @@ from dataclasses import asdict, dataclass
19
19
  from pathlib import Path
20
20
  from typing import Any, Dict, List, Optional, Tuple, Type, Union
21
21
 
22
- import rebel
23
22
  import torch
24
23
 
25
24
  from .__version__ import __version__
@@ -533,7 +532,7 @@ class RBLNModelConfig:
533
532
 
534
533
  Args:
535
534
  cls_name (Optional[str]): The class name of the configuration. Defaults to the current class name.
536
- create_runtimes (Optional[bool]): Whether to create RBLN runtimes. Defaults to True if an NPU is available.
535
+ create_runtimes (Optional[bool]): Whether to create RBLN runtimes. Defaults to True.
537
536
  optimize_host_memory (Optional[bool]): Whether to optimize host memory usage. Defaults to True.
538
537
  device (Optional[Union[int, List[int]]]): The device(s) to load the model onto. Can be a single device ID or a list.
539
538
  device_map (Optional[Dict[str, Union[int, List[int]]]]): Mapping from compiled model names to device IDs.
@@ -756,7 +755,7 @@ class RBLNModelConfig:
756
755
  if context is not None:
757
756
  return context
758
757
  elif self._runtime_options["create_runtimes"] is None:
759
- return rebel.npu_is_available()
758
+ return True
760
759
  return self._runtime_options["create_runtimes"]
761
760
 
762
761
  @create_runtimes.setter
@@ -222,7 +222,7 @@ class RBLNControlNetModel(RBLNModel):
222
222
  f"Mismatch between ControlNet's runtime batch size ({sample_batch_size}) and compiled batch size ({compiled_batch_size}). "
223
223
  "This may be caused by the 'guidance_scale' parameter, which doubles the runtime batch size of ControlNet in Stable Diffusion. "
224
224
  "Adjust the batch size of ControlNet during compilation to match the runtime batch size.\n\n"
225
- "For details, see: https://docs.rbln.ai/software/optimum/model_api.html#stable-diffusion"
225
+ "For details, see: https://docs.rbln.ai/software/optimum/model_api/diffusers/pipelines/controlnet.html#important-batch-size-configuration-for-guidance-scale"
226
226
  )
227
227
 
228
228
  added_cond_kwargs = {} if added_cond_kwargs is None else added_cond_kwargs
@@ -161,7 +161,7 @@ class RBLNSD3Transformer2DModel(RBLNModel):
161
161
  f"Mismatch between transformer's runtime batch size ({sample_batch_size}) and compiled batch size ({compiled_batch_size}). "
162
162
  "This may be caused by the 'guidance scale' parameter, which doubles the runtime batch size in Stable Diffusion. "
163
163
  "Adjust the batch size of transformer during compilation.\n\n"
164
- "For details, see: https://docs.rbln.ai/software/optimum/model_api.html#stable-diffusion"
164
+ "For details, see: https://docs.rbln.ai/software/optimum/model_api/diffusers/pipelines/stable_diffusion_3.html#important-batch-size-configuration-for-guidance-scale"
165
165
  )
166
166
 
167
167
  return super().forward(
@@ -346,7 +346,7 @@ class RBLNUNet2DConditionModel(RBLNModel):
346
346
  f"Mismatch between UNet's runtime batch size ({sample_batch_size}) and compiled batch size ({compiled_batch_size}). "
347
347
  "This may be caused by the 'guidance scale' parameter, which doubles the runtime batch size of UNet in Stable Diffusion. "
348
348
  "Adjust the batch size of UNet during compilation to match the runtime batch size.\n\n"
349
- "For details, see: https://docs.rbln.ai/software/optimum/model_api.html#stable-diffusion"
349
+ "For details, see: https://docs.rbln.ai/software/optimum/model_api/diffusers/pipelines/stable_diffusion.html#important-batch-size-configuration-for-guidance-scale"
350
350
  )
351
351
 
352
352
  added_cond_kwargs = {} if added_cond_kwargs is None else added_cond_kwargs
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from typing import Any, Dict, Optional
15
+ from typing import Any, Dict, List, Optional
16
16
 
17
17
  import rebel
18
18
 
@@ -37,6 +37,7 @@ class RBLNDecoderOnlyModelForCausalLMConfig(RBLNModelConfig):
37
37
  quantization: Optional[Dict[str, Any]] = None,
38
38
  prefill_chunk_size: Optional[int] = None,
39
39
  kvcache_num_blocks: Optional[int] = None,
40
+ decoder_batch_sizes: Optional[List[int]] = None,
40
41
  **kwargs,
41
42
  ):
42
43
  """
@@ -53,6 +54,13 @@ class RBLNDecoderOnlyModelForCausalLMConfig(RBLNModelConfig):
53
54
  prefill_chunk_size (Optional[int]): The chunk size for prefilling the KV cache. Defaults to 128,
54
55
  and must be a positive integer divisible by 64.
55
56
  kvcache_num_blocks (Optional[int]): The number of blocks in the KV cache.
57
+ decoder_batch_sizes (Optional[List[int]]): A list of batch sizes for which separate decoder models will be compiled.
58
+ This allows the model to handle varying batch sizes efficiently during generation. If not specified,
59
+ defaults to a list containing only the model's main batch size. When specifying multiple batch sizes:
60
+ 1) All values must be less than or equal to the main batch size.
61
+ 2) The list will be sorted in descending order (larger batch sizes first).
62
+ 3) If using multiple decoders, at least one batch size should match the main batch size.
63
+
56
64
  **kwargs: Additional arguments passed to the parent RBLNModelConfig.
57
65
 
58
66
  Raises:
@@ -88,3 +96,25 @@ class RBLNDecoderOnlyModelForCausalLMConfig(RBLNModelConfig):
88
96
  raise ValueError("`prefill_chunk_size` must be a positive integer divisible by 64.")
89
97
 
90
98
  self.kvcache_num_blocks = kvcache_num_blocks
99
+ self.decoder_batch_sizes = decoder_batch_sizes
100
+ if self.decoder_batch_sizes is None:
101
+ self.decoder_batch_sizes = [self.batch_size]
102
+
103
+ if self.use_multiple_decoder:
104
+ if max(self.decoder_batch_sizes) > self.batch_size:
105
+ raise ValueError(
106
+ f"Decoder batch size ({max(self.decoder_batch_sizes)}) must be less than or equal to the runtime batch size ({self.batch_size})."
107
+ )
108
+ if max(self.decoder_batch_sizes) < self.batch_size:
109
+ logger.warning(
110
+ f"Maximum decoder batch size ({max(self.decoder_batch_sizes)}) is less than the model's batch size ({self.batch_size}). "
111
+ "Appending the model's batch size to the decoder batch size."
112
+ )
113
+ self.decoder_batch_sizes.append(self.batch_size)
114
+
115
+ # Larger batch size should be at the beginning of the list.
116
+ self.decoder_batch_sizes.sort(reverse=True)
117
+
118
+ @property
119
+ def use_multiple_decoder(self):
120
+ return isinstance(self.decoder_batch_sizes, list) and len(self.decoder_batch_sizes) > 1
@@ -229,6 +229,12 @@ class RBLNRuntimeModel(RBLNPytorchRuntime):
229
229
 
230
230
  attention_mask = self.dec_attn_mask
231
231
 
232
+ if self.batch_size < block_tables.shape[0]:
233
+ block_tables = block_tables[: self.batch_size]
234
+
235
+ if self.batch_size < attention_mask.shape[0]:
236
+ attention_mask = attention_mask[: self.batch_size]
237
+
232
238
  logits = super().forward(
233
239
  inputs,
234
240
  cache_position,
@@ -417,19 +423,24 @@ class RBLNDecoderOnlyModelForCausalLM(RBLNModel):
417
423
  use_attention_mask=self.rbln_config.use_attention_mask,
418
424
  attn_impl=self.rbln_config.attn_impl,
419
425
  )
420
- self.decoder = RBLNRuntimeModel(
421
- runtime=self.model[1],
422
- main_input_name=main_input_name,
423
- embed_tokens=self.embed_tokens,
424
- phase="decode",
425
- batch_size=self.rbln_config.batch_size,
426
- dec_attn_mask=dec_attn_mask,
427
- block_tables=block_tables,
428
- free_block_pool=free_block_pool,
429
- kvcache_block_size=self.rbln_config.kvcache_block_size,
430
- use_attention_mask=self.rbln_config.use_attention_mask,
431
- attn_impl=self.rbln_config.attn_impl,
432
- )
426
+ self.decoders = {}
427
+ for i, batch_size in enumerate(self.rbln_config.decoder_batch_sizes):
428
+ self.decoders[batch_size] = RBLNRuntimeModel(
429
+ runtime=self.model[i + 1],
430
+ main_input_name=main_input_name,
431
+ embed_tokens=self.embed_tokens,
432
+ phase="decode",
433
+ batch_size=batch_size,
434
+ dec_attn_mask=dec_attn_mask,
435
+ block_tables=block_tables,
436
+ free_block_pool=free_block_pool,
437
+ kvcache_block_size=self.rbln_config.kvcache_block_size,
438
+ use_attention_mask=self.rbln_config.use_attention_mask,
439
+ attn_impl=self.rbln_config.attn_impl,
440
+ )
441
+
442
+ # NOTE(eunji): Use a decoder whose batch size matches the model's main batch size for compatibility.
443
+ self.decoder = self.decoders[self.rbln_config.batch_size]
433
444
 
434
445
  @classmethod
435
446
  def save_torch_artifacts(
@@ -547,7 +558,6 @@ class RBLNDecoderOnlyModelForCausalLM(RBLNModel):
547
558
 
548
559
  rbln_compile_configs = rbln_config.compile_cfgs
549
560
  prefill_compile_config = rbln_compile_configs[0]
550
- dec_compile_config = rbln_compile_configs[1]
551
561
 
552
562
  context = CompileContext(use_weight_sharing=True)
553
563
 
@@ -562,33 +572,42 @@ class RBLNDecoderOnlyModelForCausalLM(RBLNModel):
562
572
  static_tensors[name] = tensor
563
573
  context.mark_static_address(tensor)
564
574
 
565
- dec_example_inputs = dec_compile_config.get_dummy_inputs(fill=0, static_tensors=static_tensors)
566
-
567
575
  @QuantizationManager.with_quantization_env
568
- def compile_model(*args, **kwargs):
576
+ def compile_model(wrapped_model, compile_config, example_inputs, compile_context, **kwargs):
569
577
  try:
570
578
  original_linear = torch.nn.functional.linear
571
579
  torch.nn.functional.linear = torch.ops.rbln_custom_ops.linear
572
- wrapped_model.phase = "prefill"
573
- compiled_prefill = RBLNModel.compile(
580
+ compiled_model = RBLNModel.compile(
574
581
  wrapped_model,
575
- prefill_compile_config,
576
- example_inputs=prefill_example_inputs,
577
- compile_context=context,
582
+ compile_config,
583
+ example_inputs=example_inputs,
584
+ compile_context=compile_context,
578
585
  )
579
-
580
- wrapped_model.phase = "decode"
581
- compiled_decoder = RBLNModel.compile(
582
- wrapped_model,
583
- dec_compile_config,
584
- example_inputs=dec_example_inputs,
585
- compile_context=context,
586
- )
587
- return {"prefill": compiled_prefill, "decoder": compiled_decoder}
586
+ return compiled_model
588
587
  finally:
589
588
  torch.nn.functional.linear = original_linear
590
589
 
591
- compiled_models = compile_model(quantize_config=rbln_config.quantization)
590
+ wrapped_model.phase = "prefill"
591
+ compiled_prefill = compile_model(
592
+ wrapped_model,
593
+ prefill_compile_config,
594
+ prefill_example_inputs,
595
+ context,
596
+ quantize_config=rbln_config.quantization,
597
+ )
598
+
599
+ wrapped_model.phase = "decode"
600
+ compiled_models = {"prefill": compiled_prefill}
601
+ for batch_size, dec_compile_config in zip(rbln_config.decoder_batch_sizes, rbln_compile_configs[1:]):
602
+ dec_example_inputs = dec_compile_config.get_dummy_inputs(fill=0, static_tensors=static_tensors)
603
+ compiled_decoder = compile_model(
604
+ wrapped_model,
605
+ dec_compile_config,
606
+ dec_example_inputs,
607
+ context,
608
+ quantize_config=rbln_config.quantization,
609
+ )
610
+ compiled_models[f"decoder_batch_{batch_size}"] = compiled_decoder
592
611
 
593
612
  # check if the memory is enough to have additional blocks
594
613
  required_num_blocks = (rbln_config.max_seq_len // rbln_config.kvcache_block_size) * rbln_config.batch_size
@@ -613,8 +632,11 @@ class RBLNDecoderOnlyModelForCausalLM(RBLNModel):
613
632
  alloc_memory_by_key: Dict[str, int] = {
614
633
  key: sum(memory_per_node) for key, memory_per_node in alloc_memory_per_node_by_key.items()
615
634
  }
616
- for key, memory_per_node in compiled_models["decoder"].get_alloc_per_node_by_key().items():
617
- alloc_memory_by_key[key] += sum(memory_per_node)
635
+ for batch_size in rbln_config.decoder_batch_sizes:
636
+ for key, memory_per_node in (
637
+ compiled_models[f"decoder_batch_{batch_size}"].get_alloc_per_node_by_key().items()
638
+ ):
639
+ alloc_memory_by_key[key] += sum(memory_per_node)
618
640
  alloc_memory_by_key.pop("PortRecur") # kv-cache
619
641
  kernel_size = alloc_memory_by_key.pop("Kernel") # model weight
620
642
 
@@ -650,6 +672,7 @@ class RBLNDecoderOnlyModelForCausalLM(RBLNModel):
650
672
  n_model_params: Optional[int] = None,
651
673
  kernel_size: Optional[int] = None,
652
674
  buffer: Optional[int] = None,
675
+ num_runtimes: int = 2,
653
676
  ) -> int:
654
677
  """
655
678
  We are finding max_n_blocks(x) that satisfies the following equation:
@@ -721,7 +744,8 @@ class RBLNDecoderOnlyModelForCausalLM(RBLNModel):
721
744
 
722
745
  if buffer is None:
723
746
  # TODO: Accurate buffer estimation
724
- buffer_per_core = 2**29 # 500MB per npu
747
+ buffer_per_runtime_per_core = 2**28 # 256MB per runtime
748
+ buffer_per_core = buffer_per_runtime_per_core * num_runtimes # 1 for prefill, 1 for decoder
725
749
  buffer = buffer_per_core * tensor_parallel_size
726
750
  available_dram -= buffer
727
751
 
@@ -839,6 +863,7 @@ class RBLNDecoderOnlyModelForCausalLM(RBLNModel):
839
863
  kvcache_block_size=rbln_config.kvcache_block_size,
840
864
  nbits_per_param=16 if not rbln_config.quantization else 4, # TODO(jongho): FIX Ad-hoc
841
865
  n_model_params=sum(p.numel() for p in model.parameters()),
866
+ num_runtimes=1 + len(rbln_config.decoder_batch_sizes),
842
867
  )
843
868
 
844
869
  max_num_blocks = min(max_num_blocks, estimated_max_num_blocks)
@@ -881,24 +906,28 @@ class RBLNDecoderOnlyModelForCausalLM(RBLNModel):
881
906
  hidden_size=hidden_size,
882
907
  head_dim=head_dim,
883
908
  )
884
- dec_input_info = cls.get_input_info(
885
- batch_size=rbln_config.batch_size,
886
- query_length=1,
887
- use_inputs_embeds=rbln_config.use_inputs_embeds,
888
- use_attention_mask=rbln_config.use_attention_mask,
889
- max_seq_len=rbln_config.max_seq_len,
890
- kvcache_block_size=rbln_config.kvcache_block_size,
891
- kvcache_num_blocks=rbln_config.kvcache_num_blocks,
892
- num_key_value_heads=num_key_value_heads,
893
- num_hidden_layers=num_hidden_layers,
894
- hidden_size=hidden_size,
895
- head_dim=head_dim,
896
- )
897
909
 
898
910
  prefill_compile_config = RBLNCompileConfig(compiled_model_name="prefill", input_info=prefill_input_info)
899
- dec_compile_config = RBLNCompileConfig(compiled_model_name="decoder", input_info=dec_input_info)
900
911
 
901
- rbln_config.set_compile_cfgs([prefill_compile_config, dec_compile_config])
912
+ dec_compile_configs = []
913
+ for batch_size in rbln_config.decoder_batch_sizes:
914
+ dec_input_info = cls.get_input_info(
915
+ batch_size=batch_size,
916
+ query_length=1,
917
+ use_inputs_embeds=rbln_config.use_inputs_embeds,
918
+ use_attention_mask=rbln_config.use_attention_mask,
919
+ max_seq_len=rbln_config.max_seq_len,
920
+ kvcache_block_size=rbln_config.kvcache_block_size,
921
+ kvcache_num_blocks=rbln_config.kvcache_num_blocks,
922
+ num_key_value_heads=num_key_value_heads,
923
+ num_hidden_layers=num_hidden_layers,
924
+ hidden_size=hidden_size,
925
+ head_dim=head_dim,
926
+ )
927
+ dec_compile_configs.append(
928
+ RBLNCompileConfig(compiled_model_name=f"decoder_batch_{batch_size}", input_info=dec_input_info)
929
+ )
930
+ rbln_config.set_compile_cfgs([prefill_compile_config, *dec_compile_configs])
902
931
 
903
932
  return rbln_config
904
933
 
@@ -908,8 +937,12 @@ class RBLNDecoderOnlyModelForCausalLM(RBLNModel):
908
937
  compiled_models: List[rebel.RBLNCompiledModel],
909
938
  rbln_config: RBLNDecoderOnlyModelForCausalLMConfig,
910
939
  ) -> List[rebel.Runtime]:
911
- if any(model_name not in rbln_config.device_map for model_name in ["prefill", "decoder"]):
912
- cls._raise_missing_compiled_file_error(["prefill", "decoder"])
940
+ expected_model_names = [
941
+ "prefill",
942
+ *[f"decoder_batch_{batch_size}" for batch_size in rbln_config.decoder_batch_sizes],
943
+ ]
944
+ if any(model_name not in rbln_config.device_map for model_name in expected_model_names):
945
+ cls._raise_missing_compiled_file_error(expected_model_names)
913
946
 
914
947
  return [
915
948
  rebel.Runtime(
@@ -918,12 +951,15 @@ class RBLNDecoderOnlyModelForCausalLM(RBLNModel):
918
951
  device=rbln_config.device_map["prefill"],
919
952
  activate_profiler=rbln_config.activate_profiler,
920
953
  ),
921
- rebel.Runtime(
922
- compiled_models[1],
923
- tensor_type="pt",
924
- device=rbln_config.device_map["decoder"],
925
- activate_profiler=rbln_config.activate_profiler,
926
- ),
954
+ *[
955
+ rebel.Runtime(
956
+ compiled_models[i + 1],
957
+ tensor_type="pt",
958
+ device=rbln_config.device_map[f"decoder_batch_{batch_size}"],
959
+ activate_profiler=rbln_config.activate_profiler,
960
+ )
961
+ for i, batch_size in enumerate(rbln_config.decoder_batch_sizes)
962
+ ],
927
963
  ]
928
964
 
929
965
  def get_decoder(self):
@@ -1024,7 +1060,15 @@ class RBLNDecoderOnlyModelForCausalLM(RBLNModel):
1024
1060
  logits = torch.cat(logits, dim=0)
1025
1061
  # Decoder
1026
1062
  else:
1027
- logits = self.decoder(
1063
+ inputs = inputs_embeds if inputs_embeds is not None else input_ids
1064
+ batch_size = inputs.shape[0]
1065
+ if batch_size not in self.decoders:
1066
+ raise ValueError(
1067
+ f"No decoder runtime available for batch size {batch_size}. "
1068
+ f"Available batch sizes are: {list(self.decoders.keys())}. "
1069
+ f"Please run your model with one of these batch sizes or add support for batch size {batch_size}."
1070
+ )
1071
+ logits = self.decoders[batch_size](
1028
1072
  input_ids=input_ids,
1029
1073
  inputs_embeds=inputs_embeds,
1030
1074
  cache_position=cache_position,
@@ -144,10 +144,27 @@ def check_version_compats() -> None:
144
144
  except importlib.metadata.PackageNotFoundError:
145
145
  warnings.warn(f"optimum-rbln requires {compat.package_name} to be installed.", ImportWarning)
146
146
  continue
147
+ # For versions 0.7.2 and above, don't show warning for rebel-compiler if base versions match
147
148
 
148
- if not Version(compat.min_version) <= Version(dep_version) < Version(compat.max_version):
149
- warnings.warn(
150
- f"optimum-rbln v{my_version} is compatible to {compat.package_name} v{compat.min_version} to v{compat.max_version}. (you are currently using v{dep_version})\n"
151
- "Please refer to our SDK release notes at https://docs.rbln.ai/about_atom/release_note.html",
152
- ImportWarning,
153
- )
149
+ if compat.package_name == "rebel-compiler":
150
+ # For optimum-rbln versions 0.7.2 and above, suppress the warning if the base versions of
151
+ # optimum-rbln and rebel-compiler match (e.g., 0.7.x with 0.7.y).
152
+ if (
153
+ Version(my_version) >= Version("0.7.2")
154
+ and Version(my_version).base_version == Version(dep_version).base_version
155
+ ):
156
+ continue
157
+ else:
158
+ warnings.warn(
159
+ f"Version mismatch detected: optimum-rbln v{my_version} and {compat.package_name} v{dep_version} have different base versions. "
160
+ f"For optimal performance and compatibility, please ensure both packages share the same major and minor version numbers. "
161
+ "Please refer to our SDK release notes at https://docs.rbln.ai/about_atom/release_note.html",
162
+ ImportWarning,
163
+ )
164
+ else:
165
+ if not Version(compat.min_version) <= Version(dep_version) < Version(compat.max_version):
166
+ warnings.warn(
167
+ f"optimum-rbln v{my_version} is compatible to {compat.package_name} v{compat.min_version} to v{compat.max_version}. (you are currently using v{dep_version})\n"
168
+ "Please refer to our SDK release notes at https://docs.rbln.ai/about_atom/release_note.html",
169
+ ImportWarning,
170
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: optimum-rbln
3
- Version: 0.7.4a9
3
+ Version: 0.7.5a0
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,6 +1,6 @@
1
- optimum/rbln/__init__.py,sha256=c2whRR6XkelNLlH1MwAKYMoaBEhmGxSQFrhfKS1JC-I,13186
2
- optimum/rbln/__version__.py,sha256=GuANUTgAHXrhQ4V27YBqp-zK5jY_U9soaBj4Ef2cU3A,519
3
- optimum/rbln/configuration_utils.py,sha256=rOXG9_ptYwzLlDIebd-CoiT3i6xaZl5IVPplLIrUyoE,31106
1
+ optimum/rbln/__init__.py,sha256=89QJBCQbW1u83pFzFif2gwnJ09eAWYEUEuiVF_mDHBI,13238
2
+ optimum/rbln/__version__.py,sha256=bJpxWEb0lqqNtDNdD8kjIjXRVQ1JbWhjYWAaVwJIkmU,519
3
+ optimum/rbln/configuration_utils.py,sha256=Bz4mDuKQAbIvd1F1E5hssLenqUIwGWYZIRAe0UCaHbU,31050
4
4
  optimum/rbln/modeling.py,sha256=qDXB69Oq0jx9hfONebDiSNe2_DgKYhnAGLTbGAtwYVw,9677
5
5
  optimum/rbln/modeling_base.py,sha256=iQKw2IORu1cN6sOK0xeBVrhatt-ZPeinT_v6l2FnGRw,24173
6
6
  optimum/rbln/diffusers/__init__.py,sha256=XL6oKPHbPCV6IVCw3fu0-M9mD2KO_x6unx5kJdAtpVY,6180
@@ -20,16 +20,16 @@ optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion.p
20
20
  optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion_3.py,sha256=54NTvVur7RADGgjGwO33s76dgKQ4zVNvmFl68rQFapw,6370
21
21
  optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion_xl.py,sha256=H0hqsqpAfqb9gBIK5KsfUf9gX9cTnggK9Nt2aqfzeIM,5528
22
22
  optimum/rbln/diffusers/models/__init__.py,sha256=mkCvJyH1KcwrsUvYSq_bVC79oOfyqtBSFDyPS1_48wA,1478
23
- optimum/rbln/diffusers/models/controlnet.py,sha256=m2hHKrom1ladsDO4bTSZ7o_bIRrLRpzv7XBI2BlesxY,10224
23
+ optimum/rbln/diffusers/models/controlnet.py,sha256=kzDbUckGlioor8t0kKBvwi-hzNaG15XluEzTa7xZs1Q,10292
24
24
  optimum/rbln/diffusers/models/autoencoders/__init__.py,sha256=dg17ZTUsiqTcbIaEE4fqew9uRbao0diQ21PXvRKIqKg,679
25
25
  optimum/rbln/diffusers/models/autoencoders/autoencoder_kl.py,sha256=qjReFNmuQEjnHjoI8f7ClAp_rRTA1vIk-3dwxJi6s7U,7905
26
26
  optimum/rbln/diffusers/models/autoencoders/vae.py,sha256=_fyFco2697uT1zo_P_fGML-_zqZw2sUQp3tRRjA5pg4,4172
27
27
  optimum/rbln/diffusers/models/autoencoders/vq_model.py,sha256=DC8Nee8_BabGhagJgpCUDhA-oaTpZMg-lCVzXJ6dNEw,6134
28
28
  optimum/rbln/diffusers/models/transformers/__init__.py,sha256=V8rSR7WzHs-i8Cwb_MNxhY2NFbwPgxu24vGtkwl-6tk,706
29
29
  optimum/rbln/diffusers/models/transformers/prior_transformer.py,sha256=d7CYmm88lozepqXjmrFr4qsQ-lRE_10wQRwnenMSflU,4989
30
- optimum/rbln/diffusers/models/transformers/transformer_sd3.py,sha256=qBdk8fBxOnlRywUDKMab1G4YpFDVnMOkTyhKW9LPops,6503
30
+ optimum/rbln/diffusers/models/transformers/transformer_sd3.py,sha256=ywWiRAYQ0wfKMMZBrJ9C34GBwIu92F5QXSG8qi7Cr6s,6579
31
31
  optimum/rbln/diffusers/models/unets/__init__.py,sha256=MaICuK9CWjgzejXy8y2NDrphuEq1rkzanF8u45k6O5I,655
32
- optimum/rbln/diffusers/models/unets/unet_2d_condition.py,sha256=bFFidMPZ2JgZf5tQVi2WNrDtT_yRDyqzNlkZ-wvQm7M,15481
32
+ optimum/rbln/diffusers/models/unets/unet_2d_condition.py,sha256=dyrez3vS0_YSxTVwcjlSijDJhe6XchdsLsCFv74HiFQ,15555
33
33
  optimum/rbln/diffusers/pipelines/__init__.py,sha256=5KLZ5LrpMzBya2e_3_PvEoPwG24U8JMexfw_ygZREKc,3140
34
34
  optimum/rbln/diffusers/pipelines/controlnet/__init__.py,sha256=n1Ef22TSeax-kENi_d8K6wGGHSNEo9QkUeygELHgcao,983
35
35
  optimum/rbln/diffusers/pipelines/controlnet/multicontrolnet.py,sha256=Cv__E0Boc6TSOIv8TdXVE821zIiPG4MVI_lnaGSqquk,4102
@@ -81,9 +81,9 @@ optimum/rbln/transformers/models/clip/__init__.py,sha256=TLeXDqcFK6M6v9x7Xr64kBb
81
81
  optimum/rbln/transformers/models/clip/configuration_clip.py,sha256=wgfZeVvcVdSzrN9tcnt7DKJQ0NLR0REvW7MyUXyv2Bg,2976
82
82
  optimum/rbln/transformers/models/clip/modeling_clip.py,sha256=UslcDN6otyQ_psou7F_YcdK5vCImEtgIdcbwmexSfOM,7256
83
83
  optimum/rbln/transformers/models/decoderonly/__init__.py,sha256=vQYZDDdoddwA7yKc5zzrq2Zs9sax-0p8rNF_aYfF4bk,1006
84
- optimum/rbln/transformers/models/decoderonly/configuration_decoderonly.py,sha256=b1W7zS0MUmeDd048bLp5AkZMrWd3LIhHaVy8NvlwdCw,4116
84
+ optimum/rbln/transformers/models/decoderonly/configuration_decoderonly.py,sha256=tIBzKmts1Ea-CZWXC7RtJqeE9bd5wjmkugZg269wmVg,5962
85
85
  optimum/rbln/transformers/models/decoderonly/decoderonly_architecture.py,sha256=NG2tKC3gT57r34PYKgU0evZHctEHzJGRrk2FOjLyK7Q,41748
86
- optimum/rbln/transformers/models/decoderonly/modeling_decoderonly.py,sha256=5o2m_xPVjfCovP_jcW8E17sSKkLqcVblr4mFLbv-VDU,42991
86
+ optimum/rbln/transformers/models/decoderonly/modeling_decoderonly.py,sha256=n5Kh5hE49m8Rl94DDwe2aDD3Y-dCPwRcENn-x9qkpzM,45245
87
87
  optimum/rbln/transformers/models/dpt/__init__.py,sha256=Nzep9mlzKyL1kV726IBqY8DnLp1DkH9JzFeknWSRhok,714
88
88
  optimum/rbln/transformers/models/dpt/configuration_dpt.py,sha256=4fW6bzVhaAxym4wGV3F785rvUOoWPyw_gdEMqB08Leg,755
89
89
  optimum/rbln/transformers/models/dpt/modeling_dpt.py,sha256=oKLX7MQZvfk1QB8wOtcdi7AmZH2fOIVbypa9A3RA9MI,733
@@ -157,13 +157,13 @@ optimum/rbln/transformers/utils/rbln_quantization.py,sha256=gwBVHf97sQgPNmGa0wq8
157
157
  optimum/rbln/utils/__init__.py,sha256=ieDBT2VFTt2E0M4v_POLBpuGW9LxSydpb_DuPd6PQqc,712
158
158
  optimum/rbln/utils/decorator_utils.py,sha256=xu-TrsNi33SRC2a7DBsyoo6-pEQxWKZPZSmM9QlDe2Y,3745
159
159
  optimum/rbln/utils/hub.py,sha256=Z_R9Ic9VAew8bUmlaAlxZf5JGMDBivHvvFRI557pILY,4196
160
- optimum/rbln/utils/import_utils.py,sha256=uMldLJmDVMj5uHvxBfb96uV29bfGEDvlksLY26GOHAs,4389
160
+ optimum/rbln/utils/import_utils.py,sha256=fpOERIIxXm-cDYGn1NN6c7aWDPQYVitPQW2MiyZ9NEY,5471
161
161
  optimum/rbln/utils/logging.py,sha256=VKKBmlQSdg6iZCGmAXaWYiW67K84jyp1QJhLQSSjPPE,3453
162
162
  optimum/rbln/utils/model_utils.py,sha256=V2kFpUe2aqVzLwbpztD8JOVFQqRHncvIWwJbgnUPr4E,1274
163
163
  optimum/rbln/utils/runtime_utils.py,sha256=LoKNK3AQNV_BSScstIZWjICkJf265MnUgy360BOocVI,5454
164
164
  optimum/rbln/utils/save_utils.py,sha256=hG5uOtYmecSXZuGTvCXsTM-SiyZpr5q3InUGCCq_jzQ,3619
165
165
  optimum/rbln/utils/submodule.py,sha256=TtcH3OLctFd2Dosc-zNMGZ8xOXKKUfE91dLQ1v09E8Q,4636
166
- optimum_rbln-0.7.4a9.dist-info/METADATA,sha256=s2GSC8Y7NFqtsFxZFbkYzQdMRBuyzA6zjKeON7ov8G0,5299
167
- optimum_rbln-0.7.4a9.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
168
- optimum_rbln-0.7.4a9.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
169
- optimum_rbln-0.7.4a9.dist-info/RECORD,,
166
+ optimum_rbln-0.7.5a0.dist-info/METADATA,sha256=4whxRZ9ifF1V_E6GUaWfwDfEW8oM0ahTpV_KttLvsrE,5299
167
+ optimum_rbln-0.7.5a0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
168
+ optimum_rbln-0.7.5a0.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
169
+ optimum_rbln-0.7.5a0.dist-info/RECORD,,