optimum-rbln 0.9.2a4__tar.gz → 0.9.2a5__tar.gz

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.

Files changed (326) hide show
  1. optimum_rbln-0.9.2a5/.github/version.yaml +1 -0
  2. optimum_rbln-0.9.2a5/.github/workflows/rbln_scheduled_test.yaml +186 -0
  3. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/.github/workflows/rbln_trigger_on_pr.yaml +1 -1
  4. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/PKG-INFO +5 -5
  5. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/pyproject.toml +4 -4
  6. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/__version__.py +2 -2
  7. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/modeling.py +71 -1
  8. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/modeling_generic.py +23 -1
  9. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/blip_2/modeling_blip_2.py +65 -1
  10. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/decoderonly/modeling_decoderonly.py +19 -4
  11. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/gemma3/modeling_gemma3.py +2 -1
  12. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/idefics3/modeling_idefics3.py +2 -4
  13. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/llava/modeling_llava.py +2 -1
  14. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/llava_next/modeling_llava_next.py +2 -1
  15. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/qwen2_5_vl/modeling_qwen2_5_vl.py +0 -9
  16. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/seq2seq/modeling_seq2seq.py +3 -1
  17. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/whisper/modeling_whisper.py +2 -1
  18. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/tests/test_llm.py +6 -13
  19. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/uv.lock +1432 -1424
  20. optimum_rbln-0.9.2a4/.github/version.yaml +0 -1
  21. optimum_rbln-0.9.2a4/.github/workflows/rbln_scheduled_test.yaml +0 -61
  22. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  23. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  24. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  25. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/.github/ISSUE_TEMPLATE/model_request.md +0 -0
  26. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/.github/pull_request_template.md +0 -0
  27. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/.github/renovate.json +0 -0
  28. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/.github/scripts/auto_code_review.py +0 -0
  29. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/.github/scripts/validate_docstrings.py +0 -0
  30. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/.github/scripts/validate_pr_checklist.py +0 -0
  31. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/.github/workflows/auto_code_review.yml +0 -0
  32. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/.github/workflows/auto_dependency_bot.yml +0 -0
  33. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/.github/workflows/check_code_quality.yml +0 -0
  34. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/.github/workflows/deploy-on-tag.yaml +0 -0
  35. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/.github/workflows/deploy.yaml +0 -0
  36. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/.github/workflows/pr-title-check.yaml +0 -0
  37. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/.github/workflows/pr_checklist_validator.yml +0 -0
  38. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/.github/workflows/rbln_check_compiler.yaml +0 -0
  39. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/.github/workflows/rbln_dispatch_pytest.yaml +0 -0
  40. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/.github/workflows/rbln_optimum_inference_test.yaml +0 -0
  41. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/.github/workflows/rbln_optimum_pytest.yaml +0 -0
  42. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/.github/workflows/test-docstrings.yml +0 -0
  43. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/.gitignore +0 -0
  44. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/CODE_OF_CONDUCT.md +0 -0
  45. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/CONTRIBUTING.md +0 -0
  46. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/LICENSE +0 -0
  47. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/README.md +0 -0
  48. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/assets/rbln_logo.png +0 -0
  49. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/advanced/custom_class.py +0 -0
  50. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/audio-classification/run_ast_audio_classification.py +0 -0
  51. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/depth-estimation/run_dpt.py +0 -0
  52. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/image-classification/run_image_classification.py +0 -0
  53. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/image-classification/run_vit_image_classification.py +0 -0
  54. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/image-to-text/run_idefics3.py +0 -0
  55. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/image-to-text/run_llava_next_image_to_text.py +0 -0
  56. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/kandinsky2_2/run_kandinsky2_2.py +0 -0
  57. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/kandinsky2_2/run_kandinsky2_2_combined.py +0 -0
  58. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/kandinsky2_2/run_kandinsky2_2_img2img.py +0 -0
  59. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/kandinsky2_2/run_kandinsky2_2_img2img_combined.py +0 -0
  60. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/kandinsky2_2/run_kandinsky2_2_inpaint.py +0 -0
  61. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/kandinsky2_2/run_kandinsky2_2_inpaint_combined.py +0 -0
  62. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/kandinsky2_2/run_kandinsky2_2_prior_interpolate.py +0 -0
  63. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/question-answering/run_question_answering.py +0 -0
  64. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/speech-recognition/run_wav2vec2.py +0 -0
  65. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/speech-recognition/run_whisper.py +0 -0
  66. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/stable-diffusion/run_stable_diffusion.py +0 -0
  67. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/stable-diffusion/run_stable_diffusion_controlnet.py +0 -0
  68. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/stable-diffusion/run_stable_diffusion_img2img.py +0 -0
  69. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/stable-diffusion/run_stable_diffusion_img2img_controlnet.py +0 -0
  70. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/stable-diffusion/run_stable_diffusion_inpaint.py +0 -0
  71. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/stable-diffusion/run_stable_diffusion_lora.py +0 -0
  72. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/stable-diffusion/run_stable_diffusion_multicontrolnet.py +0 -0
  73. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/text-classification/run_bge_m3_text_classification.py +0 -0
  74. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/text-classification/run_bge_reranker_v2_m3_text_classification.py +0 -0
  75. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/text-classification/run_secureBERT.py +0 -0
  76. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/text-classification/run_t5_classification.py +0 -0
  77. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/text-classification/run_twitter_roberta_text_classification.py +0 -0
  78. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/text2text-generation/run_bart_text2text_generation.py +0 -0
  79. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/text2text-generation/run_llama_peft.py +0 -0
  80. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/text2text-generation/run_llama_text2text_generation.py +0 -0
  81. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/examples/time-series-forecasting/run_time_series_forecasting.py +0 -0
  82. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/scripts/uv-lock.sh +0 -0
  83. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/scripts/uv-sync.sh +0 -0
  84. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/__init__.py +0 -0
  85. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/configuration_utils.py +0 -0
  86. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/__init__.py +0 -0
  87. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/configurations/__init__.py +0 -0
  88. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/configurations/models/__init__.py +0 -0
  89. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/configurations/models/configuration_autoencoder_kl.py +0 -0
  90. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/configurations/models/configuration_autoencoder_kl_cosmos.py +0 -0
  91. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/configurations/models/configuration_controlnet.py +0 -0
  92. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/configurations/models/configuration_prior_transformer.py +0 -0
  93. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/configurations/models/configuration_transformer_cosmos.py +0 -0
  94. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/configurations/models/configuration_transformer_sd3.py +0 -0
  95. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/configurations/models/configuration_unet_2d_condition.py +0 -0
  96. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/configurations/models/configuration_vq_model.py +0 -0
  97. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/configurations/pipelines/__init__.py +0 -0
  98. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_controlnet.py +0 -0
  99. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_cosmos.py +0 -0
  100. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_kandinsky2_2.py +0 -0
  101. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion.py +0 -0
  102. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion_3.py +0 -0
  103. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion_xl.py +0 -0
  104. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/modeling_diffusers.py +0 -0
  105. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/models/__init__.py +0 -0
  106. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/models/autoencoders/__init__.py +0 -0
  107. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/models/autoencoders/autoencoder_kl.py +0 -0
  108. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/models/autoencoders/autoencoder_kl_cosmos.py +0 -0
  109. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/models/autoencoders/vae.py +0 -0
  110. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/models/autoencoders/vq_model.py +0 -0
  111. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/models/controlnet.py +0 -0
  112. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/models/transformers/__init__.py +0 -0
  113. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/models/transformers/prior_transformer.py +0 -0
  114. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/models/transformers/transformer_cosmos.py +0 -0
  115. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/models/transformers/transformer_sd3.py +0 -0
  116. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/models/unets/__init__.py +0 -0
  117. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/models/unets/unet_2d_condition.py +0 -0
  118. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/__init__.py +0 -0
  119. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/auto_pipeline.py +0 -0
  120. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/controlnet/__init__.py +0 -0
  121. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/controlnet/multicontrolnet.py +0 -0
  122. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet.py +0 -0
  123. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_img2img.py +0 -0
  124. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl.py +0 -0
  125. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl_img2img.py +0 -0
  126. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/cosmos/__init__.py +0 -0
  127. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/cosmos/configuration_cosmos_guardrail.py +0 -0
  128. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/cosmos/cosmos_guardrail.py +0 -0
  129. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/cosmos/pipeline_cosmos_text2world.py +0 -0
  130. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/cosmos/pipeline_cosmos_video2world.py +0 -0
  131. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/__init__.py +0 -0
  132. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2.py +0 -0
  133. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_combined.py +0 -0
  134. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_img2img.py +0 -0
  135. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_inpaint.py +0 -0
  136. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_prior.py +0 -0
  137. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/__init__.py +0 -0
  138. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py +0 -0
  139. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_img2img.py +0 -0
  140. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_inpaint.py +0 -0
  141. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/__init__.py +0 -0
  142. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3.py +0 -0
  143. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_img2img.py +0 -0
  144. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_inpaint.py +0 -0
  145. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/__init__.py +0 -0
  146. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl.py +0 -0
  147. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_img2img.py +0 -0
  148. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_inpaint.py +0 -0
  149. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/modeling_base.py +0 -0
  150. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/ops/__init__.py +0 -0
  151. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/ops/attn.py +0 -0
  152. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/ops/flash_attn.py +0 -0
  153. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/ops/kv_cache_update.py +0 -0
  154. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/ops/linear.py +0 -0
  155. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/ops/sliding_window_attn.py +0 -0
  156. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/__init__.py +0 -0
  157. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/configuration_generic.py +0 -0
  158. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/modeling_attention_utils.py +0 -0
  159. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/modeling_outputs.py +0 -0
  160. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/modeling_rope_utils.py +0 -0
  161. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/__init__.py +0 -0
  162. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/audio_spectrogram_transformer/__init__.py +0 -0
  163. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/audio_spectrogram_transformer/configuration_audio_spectrogram_transformer.py +0 -0
  164. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/audio_spectrogram_transformer/modeling_audio_spectrogram_transformer.py +0 -0
  165. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/auto/__init__.py +0 -0
  166. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/auto/auto_factory.py +0 -0
  167. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/auto/modeling_auto.py +0 -0
  168. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/bart/__init__.py +0 -0
  169. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/bart/bart_architecture.py +0 -0
  170. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/bart/configuration_bart.py +0 -0
  171. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/bart/modeling_bart.py +0 -0
  172. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/bert/__init__.py +0 -0
  173. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/bert/bert_architecture.py +0 -0
  174. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/bert/configuration_bert.py +0 -0
  175. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/bert/modeling_bert.py +0 -0
  176. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/blip_2/__init__.py +0 -0
  177. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/blip_2/configuration_blip_2.py +0 -0
  178. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/clip/__init__.py +0 -0
  179. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/clip/configuration_clip.py +0 -0
  180. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/clip/modeling_clip.py +0 -0
  181. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/colpali/__init__.py +0 -0
  182. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/colpali/colpali_architecture.py +0 -0
  183. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/colpali/configuration_colpali.py +0 -0
  184. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/colpali/modeling_colpali.py +0 -0
  185. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/decoderonly/__init__.py +0 -0
  186. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/decoderonly/configuration_decoderonly.py +0 -0
  187. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/decoderonly/configuration_lora.py +0 -0
  188. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/decoderonly/decoderonly_architecture.py +0 -0
  189. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/decoderonly/decoderonly_runtime_utils.py +0 -0
  190. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/decoderonly/generation_decoderonly.py +0 -0
  191. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/decoderonly/lora_architecture.py +0 -0
  192. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/depth_anything/__init__.py +0 -0
  193. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/depth_anything/configuration_depth_anything.py +0 -0
  194. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/depth_anything/modeling_depth_anything.py +0 -0
  195. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/distilbert/__init__.py +0 -0
  196. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/distilbert/configuration_distilbert.py +0 -0
  197. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/distilbert/modeling_distilbert.py +0 -0
  198. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/dpt/__init__.py +0 -0
  199. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/dpt/configuration_dpt.py +0 -0
  200. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/dpt/modeling_dpt.py +0 -0
  201. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/exaone/__init__.py +0 -0
  202. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/exaone/configuration_exaone.py +0 -0
  203. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/exaone/exaone_architecture.py +0 -0
  204. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/exaone/modeling_exaone.py +0 -0
  205. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/gemma/__init__.py +0 -0
  206. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/gemma/configuration_gemma.py +0 -0
  207. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/gemma/gemma_architecture.py +0 -0
  208. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/gemma/modeling_gemma.py +0 -0
  209. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/gemma3/__init__.py +0 -0
  210. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/gemma3/configuration_gemma3.py +0 -0
  211. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/gemma3/gemma3_architecture.py +0 -0
  212. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/gemma3/gemma3_runtime_utils.py +0 -0
  213. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/gpt2/__init__.py +0 -0
  214. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/gpt2/configuration_gpt2.py +0 -0
  215. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/gpt2/gpt2_architecture.py +0 -0
  216. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/gpt2/modeling_gpt2.py +0 -0
  217. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/grounding_dino/__init__.py +0 -0
  218. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/grounding_dino/configuration_grounding_dino.py +0 -0
  219. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/grounding_dino/grounding_dino_architecture.py +0 -0
  220. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/grounding_dino/modeling_grounding_dino.py +0 -0
  221. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/idefics3/__init__.py +0 -0
  222. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/idefics3/configuration_idefics3.py +0 -0
  223. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/llama/__init__.py +0 -0
  224. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/llama/configuration_llama.py +0 -0
  225. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/llama/llama_architecture.py +0 -0
  226. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/llama/modeling_llama.py +0 -0
  227. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/llava/__init__.py +0 -0
  228. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/llava/configuration_llava.py +0 -0
  229. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/llava_next/__init__.py +0 -0
  230. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/llava_next/configuration_llava_next.py +0 -0
  231. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/midm/__init__.py +0 -0
  232. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/midm/configuration_midm.py +0 -0
  233. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/midm/midm_architecture.py +0 -0
  234. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/midm/modeling_midm.py +0 -0
  235. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/mistral/__init__.py +0 -0
  236. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/mistral/configuration_mistral.py +0 -0
  237. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/mistral/mistral_architecture.py +0 -0
  238. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/mistral/modeling_mistral.py +0 -0
  239. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/opt/__init__.py +0 -0
  240. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/opt/configuration_opt.py +0 -0
  241. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/opt/modeling_opt.py +0 -0
  242. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/opt/opt_architecture.py +0 -0
  243. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/pegasus/__init__.py +0 -0
  244. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/pegasus/configuration_pegasus.py +0 -0
  245. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/pegasus/modeling_pegasus.py +0 -0
  246. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/pegasus/pegasus_architecture.py +0 -0
  247. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/phi/__init__.py +0 -0
  248. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/phi/configuration_phi.py +0 -0
  249. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/phi/modeling_phi.py +0 -0
  250. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/phi/phi_architecture.py +0 -0
  251. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/pixtral/__init__.py +0 -0
  252. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/pixtral/configuration_pixtral.py +0 -0
  253. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/pixtral/modeling_pixtral.py +0 -0
  254. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/pixtral/pixtral_architecture.py +0 -0
  255. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/qwen2/__init__.py +0 -0
  256. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/qwen2/configuration_qwen2.py +0 -0
  257. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/qwen2/modeling_qwen2.py +0 -0
  258. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/qwen2/qwen2_architecture.py +0 -0
  259. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/qwen2_5_vl/__init__.py +0 -0
  260. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/qwen2_5_vl/configuration_qwen2_5_vl.py +0 -0
  261. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/qwen2_5_vl/qwen2_5_vl_architecture.py +0 -0
  262. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/qwen2_vl/__init__.py +0 -0
  263. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/qwen2_vl/configuration_qwen2_vl.py +0 -0
  264. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/qwen2_vl/modeling_qwen2_vl.py +0 -0
  265. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/qwen2_vl/qwen2_vl_architecture.py +0 -0
  266. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/qwen3/__init__.py +0 -0
  267. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/qwen3/configuration_qwen3.py +0 -0
  268. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/qwen3/modeling_qwen3.py +0 -0
  269. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/qwen3/qwen3_architecture.py +0 -0
  270. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/resnet/__init__.py +0 -0
  271. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/resnet/configuration_resnet.py +0 -0
  272. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/resnet/modeling_resnet.py +0 -0
  273. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/roberta/__init__.py +0 -0
  274. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/roberta/configuration_roberta.py +0 -0
  275. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/roberta/modeling_roberta.py +0 -0
  276. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/seq2seq/__init__.py +0 -0
  277. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/seq2seq/configuration_seq2seq.py +0 -0
  278. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/seq2seq/seq2seq_architecture.py +0 -0
  279. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/siglip/__init__.py +0 -0
  280. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/siglip/configuration_siglip.py +0 -0
  281. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/siglip/modeling_siglip.py +0 -0
  282. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/swin/__init__.py +0 -0
  283. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/swin/configuration_swin.py +0 -0
  284. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/swin/modeling_swin.py +0 -0
  285. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/t5/__init__.py +0 -0
  286. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/t5/configuration_t5.py +0 -0
  287. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/t5/modeling_t5.py +0 -0
  288. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/t5/t5_architecture.py +0 -0
  289. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/time_series_transformer/__init__.py +0 -0
  290. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/time_series_transformer/configuration_time_series_transformer.py +0 -0
  291. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/time_series_transformer/modeling_time_series_transformer.py +0 -0
  292. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/time_series_transformer/time_series_transformers_architecture.py +0 -0
  293. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/vit/__init__.py +0 -0
  294. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/vit/configuration_vit.py +0 -0
  295. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/vit/modeling_vit.py +0 -0
  296. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/wav2vec2/__init__.py +0 -0
  297. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/wav2vec2/configuration_wav2vec2.py +0 -0
  298. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/wav2vec2/modeling_wav2vec2.py +0 -0
  299. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/whisper/__init__.py +0 -0
  300. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/whisper/configuration_whisper.py +0 -0
  301. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/whisper/generation_whisper.py +0 -0
  302. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/whisper/whisper_architecture.py +0 -0
  303. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/xlm_roberta/__init__.py +0 -0
  304. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/xlm_roberta/configuration_xlm_roberta.py +0 -0
  305. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/models/xlm_roberta/modeling_xlm_roberta.py +0 -0
  306. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/utils/__init__.py +0 -0
  307. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/utils/rbln_quantization.py +0 -0
  308. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/transformers/utils/rbln_runtime_wrapper.py +0 -0
  309. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/utils/__init__.py +0 -0
  310. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/utils/decorator_utils.py +0 -0
  311. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/utils/depreacate_utils.py +0 -0
  312. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/utils/hub.py +0 -0
  313. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/utils/import_utils.py +0 -0
  314. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/utils/logging.py +0 -0
  315. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/utils/model_utils.py +0 -0
  316. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/utils/runtime_utils.py +0 -0
  317. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/utils/save_utils.py +0 -0
  318. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/src/optimum/rbln/utils/submodule.py +0 -0
  319. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/tests/__init__.py +0 -0
  320. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/tests/psnr.py +0 -0
  321. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/tests/requirements_sdxl.txt +0 -0
  322. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/tests/run_stable_diffusion_xl_base.py +0 -0
  323. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/tests/test_base.py +0 -0
  324. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/tests/test_config.py +0 -0
  325. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/tests/test_diffusers.py +0 -0
  326. {optimum_rbln-0.9.2a4 → optimum_rbln-0.9.2a5}/tests/test_transformers.py +0 -0
