optimum-rbln 0.1.9__py3-none-any.whl → 0.1.11__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.
Files changed (61) hide show
  1. optimum/rbln/__init__.py +37 -2
  2. optimum/rbln/__version__.py +1 -1
  3. optimum/rbln/diffusers/models/autoencoder_kl.py +36 -29
  4. optimum/rbln/diffusers/models/controlnet.py +56 -40
  5. optimum/rbln/diffusers/models/unet_2d_condition.py +40 -28
  6. optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet.py +22 -15
  7. optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_img2img.py +22 -15
  8. optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl.py +23 -17
  9. optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl_img2img.py +24 -18
  10. optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py +22 -11
  11. optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_img2img.py +22 -11
  12. optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl.py +24 -14
  13. optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_img2img.py +24 -14
  14. optimum/rbln/modeling_alias.py +3 -3
  15. optimum/rbln/modeling_base.py +471 -231
  16. optimum/rbln/modeling_config.py +152 -77
  17. optimum/rbln/modeling_seq2seq.py +166 -77
  18. optimum/rbln/transformers/__init__.py +35 -1
  19. optimum/rbln/transformers/models/__init__.py +20 -1
  20. optimum/rbln/transformers/models/auto/__init__.py +14 -0
  21. optimum/rbln/transformers/models/auto/auto_factory.py +84 -0
  22. optimum/rbln/transformers/models/auto/modeling_auto.py +94 -0
  23. optimum/rbln/transformers/models/bart/__init__.py +1 -0
  24. optimum/rbln/transformers/models/bart/bart_architecture.py +189 -50
  25. optimum/rbln/transformers/models/bart/modeling_bart.py +106 -0
  26. optimum/rbln/transformers/models/bert/__init__.py +24 -0
  27. optimum/rbln/transformers/models/bert/modeling_bert.py +102 -0
  28. optimum/rbln/transformers/models/clip/__init__.py +1 -1
  29. optimum/rbln/transformers/models/clip/modeling_clip.py +127 -25
  30. optimum/rbln/transformers/models/decoderonly/decoderonly_architecture.py +28 -4
  31. optimum/rbln/transformers/models/decoderonly/modeling_decoderonly.py +302 -115
  32. optimum/rbln/transformers/models/dpt/modeling_dpt.py +21 -7
  33. optimum/rbln/transformers/models/gemma/modeling_gemma.py +1 -1
  34. optimum/rbln/transformers/models/gpt2/gpt2_architecture.py +4 -1
  35. optimum/rbln/transformers/models/gpt2/modeling_gpt2.py +1 -1
  36. optimum/rbln/transformers/models/llama/modeling_llama.py +1 -1
  37. optimum/rbln/transformers/models/llava_next/__init__.py +24 -0
  38. optimum/rbln/transformers/models/llava_next/modeling_llava_next.py +666 -0
  39. optimum/rbln/transformers/models/midm/midm_architecture.py +5 -1
  40. optimum/rbln/transformers/models/midm/modeling_midm.py +1 -1
  41. optimum/rbln/transformers/models/mistral/modeling_mistral.py +1 -1
  42. optimum/rbln/transformers/models/phi/__init__.py +24 -0
  43. optimum/rbln/transformers/models/phi/modeling_phi.py +69 -0
  44. optimum/rbln/transformers/models/phi/phi_architecture.py +406 -0
  45. optimum/rbln/transformers/models/t5/t5_architecture.py +92 -31
  46. optimum/rbln/transformers/models/wav2vec2/modeling_wav2vec2.py +17 -11
  47. optimum/rbln/transformers/models/whisper/generation_whisper.py +68 -0
  48. optimum/rbln/transformers/models/whisper/modeling_whisper.py +141 -105
  49. optimum/rbln/transformers/models/whisper/whisper_architecture.py +44 -17
  50. optimum/rbln/transformers/models/xlm_roberta/modeling_xlm_roberta.py +17 -14
  51. optimum/rbln/transformers/utils/rbln_quantization.py +48 -60
  52. optimum/rbln/utils/import_utils.py +36 -1
  53. optimum/rbln/utils/logging.py +82 -0
  54. optimum/rbln/utils/runtime_utils.py +33 -0
  55. optimum/rbln/utils/timer_utils.py +19 -0
  56. {optimum_rbln-0.1.9.dist-info → optimum_rbln-0.1.11.dist-info}/METADATA +8 -7
  57. optimum_rbln-0.1.11.dist-info/RECORD +93 -0
  58. {optimum_rbln-0.1.9.dist-info → optimum_rbln-0.1.11.dist-info}/WHEEL +1 -1
  59. optimum_rbln-0.1.11.dist-info/entry_points.txt +4 -0
  60. optimum_rbln-0.1.9.dist-info/RECORD +0 -78
  61. {optimum_rbln-0.1.9.dist-info → optimum_rbln-0.1.11.dist-info}/licenses/LICENSE +0 -0
