Vision Language Models (VLMs)

View as Markdown

Introduction

Vision Language Models (VLMs) integrate vision and language processing capabilities, enabling models to understand images and generate text descriptions, answer visual questions, and perform multimodal reasoning.

NeMo AutoModel LLM APIs can be easily extended to support VLM tasks. While most of the training setup is the same as for LLMs, some additional steps are required to prepare the data and model for VLM training.

Run VLMs with NeMo AutoModel

To run VLMs with NeMo AutoModel, use NeMo container version 26.06.00 or later. If the model you want to fine-tune requires newer source than the container provides, use a current checkout so the package and its example recipes stay on one revision:

$git clone https://github.com/NVIDIA-NeMo/Automodel.git
$cd Automodel
$uv sync --locked --all-groups --all-extras --extra vlm-media

For other installation options, see our Installation Guide.

VLMs that decode video or use Qwen / Mistral vision preprocessing also need the vlm-media extra included in the source-sync command above; it is not installed in the Docker container by default. See Media Extras.

Supported Models

NeMo AutoModel supports AutoModelForImageTextToText in the Image-Text-to-Text category.

OwnerModelArchitectures
Moonshot AIKimi-VLKimiVLForConditionalGeneration, KimiK25ForConditionalGeneration, KimiK25VLForConditionalGeneration
Moonshot AIKimi-K3KimiK3ForConditionalGeneration, KimiK3ForCausalLM
Thinking Machines LabInklingInklingForConditionalGeneration
GoogleGemma 3 / Gemma 3nGemma3ForCausalLM, Gemma3ForConditionalGeneration
GoogleGemma 4Gemma4UnifiedForConditionalGeneration, Gemma4ForConditionalGeneration, Gemma4AssistantForCausalLM
Qwen / Alibaba CloudQwen2.5-VLQwen2VLForConditionalGeneration, Qwen2_5VLForConditionalGeneration
Qwen / Alibaba CloudQwen3-VL / Qwen3-VL-MoEQwen3VLForConditionalGeneration, Qwen3VLMoeForConditionalGeneration
Qwen / Alibaba CloudQwen3.5Qwen3_5ForConditionalGeneration, Qwen3_5MoeForConditionalGeneration
Qwen / Alibaba CloudQwen3.6Qwen3_5ForConditionalGeneration, Qwen3_5MoeForConditionalGeneration
NVIDIANemotron-ParseNemotronParseForConditionalGeneration
Mistral AIMinistral3 VLMistral3ForConditionalGeneration
Mistral AIMistral-Small-4MistralForConditionalGeneration, Mistral4ForCausalLM
Mistral AIMistral Medium 3.5Mistral3ForConditionalGeneration, Mistral3FP8VLMForConditionalGeneration
InternLM / Shanghai AI LabInternVLInternVLForConditionalGeneration
MetaLlama 4Llama4ForConditionalGeneration
HuggingFaceSmolVLMSmolVLMForConditionalGeneration
LLaVALLaVALlavaForConditionalGeneration, LlavaNextForConditionalGeneration, LlavaNextVideoForConditionalGeneration, LlavaOnevisionForConditionalGeneration
lmms-labLLaVA-OneVision 1.5LLaVAOneVision1_5_ForConditionalGeneration, LlavaOneVisionForConditionalGeneration
Stepfun AIStep-3.7-FlashStep3p6ForConditionalGeneration, Step3p7ForConditionalGeneration
MiniMaxAIMiniMax-M3MiniMaxM3SparseForConditionalGeneration

Fine-Tuning

All supported models can be fine-tuned using either full SFT or PEFT (LoRA) approaches. See the Gemma 3 Fine-Tuning Guide for a complete walkthrough covering dataset preparation, configuration, and multi-GPU training.

In these guides, we use the quintend/rdr-items and naver-clova-ix/cord-v2 datasets for demonstration purposes. Update the recipe YAML dataset section to use your own data. See VLM datasets and dataset overview.