@@ -0,0 +1 @@
1
+ rebel_compiler_version: 0.9.2.dev155+g1ab49983.prod
@@ -0,0 +1,186 @@
1
+ name: Optimum-rbln / Scheduled Test
2
+
3
+ on:
4
+ schedule:
5
+ # Run every day at 2am (17:00 UTC, 2:00am KST)
6
+ - cron: '0 17 * * *'
7
+
8
+ env:
9
+ HF_USER_ID: ${{ secrets.HF_USER_ID }}
10
+ HF_AUTH_TOKEN: ${{ secrets.HF_AUTH_TOKEN }}
11
+
12
+ jobs:
13
+ check-code-quality:
14
+ uses: ./.github/workflows/check_code_quality.yml
15
+
16
+ test-docstrings:
17
+ uses: ./.github/workflows/test-docstrings.yml
18
+ with:
19
+ test_all_files: true
20
+
21
+ load-version:
22
+ runs-on: rebel-k8s-runner
23
+ outputs:
24
+ compiler_version: ${{ steps.get_version.outputs.compiler_version }}
25
+ steps:
26
+ - name: Checkout code
27
+ uses: actions/checkout@v3
28
+
29
+ - name: Get compiler version
30
+ id: get_version
31
+ run: |
32
+ VERSION=$(grep rebel_compiler_version .github/version.yaml | cut -d ':' -f2 | tr -d ' ')
33
+ echo "compiler_version=$VERSION" >> $GITHUB_OUTPUT
34
+
35
+ check-compiler:
36
+ needs: load-version
37
+ uses: ./.github/workflows/rbln_check_compiler.yaml
38
+ with:
39
+ compiler_version: ${{ needs.load-version.outputs.compiler_version }}
40
+ secrets: inherit
41
+
42
+ optimum-rbln-pytest:
43
+ needs: [load-version, check-compiler]
44
+ if: ${{ needs.check-compiler.outputs.compiler_version_check == 'true' }}
45
+ uses: ./.github/workflows/rbln_optimum_pytest.yaml
46
+ with:
47
+ ref: main
48
+ rebel_compiler_version: ${{ needs.check-compiler.outputs.compiler_version }}
49
+ test_level: "full"
50
+ enable_hf_hub_tests: true
51
+ fail_fast: false
52
+ secrets: inherit
53
+
54
+ optimum-rbln-inference-test:
55
+ needs: check-compiler
56
+ if: ${{ needs.check-compiler.outputs.compiler_version_check == 'true' }}
57
+ uses: ./.github/workflows/rbln_optimum_inference_test.yaml
58
+ with:
59
+ ref: main
60
+ rebel_compiler_version: ${{ needs.check-compiler.outputs.compiler_version }}
61
+ secrets: inherit
62
+
63
+ summary_and_report:
64
+ needs: [load-version, check-compiler, optimum-rbln-pytest]
65
+ if: always()
66
+ runs-on: rebel-k8s-runner
67
+ steps:
68
+ - name: Get failed test details
69
+ id: get_failed_tests
70
+ if: needs.optimum-rbln-pytest.result == 'failure'
71
+ run: |
72
+ # Get the workflow run jobs
73
+ JOBS=$(curl -s -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
74
+ "https://api.github.com/repos/${{ github.repository }}/actions/runs/${{ github.run_id }}/jobs")
75
+
76
+ # Extract failed pytest job names step by step for readability
77
+ FAILED_JOB_NAMES=$(echo "$JOBS" | jq -r '.jobs[] | select(.conclusion == "failure" and (.name | contains("Pytest"))) | .name')
78
+ # Remove "Pytest (...)" wrapper to get the test name
79
+ FAILED_TEST_NAMES=$(echo "$FAILED_JOB_NAMES" | sed 's/Pytest (\(.*\))/\1/')
80
+ # Join names with comma and space
81
+ FAILED_TESTS=$(echo "$FAILED_TEST_NAMES" | tr '\n' ', ' | sed 's/,$//')
82
+
83
+ if [ -z "$FAILED_TESTS" ]; then
84
+ echo "failed_tests=Unknown" >> $GITHUB_OUTPUT
85
+ else
86
+ echo "failed_tests=$FAILED_TESTS" >> $GITHUB_OUTPUT
87
+ fi
88
+
89
+ - name: Determine test results
90
+ id: test_results
91
+ run: |
92
+ # Determine overall status
93
+ if [ "${{ needs.optimum-rbln-pytest.result }}" == "success" ]; then
94
+ echo "pytest_status=✅ Success - All tests passed" >> $GITHUB_OUTPUT
95
+ echo "pytest_emoji=✅" >> $GITHUB_OUTPUT
96
+ elif [ "${{ needs.optimum-rbln-pytest.result }}" == "failure" ]; then
97
+ FAILED="${{ steps.get_failed_tests.outputs.failed_tests }}"
98
+ if [ -n "$FAILED" ] && [ "$FAILED" != "Unknown" ]; then
99
+ echo "pytest_status=❌ Failed - Tests: \`$FAILED\`" >> $GITHUB_OUTPUT
100
+ else
101
+ echo "pytest_status=❌ Failed" >> $GITHUB_OUTPUT
102
+ fi
103
+ echo "pytest_emoji=❌" >> $GITHUB_OUTPUT
104
+ elif [ "${{ needs.optimum-rbln-pytest.result }}" == "skipped" ]; then
105
+ echo "pytest_status=⏭️ Skipped" >> $GITHUB_OUTPUT
106
+ echo "pytest_emoji=⏭️" >> $GITHUB_OUTPUT
107
+ else
108
+ echo "pytest_status=⚠️ Cancelled" >> $GITHUB_OUTPUT
109
+ echo "pytest_emoji=⚠️" >> $GITHUB_OUTPUT
110
+ fi
111
+
112
+ # Determine compiler check status
113
+ if [ "${{ needs.check-compiler.result }}" == "success" ]; then
114
+ echo "compiler_status=✅ Available" >> $GITHUB_OUTPUT
115
+ else
116
+ echo "compiler_status=❌ Not Available" >> $GITHUB_OUTPUT
117
+ fi
118
+
119
+ - name: Notify Slack
120
+ if: always()
121
+ run: |
122
+ # Determine overall workflow status emoji
123
+ if [ "${{ needs.optimum-rbln-pytest.result }}" == "success" ]; then
124
+ title="✅ Optimum-RBLN Scheduled Pytest Results"
125
+ elif [ "${{ needs.check-compiler.result }}" != "success" ]; then
126
+ title="⚠️ Optimum-RBLN Scheduled Pytest Results - Compiler Check Failed"
127
+ else
128
+ title="❌ Optimum-RBLN Scheduled Pytest Results"
129
+ fi
130
+
131
+ commit="*Commit*\n<https://github.com/rebellions-sw/optimum-rbln/commit/${{github.sha}}|${{github.sha}}>"
132
+ action_link="*CI Report*\n<https://github.com/rebellions-sw/optimum-rbln/actions/runs/${{ github.run_id }}|View Details>"
133
+ compiler_version="${{ needs.load-version.outputs.compiler_version }}"
134
+
135
+ payload=$(jq -n \
136
+ --arg channel "${{ secrets.SLACK_CI_REPORTER_CHANNEL }}" \
137
+ --arg title "$title" \
138
+ --arg commit "$commit" \
139
+ --arg action_link "$action_link" \
140
+ --arg compiler_version "$compiler_version" \
141
+ --arg compiler_status "${{ steps.test_results.outputs.compiler_status }}" \
142
+ --arg pytest_status "${{ steps.test_results.outputs.pytest_status }}" \
143
+ '{
144
+ channel: $channel,
145
+ text: "Optimum-RBLN Scheduled Test Results",
146
+ blocks: [
147
+ {
148
+ type: "header",
149
+ text: {
150
+ type: "plain_text",
151
+ text: $title
152
+ }
153
+ },
154
+ {
155
+ type: "section",
156
+ fields: [
157
+ { type: "mrkdwn", text: $commit },
158
+ { type: "mrkdwn", text: $action_link }
159
+ ]
160
+ },
161
+ {
162
+ type: "section",
163
+ fields: [
164
+ { type: "mrkdwn", text: "*Compiler Version*" },
165
+ { type: "mrkdwn", text: ("`" + $compiler_version + "`") }
166
+ ]
167
+ },
168
+ { type: "divider" },
169
+ {
170
+ type: "section",
171
+ fields: [
172
+ { type: "mrkdwn", text: "*Compiler Check*" },
173
+ { type: "mrkdwn", text: $compiler_status }
174
+ ]
175
+ },
176
+ {
177
+ type: "section",
178
+ fields: [
179
+ { type: "mrkdwn", text: "*Pytest Results*" },
180
+ { type: "mrkdwn", text: $pytest_status }
181
+ ]
182
+ }
183
+ ]
184
+ }'
185
+ )
186
+ curl -X POST -H 'Authorization: Bearer ${{ secrets.SLACK_BOT_USER_OAUTH_ACCESS_TOKEN }}' -H 'Content-type: application/json; charset=utf-8' --data "$payload" https://slack.com/api/chat.postMessage
@@ -92,4 +92,4 @@ jobs:
92
92
  ref: ${{ github.event.pull_request.head.sha }}