@@ -18,6 +18,7 @@ from diffusers import StableDiffusionXLImg2ImgPipeline
18
18
 
19
19
  from ....modeling_base import RBLNBaseModel
20
20
  from ....transformers import RBLNCLIPTextModel, RBLNCLIPTextModelWithProjection
21
+ from ....utils.runtime_utils import ContextRblnConfig
21
22
  from ...models import RBLNAutoencoderKL, RBLNUNet2DConditionModel
22
23
 
23
24
 
@@ -42,14 +43,27 @@ class RBLNStableDiffusionXLImg2ImgPipeline(StableDiffusionXLImg2ImgPipeline):
42
43
  """
43
44
  export = kwargs.pop("export", None)
44
45
  model_save_dir = kwargs.pop("model_save_dir", None)
45
- rbln_config_kwargs, rbln_constructor_kwargs = RBLNBaseModel.pop_rbln_kwargs_from_kwargs(kwargs)
46
- model = super().from_pretrained(pretrained_model_name_or_path=model_id, **kwargs)
46
+ rbln_config = kwargs.pop("rbln_config", None)
47
+ rbln_kwargs, _ = RBLNBaseModel.resolve_rbln_config(rbln_config, kwargs)
48
+
49
+ device = rbln_kwargs.get("device", None)
50
+ device_map = rbln_kwargs.get("device_map", None)
51
+ create_runtimes = rbln_kwargs.get("create_runtimes", None)
52
+ optimize_host_memory = rbln_kwargs.get("optimize_host_memory", None)
53
+
54
+ with ContextRblnConfig(
55
+ device=device,
56
+ device_map=device_map,
57
+ create_runtimes=create_runtimes,
58
+ optimze_host_mem=optimize_host_memory,
59
+ ):
60
+ model = super().from_pretrained(pretrained_model_name_or_path=model_id, **kwargs)
47
61
 
48
62
  if export is None or export is False:
49
63
  return model
50
64
 
51
65
  do_classifier_free_guidance = (
52
- rbln_config_kwargs.pop("rbln_guidance_scale", 5.0) > 1.0 and model.unet.config.time_cond_proj_dim is None
66
+ rbln_kwargs.pop("guidance_scale", 5.0) > 1.0 and model.unet.config.time_cond_proj_dim is None
53
67
  )
54
68
 
55
69
  vae = RBLNAutoencoderKL.from_pretrained(
@@ -60,27 +74,24 @@ class RBLNStableDiffusionXLImg2ImgPipeline(StableDiffusionXLImg2ImgPipeline):
60
74
  rbln_unet_sample_size=model.unet.config.sample_size,
61
75
  rbln_use_encode=True,
62
76
  rbln_vae_scale_factor=model.vae_scale_factor,
63
- **rbln_config_kwargs,
64
- **rbln_constructor_kwargs,
77
+ rbln_config={**rbln_kwargs},
65
78
  )
66
79
  text_encoder = RBLNCLIPTextModel.from_pretrained(
67
80
  model_id=model_id,
68
81
  subfolder="text_encoder",
69
82
  export=True,
70
83
  model_save_dir=model_save_dir,
71
- **rbln_config_kwargs,
72
- **rbln_constructor_kwargs,
84
+ rbln_config={**rbln_kwargs},
73
85
  )
74
86
  text_encoder_2 = RBLNCLIPTextModelWithProjection.from_pretrained(
75
87
  model_id=model_id,
76
88
  subfolder="text_encoder_2",
77
89
  export=True,
78
90
  model_save_dir=model_save_dir,
79
- **rbln_config_kwargs,
80
- **rbln_constructor_kwargs,
91
+ rbln_config={**rbln_kwargs},
81
92
  )
82
93
 
83
- batch_size = rbln_config_kwargs.pop("rbln_batch_size", 1)
94
+ batch_size = rbln_kwargs.pop("batch_size", 1)
84
95
  unet_batch_size = batch_size * 2 if do_classifier_free_guidance else batch_size
85
96
 
86
97
  unet = RBLNUNet2DConditionModel.from_pretrained(
@@ -94,8 +105,7 @@ class RBLNStableDiffusionXLImg2ImgPipeline(StableDiffusionXLImg2ImgPipeline):
94
105
  rbln_use_encode=True,
95
106
  rbln_vae_scale_factor=model.vae_scale_factor,
96
107
  rbln_is_controlnet=True if "controlnet" in model.config.keys() else False,
97
- **rbln_config_kwargs,
98
- **rbln_constructor_kwargs,
108
+ rbln_config={**rbln_kwargs},
99
109
  )
100
110
 
101
111
  if model_save_dir is not None:
@@ -114,7 +124,7 @@ class RBLNStableDiffusionXLImg2ImgPipeline(StableDiffusionXLImg2ImgPipeline):
114
124
  "vae": ("optimum.rbln", "RBLNAutoencoderKL"),
115
125
  "text_encoder": ("optimum.rbln", "RBLNCLIPTextModel"),
116
126
  "unet": ("optimum.rbln", "RBLNUNet2DConditionModel"),
117
- "text_encoder_2": ("optimum.rbln", "RBLNCLIPTextModel"),
127
+ "text_encoder_2": ("optimum.rbln", "RBLNCLIPTextModelWithProjection"),
118
128
  }
119
129
  model.register_to_config(**update_dict)
120
130
 
@@ -124,7 +134,7 @@ class RBLNStableDiffusionXLImg2ImgPipeline(StableDiffusionXLImg2ImgPipeline):
124
134
 
125
135
  model.models = [vae.model[0], vae.model[1], unet.model[0], text_encoder.model[0], text_encoder_2.model[0]]
126
136
 
127
- if rbln_constructor_kwargs.pop("rbln_optimize_host_memory", None) is False:
137
+ if optimize_host_memory is False:
128
138
  model.compiled_models = [
129
139
  vae.compiled_models[0],
130
140
  vae.compiled_models[1],
@@ -56,12 +56,12 @@ class RBLNBartForConditionalGeneration(RBLNModelForSeq2SeqLM):
56
56
 
57
57
 
58
58
  class RBLNXLMRobertaForSequenceClassification(RBLNModelForSequenceClassification):
59
- pass
59
+ rbln_model_input_names = ["input_ids", "attention_mask"]
60
60
 
61
61
 
62
62
  class RBLNRobertaForSequenceClassification(RBLNModelForSequenceClassification):
63
- pass
63
+ rbln_model_input_names = ["input_ids", "attention_mask"]
64
64
 
65
65
 
66
66
  class RBLNRobertaForMaskedLM(RBLNModelForMaskedLM):
67
- pass
67
+ rbln_model_input_names = ["input_ids", "attention_mask"]