huggingface / huggingface/optimum-intel
Feature Request] Support phi4-siglip / Phi-4-reasoning-vision-15B architecture in OpenVINO export
- Dominant language
- Jupyter Notebook
- Stars
- 620
- Forks
- 270
- Avg merge
- 4d 47m
- Merged PRs (30d)
- 25
Description
Feature request
Add native OpenVINO export support for the phi4-siglip architecture used by [microsoft/Phi-4-reasoning-vision-15B](https://huggingface.co/microsoft/Phi-4-reasoning-vision-15B).
Model architecture summary
Language backbone: Phi-4-Reasoning
Vision encoder: SigLIP-2 (google/siglip2-so400m-patch16-naflex)
Connector: 2-layer GELU MLP projector (LLaVA-style mid-fusion)
model_type: phi4-siglip, architectures: ["Phi4ForCausalLMV"]
Officially released by Microsoft, March 2026, MIT license
Model card: https://huggingface.co/microsoft/Phi-4-reasoning-vision-15B
Technical report: https://arxiv.org/pdf/2603.03975
Reproduction
bash
optimum-cli export openvino --model microsoft/Phi-4-reasoning-vision-15B \
--task image-text-to-text --trust-remote-code ./output
Also reproducible via the Python API:
python
from optimum.intel import OVModelForVisualCausalLM
model = OVModelForVisualCausalLM.from_pretrained(
"microsoft/Phi-4-reasoning-vision-15B",
export=True,
trust_remote_code=True,
)
Error
Step 1/4: Tracing PyTorch Model Graph into memory...
Traceback (most recent call last):
File ".../optimum/intel/openvino/modeling_base.py", line 656, in from_pretrained
return super().from_pretrained(
File ".../optimum/modeling_base.py", line 407, in from_pretrained
return from_pretrained_method(
File ".../optimum/intel/openvino/modeling_visual_language.py", line 1062, in _export
main_export(
File ".../optimum/exporters/openvino/__main__.py", line 430, in main_export
raise ValueError(
ValueError: Trying to export a phi4-siglip model, that is a custom or unsupported
architecture, but no custom export configuration was passed as `custom_export_configs`.
Please refer to https://huggingface.co/docs/optimum/main/en/exporters/onnx/usage_guides/export_a_model#custom-export-of-transformers-models
for an example on how to export custom models.
Please open an issue at https://github.com/huggingface/optimum-intel/issues if you would
like the model type phi4-siglip to be supported natively in the OpenVINO export.
System info
optimum: 2.2.0.dev0
optimum-intel: 2.1.0.dev0+109314c
openvino: 2026.2.1
openvino-genai: 2026.2.1.0
transformers:
Python: 3.10
OS: Ubuntu (Linux)
Related issues
huggingface/optimum#1897 — general SigLIP export support request; likely a prerequisite since phi4-siglip's vision tower is SigLIP-2.
Motivation
Phi-4-reasoning-vision-15B is an officially released Microsoft model (Foundry, Hugging Face, GitHub) with no existing OpenVINO IR conversion path currently available anywhere — no native support, no community conversion. Given Phi-4 models are already well supported in OpenVINO for text-only and other vision variants (Phi-3-vision, Phi-3.5-vision, Phi-4-multimodal), native support for this newer reasoning-vision variant would be a natural extension.
Happy to test against a draft PR or provide additional repro details if useful.
[phi4-siglip-openvino-issue.md](https://github.com/user-attachments/files/30849650/phi4-siglip-openvino-issue.md)
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the optimum-cli export and the OVModelForVisualCausalLM.from_pretrained example from the issue. Read optimum/intel/openvino/modeling_visual_language.py and optimum/exporters/openvino/__main__.py, then review the related SigLIP export issue. Done means the phi4-siglip model exports natively to OpenVINO through both documented entry points.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- machine-learning, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100