93
93
  rebel_compiler_version: ${{ needs.check-compiler.outputs.compiler_version }}
94
94
  test_level: "default"
95
- secrets: inherit
95
+ secrets: inherit
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: optimum-rbln
3
- Version: 0.9.2a4
3
+ Version: 0.9.2a5
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
@@ -26,10 +26,10 @@ Requires-Python: <3.14,>=3.9
26
26
  Requires-Dist: accelerate>=1.0.1
27
27
  Requires-Dist: diffusers==0.35.1
28
28
  Requires-Dist: packaging>=24.1
29
- Requires-Dist: torch==2.7.0
30
- Requires-Dist: torchaudio<=2.7.0
31
- Requires-Dist: torchvision<=0.22.0
32
- Requires-Dist: transformers==4.53.1
29
+ Requires-Dist: torch==2.8.0
30
+ Requires-Dist: torchaudio<=2.8.0
31
+ Requires-Dist: torchvision<=0.23.0
32
+ Requires-Dist: transformers==4.57.1
33
33
  Description-Content-Type: text/markdown
34
34
 
35
35
 
@@ -29,11 +29,11 @@ classifiers = [
29
29
  ]
30
30
  keywords = ["transformers", "diffusers", "inference", "rbln", "atom", "rebel"]
31
31
  dependencies = [
32
- "torch==2.7.0",
33
- "torchaudio<=2.7.0",
34
- "torchvision<=0.22.0",
32
+ "torch==2.8.0",
33
+ "torchaudio<=2.8.0",
34
+ "torchvision<=0.23.0",
35
35
  "accelerate>=1.0.1",
36
- "transformers==4.53.1",
36
+ "transformers==4.57.1",
37
37
  "diffusers==0.35.1",
38
38
  "packaging>=24.1",
39
39
  ]
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.9.2a4'
32
- __version_tuple__ = version_tuple = (0, 9, 2, 'a4')
31
+ __version__ = version = '0.9.2a5'
32
+ __version_tuple__ = version_tuple = (0, 9, 2, 'a5')
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -34,6 +34,49 @@ if TYPE_CHECKING:
34
34
  logger = get_logger(__name__)
