We introduce LLaDA-V, a competitive diffusion-based vision-language model, outperforming other diffusion MLLMs.
The LLaDA-V model is now available on Hugging Face Hub. To quickly test the model with a visual instruction demo, follow these simple steps:
git clone https://github.com/ML-GSAI/LLaDA-V
cd LLaDA-V/train
bash init_env.sh
python generate_demo.py
This repository includes a complete training framework for LLaDA-V, following the LLaVA approach for visual instruction tuning.
As an example, we outlined the data preparation process for training LLaDA-V using the LLaVA-NeXT dataset. You need to prepare the following datasets:
Download the LLaVA pretraining dataset from Hugging Face:
https://huggingface.co/datasets/liuhaotian/LLaVA-Pretrain/tree/main
Create the directory structure train/data/llava_pretrain and extract images.zip into the images subfolder.
Ensure your train/data/llava_pretrain directory contains both the images folder and the blip_laion_cc_sbu_558k.json file.
Download the LLaVA-NeXT dataset from Hugging Face:
https://huggingface.co/datasets/lmms-lab/LLaVA-NeXT-Data
Process the LLaVA-NeXT dataset by following these steps:
Further, if you want to reproduce the results of LLaDA-V, you need to further prepare the following datasets:
Download the MAmmoTH-VL dataset from Hugging Face:
https://huggingface.co/datasets/MAmmoTH-VL/MAmmoTH-VL-Instruct-12M/
Process the MAmmoTH-VL dataset by following these steps:
Download TIGER-Lab/VisualWebInstruct from Hugging Face:
https://huggingface.co/datasets/TIGER-Lab/VisualWebInstruct
Process the TIGER-Lab/VisualWebInstruct dataset by following these steps:
Create the mix dataset by running:
python create_mix_data.py --normal_data train/data/mammoth-vl/mammoth_ov_2M.json --inference_data train/data/visualwebinstruct/mixed_conversation.json --output_path train/data/mix_ov_2M_vw_reasoning.json
Download the pretrained LLaDA-8B-Instruct model from Hugging Face to the train/model/LLaDA-8B-Instruct directory:
https://huggingface.co/GSAI-ML/LLaDA-8B-Instruct
Convert the model checkpoint to Hugging Face format by running:
python train/llada_v_prepare/rename_checkpoint.py \
--source_dir train/model/LLaDA-8B-Instruct \
--target_dir train/model/LLaDA-8B-Instruct-HF
cp train/llada_v_prepare/files/* train/model/LLaDA-8B-Instruct-HF/
Download the pretrained Siglip2 model from Hugging Face to the train/model/siglip2-so400m-patch14-384 directory:
https://huggingface.co/google/siglip2-so400m-patch14-384
Pretrain Script:
cd train && bash scripts/llada_v_pretrain.sh
Finetune Script:
cd train && bash scripts/train_ablation/llada_v_sft.sh
Pretrain Script:
cd train && bash scripts/llada_v_pretrain.sh
Stage 2 Script:
cd train && bash scripts/train_llada_v/llada_v_si_10M.sh
cd train && bash scripts/train_llada_v/llada_v_ov_2M.sh
Stage 3 Script:
cd train && bash scripts/train_llada_v/llada_v_vw.sh
cd train && bash scripts/train_llada_v/llada_v_mix_ov_vw.sh
Script:
cd train && bash scripts/llada_v_finetune.sh
note: you need to add the path of "data_path", "image_folder", "video_folder" in llada_v_finetune.sh.
We provide the evaluation code in this repository, following the lmms-eval library.
git clone https://github.com/ML-GSAI/LLaDA-V
cd LLaDA-V
bash init_env.sh
cd eval && bash scripts/evaluate.sh
If you have any questions, please feel free to contact us at zebin@ruc.edu.cn.
The code is largely based on the LLaVA-NeXT, MAmmoTH-VL, lmms-eval and dLLM-cache. We thank the authors for their great work.
We are also very grateful to Chengyue for helping us adapt Fast-dLLM, which significantly accelerates the generation process.
@article{you2025llada,
title={LLaDA-V: Large Language Diffusion Models with Visual Instruction Tuning},
author={You, Zebin and Nie, Shen and Zhang, Xiaolu and Hu, Jun and Zhou, Jun and Lu, Zhiwu and Wen, Ji-Rong and Li, Chongxuan},
journal={arXiv preprint arXiv:2505.16933},
year={2025}
}
17 commits
1 commits
Python
98.9%
Shell
1.1%
We introduce LLaDA-V, a competitive diffusion-based vision-language model, outperforming other diffusion MLLMs.
The LLaDA-V model is now available on Hugging Face Hub. To quickly test the model with a visual instruction demo, follow these simple steps:
git clone https://github.com/ML-GSAI/LLaDA-V
cd LLaDA-V/train
bash init_env.sh
python generate_demo.py
This repository includes a complete training framework for LLaDA-V, following the LLaVA approach for visual instruction tuning.
As an example, we outlined the data preparation process for training LLaDA-V using the LLaVA-NeXT dataset. You need to prepare the following datasets:
Download the LLaVA pretraining dataset from Hugging Face:
https://huggingface.co/datasets/liuhaotian/LLaVA-Pretrain/tree/main
Create the directory structure train/data/llava_pretrain and extract images.zip into the images subfolder.
Ensure your train/data/llava_pretrain directory contains both the images folder and the blip_laion_cc_sbu_558k.json file.
Download the LLaVA-NeXT dataset from Hugging Face:
https://huggingface.co/datasets/lmms-lab/LLaVA-NeXT-Data
Process the LLaVA-NeXT dataset by following these steps:
Further, if you want to reproduce the results of LLaDA-V, you need to further prepare the following datasets:
Download the MAmmoTH-VL dataset from Hugging Face:
https://huggingface.co/datasets/MAmmoTH-VL/MAmmoTH-VL-Instruct-12M/
Process the MAmmoTH-VL dataset by following these steps:
Download TIGER-Lab/VisualWebInstruct from Hugging Face:
https://huggingface.co/datasets/TIGER-Lab/VisualWebInstruct
Process the TIGER-Lab/VisualWebInstruct dataset by following these steps:
Create the mix dataset by running:
python create_mix_data.py --normal_data train/data/mammoth-vl/mammoth_ov_2M.json --inference_data train/data/visualwebinstruct/mixed_conversation.json --output_path train/data/mix_ov_2M_vw_reasoning.json
Download the pretrained LLaDA-8B-Instruct model from Hugging Face to the train/model/LLaDA-8B-Instruct directory:
https://huggingface.co/GSAI-ML/LLaDA-8B-Instruct
Convert the model checkpoint to Hugging Face format by running:
python train/llada_v_prepare/rename_checkpoint.py \
--source_dir train/model/LLaDA-8B-Instruct \
--target_dir train/model/LLaDA-8B-Instruct-HF
cp train/llada_v_prepare/files/* train/model/LLaDA-8B-Instruct-HF/
Download the pretrained Siglip2 model from Hugging Face to the train/model/siglip2-so400m-patch14-384 directory:
https://huggingface.co/google/siglip2-so400m-patch14-384
Pretrain Script:
cd train && bash scripts/llada_v_pretrain.sh
Finetune Script:
cd train && bash scripts/train_ablation/llada_v_sft.sh
Pretrain Script:
cd train && bash scripts/llada_v_pretrain.sh
Stage 2 Script:
cd train && bash scripts/train_llada_v/llada_v_si_10M.sh
cd train && bash scripts/train_llada_v/llada_v_ov_2M.sh
Stage 3 Script:
cd train && bash scripts/train_llada_v/llada_v_vw.sh
cd train && bash scripts/train_llada_v/llada_v_mix_ov_vw.sh
Script:
cd train && bash scripts/llada_v_finetune.sh
note: you need to add the path of "data_path", "image_folder", "video_folder" in llada_v_finetune.sh.
We provide the evaluation code in this repository, following the lmms-eval library.
git clone https://github.com/ML-GSAI/LLaDA-V
cd LLaDA-V
bash init_env.sh
cd eval && bash scripts/evaluate.sh
If you have any questions, please feel free to contact us at zebin@ruc.edu.cn.
The code is largely based on the LLaVA-NeXT, MAmmoTH-VL, lmms-eval and dLLM-cache. We thank the authors for their great work.
We are also very grateful to Chengyue for helping us adapt Fast-dLLM, which significantly accelerates the generation process.
@article{you2025llada,
title={LLaDA-V: Large Language Diffusion Models with Visual Instruction Tuning},
author={You, Zebin and Nie, Shen and Zhang, Xiaolu and Hu, Jun and Zhou, Jun and Lu, Zhiwu and Wen, Ji-Rong and Li, Chongxuan},
journal={arXiv preprint arXiv:2505.16933},
year={2025}
}
17 commits
1 commits
Python
98.9%
Shell
1.1%