microsoft / microsoft/Olive

[FR]: Add Support and Documentation for Vision-Language Models (VLMs) like InternVL and Qwen2 VL

Open
#2,226 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
2.4k
Forks
315
Avg merge
4d 11h
Merged PRs (30d)
16

Description

Proposal Summary

Dear Olive team,

First, thank you for developing and maintaining the Olive repository—it’s been incredibly useful for optimizing and quantizing large language models (LLMs) in my workflow. However, I’ve encountered a gap while working with vision-language models (VLMs) like InternVL and Qwen2 VL: there are currently no end-to-end examples or explicit guidance for quantizing, converting, or optimizing these multimodal models using Olive.

VLMs are becoming increasingly critical for tasks like image-text understanding, visual question answering, and multimodal generation. Models such as InternVL and Qwen2 VL have gained traction in the community, but their optimization pipeline differs from that of text-only LLMs due to their dual components (visual encoders + language decoders) and unique input formats (combining images and text).

I’m writing to request:

End-to-end examples for quantizing and converting popular VLMs (e.g., InternVL, Qwen2 VL) using Olive, similar to the examples provided for text-only LLMs. This would help users navigate the specific steps needed to handle both visual and linguistic components.

Clarification on key differences between optimizing VLMs and traditional LLMs in Olive.

For instance:

Do visual encoders require distinct quantization strategies (e.g., different bit-widths, calibration data)?
How should input pipelines (handling both images and text) be adapted for Olive’s optimization workflows?
Are there special considerations for preserving multimodal alignment during quantization?

Adding this support would make Olive more versatile for the growing field of multimodal AI and help the community leverage your tooling for VLMs effectively.

What component(s) does this request affect?
  • OliveModels
  • OliveSystems
  • OliveEvaluator
  • Metrics
  • Engine
  • Passes
  • Other

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing Olive’s existing text-only model optimization examples and the Engine, Passes, and Metrics components identified in the request. Determine the requirements for InternVL and Qwen2 VL, including visual and language components, multimodal inputs, calibration, and alignment preservation. Done means documented end-to-end examples and clear guidance for quantizing, converting, and optimizing these VLMs.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
ai, machine-learning
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.