35
35
 
36
36
 
37
+ def _get_dtype(
38
+ cls,
39
+ dtype: Optional[Union[str, torch.dtype, dict]],
40
+ config: PretrainedConfig,
41
+ ) -> tuple[PretrainedConfig, Optional[torch.dtype], Optional[torch.dtype]]:
42
+ dtype_orig = None
43
+
44
+ if dtype is not None:
45
+ if isinstance(dtype, str):
46
+ if dtype == "auto":
47
+ if hasattr(config, "dtype") and config.dtype is not None:
48
+ dtype = config.dtype
49
+ else:
50
+ dtype = torch.get_default_dtype()
51
+ elif hasattr(torch, dtype):
52
+ dtype = getattr(torch, dtype)
53
+ config.dtype = dtype
54
+ elif isinstance(dtype, torch.dtype):
55
+ config.dtype = dtype
56
+ elif isinstance(dtype, dict):
57
+ for key, curr_dtype in dtype.items():
58
+ if hasattr(config, key):
59
+ value = getattr(config, key)
60
+ curr_dtype = curr_dtype if not isinstance(curr_dtype, str) else getattr(torch, curr_dtype)
61
+ value.dtype = curr_dtype
62
+ # main torch dtype for modules that aren't part of any sub-config
63
+ dtype = dtype.get("")
64
+ dtype = dtype if not isinstance(dtype, str) else getattr(torch, dtype)
65
+ config.dtype = dtype
66
+ if dtype is None:
67
+ dtype = torch.float32
68
+ else:
69
+ raise ValueError(f"Invalid dtype: {dtype}")
70
+
71
+ dtype_orig = cls._set_default_dtype(dtype)
72
+ else:
73
+ # Use default dtype
74
+ default_dtype = torch.get_default_dtype()
75
+ config.dtype = default_dtype
76
+
77
+ return config, dtype, dtype_orig
78
+
79
+
37
80
  class RBLNModel(RBLNBaseModel):
