optimum-rbln 0.7.4a6__tar.gz → 0.7.4a7__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.
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/PKG-INFO +1 -1
- optimum_rbln-0.7.4a7/examples/image-to-text/run_idefics3.py +67 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/__init__.py +8 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/__version__.py +2 -2
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/__init__.py +8 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/__init__.py +12 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/decoderonly/decoderonly_architecture.py +2 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/decoderonly/modeling_decoderonly.py +6 -0
- optimum_rbln-0.7.4a7/src/optimum/rbln/transformers/models/idefics3/__init__.py +16 -0
- optimum_rbln-0.7.4a7/src/optimum/rbln/transformers/models/idefics3/configuration_idefics3.py +51 -0
- optimum_rbln-0.7.4a7/src/optimum/rbln/transformers/models/idefics3/modeling_idefics3.py +459 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/llava_next/modeling_llava_next.py +6 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/utils/submodule.py +10 -1
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/tests/test_llm.py +36 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/ISSUE_TEMPLATE/model_request.md +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/pull_request_template.md +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/scripts/auto_code_review.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/scripts/validate_pr_checklist.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/version.yaml +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/workflows/auto_code_review.yml +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/workflows/check_code_quality.yml +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/workflows/deploy-on-tag.yaml +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/workflows/deploy.yaml +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/workflows/pr-title-check.yaml +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/workflows/pr_checklist_validator.yml +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/workflows/rbln_check_compiler.yaml +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/workflows/rbln_dispatch_pytest.yaml +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/workflows/rbln_optimum_inference_test.yaml +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/workflows/rbln_optimum_pytest.yaml +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/workflows/rbln_scheduled_test.yaml +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.github/workflows/rbln_trigger_on_pr.yaml +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/.gitignore +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/CODE_OF_CONDUCT.md +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/CONTRIBUTING.md +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/LICENSE +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/README.md +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/assets/rbln_logo.png +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/audio-classification/run_ast_audio_classification.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/depth-estimation/run_dpt.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/image-classification/run_image_classification.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/image-classification/run_vit_image_classification.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/image-to-text/run_llava_next_image_to_text.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/kandinsky2_2/run_kandinsky2_2.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/kandinsky2_2/run_kandinsky2_2_combined.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/kandinsky2_2/run_kandinsky2_2_img2img.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/kandinsky2_2/run_kandinsky2_2_img2img_combined.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/kandinsky2_2/run_kandinsky2_2_inpaint.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/kandinsky2_2/run_kandinsky2_2_inpaint_combined.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/kandinsky2_2/run_kandinsky2_2_prior_interpolate.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/question-answering/run_question_answering.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/speech-recognition/run_wav2vec2.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/speech-recognition/run_whisper.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/stable-diffusion/run_stable_diffusion.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/stable-diffusion/run_stable_diffusion_controlnet.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/stable-diffusion/run_stable_diffusion_img2img.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/stable-diffusion/run_stable_diffusion_img2img_controlnet.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/stable-diffusion/run_stable_diffusion_inpaint.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/stable-diffusion/run_stable_diffusion_lora.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/stable-diffusion/run_stable_diffusion_multicontrolnet.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/text-classification/run_bge_m3_text_classification.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/text-classification/run_bge_reranker_v2_m3_text_classification.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/text-classification/run_secureBERT.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/text-classification/run_t5_classification.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/text-classification/run_twitter_roberta_text_classification.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/text2text-generation/run_bart_text2text_generation.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/text2text-generation/run_llama_peft.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/text2text-generation/run_llama_text2text_generation.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/examples/time-series-forecasting/run_time_series_forecasting.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/pyproject.toml +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/scripts/uv-lock.sh +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/scripts/uv-sync.sh +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/configuration_utils.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/configurations/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/configurations/models/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/configurations/models/configuration_autoencoder_kl.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/configurations/models/configuration_controlnet.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/configurations/models/configuration_prior_transformer.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/configurations/models/configuration_transformer_sd3.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/configurations/models/configuration_unet_2d_condition.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/configurations/models/configuration_vq_model.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/configurations/pipelines/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_controlnet.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_kandinsky2_2.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion_3.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/configurations/pipelines/configuration_stable_diffusion_xl.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/modeling_diffusers.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/models/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/models/autoencoders/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/models/autoencoders/autoencoder_kl.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/models/autoencoders/vae.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/models/autoencoders/vq_model.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/models/controlnet.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/models/transformers/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/models/transformers/prior_transformer.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/models/transformers/transformer_sd3.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/models/unets/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/models/unets/unet_2d_condition.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/controlnet/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/controlnet/multicontrolnet.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_img2img.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl_img2img.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_combined.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_img2img.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_inpaint.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_prior.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_img2img.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_inpaint.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_img2img.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_inpaint.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_img2img.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_inpaint.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/modeling.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/modeling_base.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/ops/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/ops/attn.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/ops/flash_attn.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/ops/kv_cache_update.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/ops/linear.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/configuration_alias.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/configuration_generic.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/modeling_alias.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/modeling_generic.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/modeling_rope_utils.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/auto/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/auto/auto_factory.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/auto/modeling_auto.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/bart/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/bart/bart_architecture.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/bart/configuration_bart.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/bart/modeling_bart.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/bert/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/bert/configuration_bert.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/bert/modeling_bert.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/clip/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/clip/configuration_clip.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/clip/modeling_clip.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/decoderonly/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/decoderonly/configuration_decoderonly.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/dpt/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/dpt/configuration_dpt.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/dpt/modeling_dpt.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/exaone/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/exaone/configuration_exaone.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/exaone/exaone_architecture.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/exaone/modeling_exaone.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/gemma/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/gemma/configuration_gemma.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/gemma/gemma_architecture.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/gemma/modeling_gemma.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/gpt2/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/gpt2/configuration_gpt2.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/gpt2/gpt2_architecture.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/gpt2/modeling_gpt2.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/llama/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/llama/configuration_llama.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/llama/llama_architecture.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/llama/modeling_llama.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/llava_next/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/llava_next/configuration_llava_next.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/midm/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/midm/configuration_midm.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/midm/midm_architecture.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/midm/modeling_midm.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/mistral/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/mistral/configuration_mistral.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/mistral/mistral_architecture.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/mistral/modeling_mistral.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/phi/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/phi/configuration_phi.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/phi/modeling_phi.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/phi/phi_architecture.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/qwen2/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/qwen2/configuration_qwen2.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/qwen2/modeling_qwen2.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/qwen2/qwen2_architecture.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/qwen2_5_vl/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/qwen2_5_vl/configuration_qwen2_5_vl.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/qwen2_5_vl/modeling_qwen2_5_vl.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/qwen2_5_vl/qwen2_5_vl_architecture.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/seq2seq/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/seq2seq/configuration_seq2seq2.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/seq2seq/modeling_seq2seq.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/seq2seq/seq2seq_architecture.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/t5/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/t5/configuration_t5.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/t5/modeling_t5.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/t5/t5_architecture.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/time_series_transformers/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/time_series_transformers/configuration_time_series_transformer.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/time_series_transformers/modeling_time_series_transformers.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/time_series_transformers/time_series_transformers_architecture.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/wav2vec2/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/wav2vec2/configuration_wav2vec.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/wav2vec2/modeling_wav2vec2.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/whisper/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/whisper/configuration_whisper.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/whisper/generation_whisper.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/whisper/modeling_whisper.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/whisper/whisper_architecture.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/xlm_roberta/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/xlm_roberta/configuration_xlm_roberta.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/xlm_roberta/modeling_xlm_roberta.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/utils/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/utils/rbln_quantization.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/utils/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/utils/decorator_utils.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/utils/hub.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/utils/import_utils.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/utils/logging.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/utils/model_utils.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/utils/runtime_utils.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/utils/save_utils.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/tests/__init__.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/tests/psnr.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/tests/requirements_sdxl.txt +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/tests/run_stable_diffusion_xl_base.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/tests/test_base.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/tests/test_config.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/tests/test_diffusers.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/tests/test_transformers.py +0 -0
- {optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/uv.lock +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: optimum-rbln
|
3
|
-
Version: 0.7.
|
3
|
+
Version: 0.7.4a7
|
4
4
|
Summary: Optimum RBLN is the interface between the Hugging Face Transformers and Diffusers libraries and RBLN accelerators. It provides a set of tools enabling easy model loading and inference on single and multiple rbln device settings for different downstream tasks.
|
5
5
|
Project-URL: Homepage, https://rebellions.ai
|
6
6
|
Project-URL: Documentation, https://docs.rbln.ai
|
@@ -0,0 +1,67 @@
|
|
1
|
+
import os
|
2
|
+
import typing
|
3
|
+
|
4
|
+
import fire
|
5
|
+
from datasets import load_dataset
|
6
|
+
from transformers import AutoProcessor
|
7
|
+
|
8
|
+
from optimum.rbln import RBLNIdefics3ForConditionalGeneration
|
9
|
+
|
10
|
+
|
11
|
+
def main(
|
12
|
+
model_id: str = "HuggingFaceM4/Idefics3-8B-Llama3",
|
13
|
+
batch_size: int = 1,
|
14
|
+
from_transformers: bool = False,
|
15
|
+
prompt: typing.Optional[str] = None,
|
16
|
+
max_seq_len: typing.Optional[int] = None,
|
17
|
+
tensor_parallel_size: typing.Optional[int] = 4,
|
18
|
+
):
|
19
|
+
processor = AutoProcessor.from_pretrained(model_id)
|
20
|
+
|
21
|
+
if from_transformers:
|
22
|
+
model = RBLNIdefics3ForConditionalGeneration.from_pretrained(
|
23
|
+
model_id,
|
24
|
+
export=True,
|
25
|
+
rbln_config={
|
26
|
+
"text_model": {
|
27
|
+
"attn_impl": "flash_attn",
|
28
|
+
"max_seq_len": max_seq_len,
|
29
|
+
"use_inputs_embeds": True,
|
30
|
+
"tensor_parallel_size": tensor_parallel_size,
|
31
|
+
"batch_size": batch_size,
|
32
|
+
}
|
33
|
+
},
|
34
|
+
)
|
35
|
+
model.save_pretrained(os.path.basename(model_id))
|
36
|
+
else:
|
37
|
+
model = RBLNIdefics3ForConditionalGeneration.from_pretrained(
|
38
|
+
os.path.basename(model_id),
|
39
|
+
export=False,
|
40
|
+
)
|
41
|
+
|
42
|
+
ds = load_dataset("HuggingFaceM4/the_cauldron", "ai2d", split="train")
|
43
|
+
samples = ds.select(range(batch_size))
|
44
|
+
images = []
|
45
|
+
prompts = []
|
46
|
+
|
47
|
+
for sample in samples:
|
48
|
+
img = sample["images"]
|
49
|
+
images.append(img)
|
50
|
+
|
51
|
+
message = [{"role": "user", "content": [{"type": "image"}, {"type": "text", "text": "Describe this image."}]}]
|
52
|
+
prompt = processor.apply_chat_template(message, add_generation_prompt=True)
|
53
|
+
prompts.append(prompt)
|
54
|
+
|
55
|
+
inputs = processor(text=prompts, images=images, return_tensors="pt", padding=True)
|
56
|
+
inputs = dict(inputs)
|
57
|
+
# Generate
|
58
|
+
|
59
|
+
generated_ids = model.generate(**inputs, max_new_tokens=500)
|
60
|
+
generated_texts = processor.batch_decode(generated_ids, skip_special_tokens=True)
|
61
|
+
|
62
|
+
for i, text in enumerate(generated_texts):
|
63
|
+
print(f"Sample {i + 1} generate:\n{text}\n")
|
64
|
+
|
65
|
+
|
66
|
+
if __name__ == "__main__":
|
67
|
+
fire.Fire(main)
|
@@ -74,6 +74,10 @@ _import_structure = {
|
|
74
74
|
"RBLNGemmaForCausalLMConfig",
|
75
75
|
"RBLNGPT2LMHeadModel",
|
76
76
|
"RBLNGPT2LMHeadModelConfig",
|
77
|
+
"RBLNIdefics3VisionTransformer",
|
78
|
+
"RBLNIdefics3ForConditionalGeneration",
|
79
|
+
"RBLNIdefics3ForConditionalGenerationConfig",
|
80
|
+
"RBLNIdefics3VisionTransformerConfig",
|
77
81
|
"RBLNLlamaForCausalLM",
|
78
82
|
"RBLNLlamaForCausalLMConfig",
|
79
83
|
"RBLNLlavaNextForConditionalGeneration",
|
@@ -281,6 +285,10 @@ if TYPE_CHECKING:
|
|
281
285
|
RBLNGemmaForCausalLMConfig,
|
282
286
|
RBLNGPT2LMHeadModel,
|
283
287
|
RBLNGPT2LMHeadModelConfig,
|
288
|
+
RBLNIdefics3ForConditionalGeneration,
|
289
|
+
RBLNIdefics3ForConditionalGenerationConfig,
|
290
|
+
RBLNIdefics3VisionTransformer,
|
291
|
+
RBLNIdefics3VisionTransformerConfig,
|
284
292
|
RBLNLlamaForCausalLM,
|
285
293
|
RBLNLlamaForCausalLMConfig,
|
286
294
|
RBLNLlavaNextForConditionalGeneration,
|
@@ -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.
|
21
|
-
__version_tuple__ = version_tuple = (0, 7, 4, '
|
20
|
+
__version__ = version = '0.7.4a7'
|
21
|
+
__version_tuple__ = version_tuple = (0, 7, 4, 'a7')
|
@@ -68,6 +68,10 @@ _import_structure = {
|
|
68
68
|
"RBLNGemmaForCausalLMConfig",
|
69
69
|
"RBLNGPT2LMHeadModel",
|
70
70
|
"RBLNGPT2LMHeadModelConfig",
|
71
|
+
"RBLNIdefics3VisionTransformer",
|
72
|
+
"RBLNIdefics3ForConditionalGeneration",
|
73
|
+
"RBLNIdefics3ForConditionalGenerationConfig",
|
74
|
+
"RBLNIdefics3VisionTransformerConfig",
|
71
75
|
"RBLNLlamaForCausalLM",
|
72
76
|
"RBLNLlamaForCausalLMConfig",
|
73
77
|
"RBLNLlavaNextForConditionalGeneration",
|
@@ -169,6 +173,10 @@ if TYPE_CHECKING:
|
|
169
173
|
RBLNGemmaForCausalLMConfig,
|
170
174
|
RBLNGPT2LMHeadModel,
|
171
175
|
RBLNGPT2LMHeadModelConfig,
|
176
|
+
RBLNIdefics3ForConditionalGeneration,
|
177
|
+
RBLNIdefics3ForConditionalGenerationConfig,
|
178
|
+
RBLNIdefics3VisionTransformer,
|
179
|
+
RBLNIdefics3VisionTransformerConfig,
|
172
180
|
RBLNLlamaForCausalLM,
|
173
181
|
RBLNLlamaForCausalLMConfig,
|
174
182
|
RBLNLlavaNextForConditionalGeneration,
|
{optimum_rbln-0.7.4a6 → optimum_rbln-0.7.4a7}/src/optimum/rbln/transformers/models/__init__.py
RENAMED
@@ -73,6 +73,12 @@ _import_structure = {
|
|
73
73
|
"exaone": ["RBLNExaoneForCausalLM", "RBLNExaoneForCausalLMConfig"],
|
74
74
|
"gemma": ["RBLNGemmaForCausalLM", "RBLNGemmaForCausalLMConfig"],
|
75
75
|
"gpt2": ["RBLNGPT2LMHeadModel", "RBLNGPT2LMHeadModelConfig"],
|
76
|
+
"idefics3": [
|
77
|
+
"RBLNIdefics3VisionTransformer",
|
78
|
+
"RBLNIdefics3ForConditionalGeneration",
|
79
|
+
"RBLNIdefics3ForConditionalGenerationConfig",
|
80
|
+
"RBLNIdefics3VisionTransformerConfig",
|
81
|
+
],
|
76
82
|
"llama": ["RBLNLlamaForCausalLM", "RBLNLlamaForCausalLMConfig"],
|
77
83
|
"llava_next": ["RBLNLlavaNextForConditionalGeneration", "RBLNLlavaNextForConditionalGenerationConfig"],
|
78
84
|
"midm": ["RBLNMidmLMHeadModel", "RBLNMidmLMHeadModelConfig"],
|
@@ -144,6 +150,12 @@ if TYPE_CHECKING:
|
|
144
150
|
from .exaone import RBLNExaoneForCausalLM, RBLNExaoneForCausalLMConfig
|
145
151
|
from .gemma import RBLNGemmaForCausalLM, RBLNGemmaForCausalLMConfig
|
146
152
|
from .gpt2 import RBLNGPT2LMHeadModel, RBLNGPT2LMHeadModelConfig
|
153
|
+
from .idefics3 import (
|
154
|
+
RBLNIdefics3ForConditionalGeneration,
|
155
|
+
RBLNIdefics3ForConditionalGenerationConfig,
|
156
|
+
RBLNIdefics3VisionTransformer,
|
157
|
+
RBLNIdefics3VisionTransformerConfig,
|
158
|
+
)
|
147
159
|
from .llama import RBLNLlamaForCausalLM, RBLNLlamaForCausalLMConfig
|
148
160
|
from .llava_next import RBLNLlavaNextForConditionalGeneration, RBLNLlavaNextForConditionalGenerationConfig
|
149
161
|
from .midm import RBLNMidmLMHeadModel, RBLNMidmLMHeadModelConfig
|
@@ -184,6 +184,7 @@ class DecoderOnlyWrapper(nn.Module):
|
|
184
184
|
|
185
185
|
def convert_to_rbln_causal_lm(self, causal_lm: PreTrainedModel, max_seq_len: int):
|
186
186
|
new_layers = []
|
187
|
+
|
187
188
|
for layer in causal_lm.model.layers:
|
188
189
|
if self.attn_impl == "eager":
|
189
190
|
new_self_attn = DecoderOnlyAttention(
|
@@ -201,6 +202,7 @@ class DecoderOnlyWrapper(nn.Module):
|
|
201
202
|
|
202
203
|
new_layer = DecoderOnlyLayer(layer, new_self_attn)
|
203
204
|
new_layers.append(new_layer)
|
205
|
+
|
204
206
|
new_model = DecoderOnlyModel(
|
205
207
|
causal_lm.model,
|
206
208
|
new_layers,
|
@@ -451,6 +451,12 @@ class RBLNDecoderOnlyModelForCausalLM(RBLNModel):
|
|
451
451
|
def get_input_embeddings(self):
|
452
452
|
return self.embed_tokens
|
453
453
|
|
454
|
+
def get_attn_impl(self) -> str:
|
455
|
+
return self.rbln_config.attn_impl
|
456
|
+
|
457
|
+
def get_kvcache_num_blocks(self) -> int:
|
458
|
+
return self.rbln_config.kvcache_num_blocks
|
459
|
+
|
454
460
|
@classmethod
|
455
461
|
def get_quantized_model(
|
456
462
|
cls,
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# Copyright 2025 Rebellions Inc. All rights reserved.
|
2
|
+
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at:
|
6
|
+
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
from .configuration_idefics3 import RBLNIdefics3ForConditionalGenerationConfig, RBLNIdefics3VisionTransformerConfig
|
16
|
+
from .modeling_idefics3 import RBLNIdefics3ForConditionalGeneration, RBLNIdefics3VisionTransformer
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# Copyright 2025 Rebellions Inc. All rights reserved.
|
2
|
+
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at:
|
6
|
+
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
from typing import Optional
|
16
|
+
|
17
|
+
from ....configuration_utils import RBLNModelConfig
|
18
|
+
|
19
|
+
|
20
|
+
class RBLNIdefics3VisionTransformerConfig(RBLNModelConfig):
|
21
|
+
pass
|
22
|
+
|
23
|
+
|
24
|
+
class RBLNIdefics3ForConditionalGenerationConfig(RBLNModelConfig):
|
25
|
+
submodules = ["vision_model", "text_model"]
|
26
|
+
|
27
|
+
def __init__(
|
28
|
+
self,
|
29
|
+
batch_size: Optional[int] = None,
|
30
|
+
vision_model: Optional[RBLNModelConfig] = None,
|
31
|
+
text_model: Optional[RBLNModelConfig] = None,
|
32
|
+
**kwargs,
|
33
|
+
):
|
34
|
+
"""
|
35
|
+
Args:
|
36
|
+
batch_size (Optional[int]): The batch size for inference. Defaults to 1.
|
37
|
+
vision_model (Optional[RBLNModelConfig]): Configuration for the vision transformer component.
|
38
|
+
text_model (Optional[RBLNModelConfig]): Configuration for the text model component.
|
39
|
+
**kwargs: Additional arguments passed to the parent RBLNModelConfig.
|
40
|
+
|
41
|
+
Raises:
|
42
|
+
ValueError: If batch_size is not a positive integer.
|
43
|
+
"""
|
44
|
+
|
45
|
+
super().__init__(**kwargs)
|
46
|
+
self.batch_size = batch_size or 1
|
47
|
+
if not isinstance(self.batch_size, int) or self.batch_size < 0:
|
48
|
+
raise ValueError(f"batch_size must be a positive integer, got {self.batch_size}")
|
49
|
+
|
50
|
+
self.vision_model = vision_model
|
51
|
+
self.text_model = text_model
|