38
81
  @classmethod
39
82
  def update_kwargs(cls, kwargs):
@@ -206,10 +249,37 @@ class RBLNModel(RBLNBaseModel):
206
249
  trust_remote_code: bool = False,
207
250
  # Some rbln-config should be applied before loading torch module (i.e. quantized llm)
208
251
  rbln_config: Optional[RBLNModelConfig] = None,
252
+ dtype: Optional[Union[str, torch.dtype, dict]] = None,
209
253
  **kwargs,
210
254
  ) -> "PreTrainedModel":
211
255
  kwargs = cls.update_kwargs(kwargs)
212
- return cls.get_hf_class().from_pretrained(
256
+
257
+ hf_class = cls.get_hf_class()
258
+
259
+ if dtype is not None:
260
+ config = hf_class.config_class.from_pretrained(
261
+ model_id,
262
+ subfolder=subfolder,
263
+ revision=revision,
264
+ cache_dir=cache_dir,
265
+ use_auth_token=use_auth_token,
266
+ local_files_only=local_files_only,
267
+ force_download=force_download,
268
+ trust_remote_code=trust_remote_code,
269
+ )
270
+
271
+ config, processed_dtype, dtype_orig = _get_dtype(
272
+ cls=hf_class,
273
+ dtype=dtype,
274
+ config=config,
275
+ )
276
+
277
+ kwargs["torch_dtype"] = processed_dtype
278
+
279
+ if dtype_orig is not None:
280
+ hf_class._set_default_dtype(dtype_orig)
281
+
282
+ return hf_class.from_pretrained(
213
283
  model_id,
214
284
  subfolder=subfolder,
215
285
  revision=revision,
@@ -23,6 +23,7 @@ different model architectures.
23
23
  import inspect
24
24
  from typing import TYPE_CHECKING, Optional, Union
25
25
 
26
+ from torch import nn
26
27
  from transformers import (
27
28
  AutoModel,
28
29
  AutoModelForAudioClassification,
@@ -57,6 +58,28 @@ class RBLNTransformerEncoder(RBLNModel):
57
58
  rbln_model_input_names = ["input_ids", "attention_mask", "token_type_ids"]
58
59
  rbln_dtype = "int64"
59
60
 
61
+ @classmethod
62
+ def wrap_model_if_needed(cls, model: "PreTrainedModel", rbln_config: RBLNTransformerEncoderConfig) -> nn.Module:
63
+ class TransformerEncoderWrapper(nn.Module):
64
+ # Parameters to disable for RBLN compilation
65
+ DISABLED_PARAMS = {"return_dict", "use_cache"}
66
+
67
+ def __init__(self, model: "PreTrainedModel", rbln_config: RBLNTransformerEncoderConfig):
68
+ super().__init__()
69
+ self.model = model
70
+ self.rbln_config = rbln_config
71
+ self._forward_signature = inspect.signature(model.forward)
72
+
73
+ def forward(self, *args, **kwargs):
74
+ # Disable parameters that are not compatible with RBLN compilation
75
+ for param_name in self.DISABLED_PARAMS:
76
+ if param_name in self._forward_signature.parameters:
77
+ kwargs[param_name] = False
78
+
79
+ return self.model(*args, **kwargs)
80
+
81
+ return TransformerEncoderWrapper(model, rbln_config).eval()
82
+
60
83
  @classmethod
61
84
  def _update_rbln_config(
62
85
  cls,
@@ -208,7 +231,6 @@ class RBLNModelForQuestionAnswering(RBLNTransformerEncoder):
208
231
 
209
232
  def _prepare_output(self, output, return_dict):
210
233
  # Prepare QuestionAnswering specific output format.
211
-
212
234
  start_logits, end_logits = output
213
235
 
214
236
  if not return_dict:
@@ -31,6 +31,7 @@ from transformers.utils import logging
31
31
  from ....configuration_utils import RBLNCompileConfig, RBLNModelConfig
32
32
  from ....modeling import RBLNModel
33
33
  from ...utils.rbln_runtime_wrapper import LoopProcessor
34
+ from ..decoderonly.generation_decoderonly import RBLNDecoderOnlyGenerationMixin
34
35
 
35
36
 
36
37
  logger = logging.get_logger(__name__)
@@ -265,7 +266,7 @@ class RBLNBlip2QFormerModel(RBLNModel):
265
266
  )
266
267
 
267
268
 
268
- class RBLNBlip2ForConditionalGeneration(RBLNModel):
269
+ class RBLNBlip2ForConditionalGeneration(RBLNModel, RBLNDecoderOnlyGenerationMixin):
269
270
  """
270
271
  RBLNBlip2ForConditionalGeneration is a multi-modal model that integrates vision and language processing capabilities,
271
272
  optimized for RBLN NPUs. It is designed for conditional generation tasks that involve both image and text inputs.
@@ -433,3 +434,66 @@ class RBLNBlip2ForConditionalGeneration(RBLNModel):
433
434
  )
434
435
 
435
436
  return inputs_embeds
437
+
438
+ @torch.no_grad()
439
+ def generate(
440
+ self,
441
+ pixel_values: torch.FloatTensor,
442
+ input_ids: Optional[torch.LongTensor] = None,
443
+ attention_mask: Optional[torch.LongTensor] = None,
444
+ inputs_embeds: Optional[torch.FloatTensor] = None,
445
+ interpolate_pos_encoding: bool = False,
446
+ **generate_kwargs,
447
+ ) -> torch.LongTensor:
448
+ batch_size = pixel_values.shape[0]
449
+ image_embeds = self.vision_model(
450
+ pixel_values,
451
+ return_dict=True,
452
+ interpolate_pos_encoding=interpolate_pos_encoding,
453
+ ).last_hidden_state
454
+ image_attention_mask = torch.ones(image_embeds.size()[:-1], dtype=torch.long, device=image_embeds.device)
455
+
456
+ query_tokens = self.query_tokens.expand(image_embeds.shape[0], -1, -1)
457
+ query_outputs = self.qformer(
458
+ query_embeds=query_tokens,
459
+ encoder_hidden_states=image_embeds,
460
+ encoder_attention_mask=image_attention_mask,
461
+ return_dict=True,
462
+ )
463
+ query_output = query_outputs.last_hidden_state
464
+
465
+ if query_output.dtype != image_embeds.dtype:
466
+ query_output = query_output.to(image_embeds.dtype)
467
+
468
+ language_model_inputs = self.language_projection(query_output)
469
+
470
+ if inputs_embeds is None:
471
+ if input_ids is None:
472
+ image_tokens = [self.config.image_token_index] * self.config.num_query_tokens
473
+ start_tokens = image_tokens + [self.config.text_config.bos_token_id]
474
+ input_ids = torch.tensor([start_tokens], dtype=torch.long, device=image_embeds.device)
475
+ input_ids = input_ids.repeat(batch_size, 1)
476
+ inputs_embeds = self.get_input_embeddings()(input_ids)
477
+
478
+ if attention_mask is None:
479
+ attention_mask = torch.ones_like(input_ids)
480
+
481
+ if input_ids is None:
482
+ special_image_mask = inputs_embeds == self.get_input_embeddings()(
483
+ torch.tensor(self.config.image_token_id, dtype=torch.long, device=inputs_embeds.device)
484
+ )
485
+ special_image_mask = special_image_mask.all(-1)
486
+ else:
487
+ special_image_mask = input_ids == self.config.image_token_id
488
+
489
+ special_image_mask = special_image_mask.unsqueeze(-1).expand_as(inputs_embeds).to(inputs_embeds.device)
490
+ language_model_inputs = language_model_inputs.to(inputs_embeds.device, inputs_embeds.dtype)
491
+ inputs_embeds = inputs_embeds.masked_scatter(special_image_mask, language_model_inputs)
492
+
493
+ inputs = {"inputs_embeds": inputs_embeds, "attention_mask": attention_mask}
494
+ if not self.language_model.config.is_encoder_decoder:
495
+ inputs["input_ids"] = input_ids
496
+
497
+ outputs = self.language_model.generate(**inputs, **generate_kwargs)
498
+
499
+ return outputs
@@ -19,7 +19,7 @@ from typing import TYPE_CHECKING, Any, Callable, List, Optional, Tuple, Union
19
19
  import rebel
20
20
  import torch
21
21
  from rebel.compile_context import CompileContext
22
- from transformers import AutoModel, AutoModelForCausalLM, PretrainedConfig, PreTrainedModel
22
+ from transformers import AutoConfig, AutoModel, AutoModelForCausalLM, PretrainedConfig, PreTrainedModel
23
23
  from transformers.modeling_outputs import BaseModelOutputWithPast
24
24
  from transformers.modeling_utils import no_init_weights
25
25
 
@@ -317,12 +317,27 @@ class RBLNDecoderOnlyModel(RBLNModel, RBLNDecoderOnlyFlashAttentionMixin):
317
317
 
318
318
  @classmethod
319
319
  def get_pytorch_model(
320
- cls, *args, rbln_config: Optional[RBLNDecoderOnlyModelConfig] = None, **kwargs
320
+ cls,
321
+ model_id: str,
322
+ *args,
323
+ rbln_config: Optional[RBLNDecoderOnlyModelConfig] = None,
324
+ num_hidden_layers: Optional[int] = None,
325
+ **kwargs,
321
326
  ) -> PreTrainedModel:
322
327
  if rbln_config and rbln_config.quantization:
323
- model = cls.get_quantized_model(*args, rbln_config=rbln_config, **kwargs)
328
+ model = cls.get_quantized_model(model_id, *args, rbln_config=rbln_config, **kwargs)
324
329
  else:
325
- model = super().get_pytorch_model(*args, **kwargs)
330
+ if num_hidden_layers is not None:
331
+ trust_remote_code = kwargs.get("trust_remote_code", None)
332
+ config, kwargs = AutoConfig.from_pretrained(
333
+ model_id, return_unused_kwargs=True, num_hidden_layers=num_hidden_layers, **kwargs
334
+ )
335
+ if hasattr(config, "layer_types"):
336
+ config.layer_types = config.layer_types[:num_hidden_layers]
337
+ kwargs["config"] = config
338
+ kwargs["trust_remote_code"] = trust_remote_code
339
+
340
+ model = super().get_pytorch_model(model_id, *args, **kwargs)
326
341
 
327
342
  return model
328
343
 
@@ -28,6 +28,7 @@ from ....modeling import RBLNModel
28
28
  from ...modeling_outputs import RBLNDecoderOnlyOutput
29
29
  from ...utils.rbln_runtime_wrapper import LoopProcessor
30
30
  from ..decoderonly.decoderonly_runtime_utils import RBLNPageTableManager
31
+ from ..decoderonly.generation_decoderonly import RBLNDecoderOnlyGenerationMixin
31
32
  from ..decoderonly.modeling_decoderonly import (
32
33
  RBLNDecoderOnlyModelForCausalLM,
33
34
  )
@@ -77,7 +78,7 @@ class LoopProjector(LoopProcessor):
77
78
  return output[0]
78
79
 
79
80
 
80
- class RBLNGemma3ForConditionalGeneration(RBLNModel):
81
+ class RBLNGemma3ForConditionalGeneration(RBLNModel, RBLNDecoderOnlyGenerationMixin):
81
82
  auto_model_class = AutoModelForImageTextToText
82
83
  _rbln_submodules = [
83
84
  {"name": "vision_tower"},
@@ -35,6 +35,7 @@ from ....configuration_utils import RBLNCompileConfig, RBLNModelConfig
35
35
  from ....modeling import RBLNModel
36
36
  from ....utils.runtime_utils import RBLNPytorchRuntime
37
37
  from ...modeling_outputs import RBLNDecoderOnlyOutput
38
+ from ..decoderonly.generation_decoderonly import RBLNDecoderOnlyGenerationMixin
38
39
 
39
40
 
40
41
  if TYPE_CHECKING:
@@ -120,9 +121,6 @@ class RBLNIdefics3VisionTransformer(RBLNModel):
120
121
  encoder_outputs = self.encoder(
121
122
  inputs_embeds=hidden_states,
122
123
  attention_mask=patch_attention_mask,
123
- output_attentions=None,
124
- output_hidden_states=None,
125
- return_dict=False,
126
124
  )
127
125
  last_hidden_state = encoder_outputs[0]
128
126
  last_hidden_state = self.post_layernorm(last_hidden_state)
@@ -185,7 +183,7 @@ class RBLNIdefics3VisionTransformer(RBLNModel):
185
183
  return BaseModelOutput(last_hidden_state=last_hidden_state)
186
184
 
187
185
 
188
- class RBLNIdefics3ForConditionalGeneration(RBLNModel):
186
+ class RBLNIdefics3ForConditionalGeneration(RBLNModel, RBLNDecoderOnlyGenerationMixin):
189
187
  """
190
188
  RBLNIdefics3ForConditionalGeneration is a multi-modal model that integrates vision and language processing capabilities,
191
189
  optimized for RBLN NPUs. It is designed for conditional generation tasks that involve both image and text inputs.
@@ -27,6 +27,7 @@ from ....modeling import RBLNModel
27
27
  from ....utils.logging import get_logger
28
28
  from ...modeling_outputs import RBLNDecoderOnlyOutput
29
29
  from ...utils.rbln_runtime_wrapper import LoopProcessor
30
+ from ..decoderonly.generation_decoderonly import RBLNDecoderOnlyGenerationMixin
30
31
 
31
32
 
32
33
  logger = get_logger(__name__)
@@ -103,7 +104,7 @@ class LoopProjector(LoopProcessor):
103
104
  return output[0]
104
105
 
105
106
 
106
- class RBLNLlavaForConditionalGeneration(RBLNModel):
107
+ class RBLNLlavaForConditionalGeneration(RBLNModel, RBLNDecoderOnlyGenerationMixin):
107
108
  """
108
109
  RBLNLlavaForConditionalGeneration is a multi-modal model that combines vision and language processing capabilities,
109
110
  optimized for RBLN NPUs. It is designed for conditional generation tasks that involve both image and text inputs.
@@ -32,6 +32,7 @@ from ....configuration_utils import RBLNCompileConfig, RBLNModelConfig
32
32
  from ....modeling import RBLNModel
33
33
  from ....utils.logging import get_logger
34
34
  from ...utils.rbln_runtime_wrapper import LoopProcessor
35
+ from ..decoderonly.generation_decoderonly import RBLNDecoderOnlyGenerationMixin
35
36
  from ..decoderonly.modeling_decoderonly import RBLNDecoderOnlyOutput
36
37
 
37
38
 
@@ -87,7 +88,7 @@ class LoopProjector(LoopProcessor):
87
88
  return output[0]
88
89
 
89
90
 
90
- class RBLNLlavaNextForConditionalGeneration(RBLNModel):
91
+ class RBLNLlavaNextForConditionalGeneration(RBLNModel, RBLNDecoderOnlyGenerationMixin):
91
92
  """
92
93
  RBLNLlavaNextForConditionalGeneration is a multi-modal model that combines vision and language processing capabilities,
93
94
  optimized for RBLN NPUs. It is designed for conditional generation tasks that involve both image and text inputs.
@@ -400,15 +400,6 @@ class RBLNQwen2_5_VLForConditionalGeneration(RBLNDecoderOnlyModelForCausalLM):
400
400
  del model.lm_head
401
401
  return model
402
402
 
403
- @classmethod
404
- def update_kwargs(cls, kwargs):
405
- kwargs.update(
406
- {
407
- "_attn_implementation": "eager",
408
- }
409
- )
410
- return super().update_kwargs(kwargs)
411
-
412
403
  @classmethod
413
404
  def get_input_info(
414
405
  cls,
@@ -20,6 +20,7 @@ import rebel
20
20
  import torch
21
21
  from rebel.compile_context import CompileContext
22
22
  from transformers import AutoModelForSeq2SeqLM, PretrainedConfig, PreTrainedModel
23
+ from transformers.generation.utils import GenerationMixin
23
24
  from transformers.modeling_outputs import BaseModelOutput, Seq2SeqLMOutput
24
25
 
25
26
  from ....configuration_utils import RBLNCompileConfig
@@ -101,7 +102,7 @@ class RBLNRuntimeDecoder(RBLNPytorchRuntime):
101
102
  return Seq2SeqLMOutput(logits=lm_logits)
102
103
 
103
104
 
104
- class RBLNModelForSeq2SeqLM(RBLNModel, ABC):
105
+ class RBLNModelForSeq2SeqLM(RBLNModel, GenerationMixin, ABC):
105
106
  """
106
107
  This is a generic model class that will be instantiated as one of the model classes of the library (with a sequence-to-sequence language modeling head) when created with the from_pretrained() class method.
107
108
  This model inherits from [`RBLNModel`]. Check the superclass documentation for the generic methods the library implements for all its models.
@@ -117,6 +118,7 @@ class RBLNModelForSeq2SeqLM(RBLNModel, ABC):
117
118
  main_input_name = "input_ids"
118
119
  auto_model_class = AutoModelForSeq2SeqLM
119
120
  support_causal_attn = None
121
+ _is_stateful = False
120
122
 
121
123
  def __post_init__(self, **kwargs):
122
124
  batch_size = self.rbln_config.batch_size
@@ -150,7 +150,8 @@ class RBLNWhisperForConditionalGeneration(RBLNModel, RBLNWhisperGenerationMixin)
150
150
  """
151
151
 
152
152
  auto_model_class = AutoModelForSpeechSeq2Seq
153
- main_input_name = "input_ids"
153
+ main_input_name = "input_features"
154
+ _is_stateful = False
154
155
 
155
156
  def __post_init__(self, **kwargs):
156
157
  super().__post_init__(**kwargs)