LLaVAR: улучшенная настройка визуальных инструкций для понимания изображений с богатым текстом
Яньчжэ Чжан, Жуйи Чжан, Цзюсян Гу, Юфань Чжоу, Недим Липка, Дийи Ян, Тонг Сунь
Страница проекта
Архив Ссылка
@misc{zhang2023llavar,
title={LLaVAR: Enhanced Visual Instruction Tuning for Text-Rich Image Understanding},
author={Yanzhe Zhang and Ruiyi Zhang and Jiuxiang Gu and Yufan Zhou and Nedim Lipka and Diyi Yang and Tong Sun},
year={2023},
eprint={2306.17107},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
[ОБНОВЛЕНИЕ 08 /01] Ознакомьтесь с готовой к использованию контрольной точкой модели и набором данных для точной настройки от сообщества Huggingface!
[ОБНОВЛЕНИЕ 21 июля] Опубликуйте метаданные использованных изображений LAION: предварительная подготовка/точная настройка.
[ОБНОВЛЕНИЕ 12 июля] Опубликуйте результаты/скрипт оценки OCR для теста MME. LLaVAR увеличивает показатель OCR LLaVA с 50 до 80.
[ОБНОВЛЕНИЕ 07/05] Данные доступны на Huggingface?.
[ОБНОВЛЕНИЕ 07/05] Дельта веса модели на Huggingface?.
[ОБНОВЛЕНИЕ 29.06] Первоначальный выпуск.
Основное различие между нашим кодом и кодом LLaVA заключается в том, что мы изменили файлы обучения/тестирования/обслуживания для поддержки Vicuna v1.1, в которой в качестве разделителя используется '</s>' вместо '###'.
Пожалуйста, подготовьте среду/объедините вес модели согласно LLaVA.
Дельта веса модели: Google Drive, Huggingface
Его следует объединить с LLaMA-13B.
После объединения добавьте «v1» к имени папки и убедитесь, что используется режим разговора «llava_v1».
Данные нашего изображения уже преобразованы в формат предварительной подготовки/тонкой настройки LLaVA (у них «фейковые» имена файлов в формате CC3M и COCO). Вы можете загрузить их и объединить в обучающие наборы LLaVA.
С другой стороны, наши инструкции уже содержат инструкции LLaVA.
Предварительные изображения: Google Диск
Инструкции по предварительной подготовке (595 КБ + 422 КБ): Google Drive
Точная настройка изображений: Google Диск
Инструкции по точной настройке (158К+16К): Google Диск
Инструкции по точной настройке (158К+20К): Google Диск
Мы собираем 50 вопросов и ответов по инструкциям на 50 текстовых изображениях от LAION, которые можно использовать для оценки выполнения инструкций на основе GPT-4.
Оценочные изображения: Google Диск
Контексты оценки GPT-4 (595 КБ + 422 КБ): Файл
Правила оценки GPT-4: Файл
Вопросы: Файл
Ответы GPT-4: Файл
Вам следует объединить наши предтренировочные изображения в папку cc3m.
torchrun --nnodes=1 --nproc_per_node=8 --master_port=25001
/path/to/LLaVA/llava/train/train_mem.py
--model_name_or_path /path/to/models/vicuna_13b_v1_1
--data_path /path/to/chat_llavar.json
--image_folder /path/to/cc3m
--vision_tower openai/clip-vit-large-patch14-336
--tune_mm_mlp_adapter True
--mm_vision_select_layer -2
--mm_use_im_start_end
--bf16 True
--output_dir /path/to/checkpoint
--num_train_epochs 1
--per_device_train_batch_size 8
--per_device_eval_batch_size 4
--gradient_accumulation_steps 2
--evaluation_strategy " no "
--save_strategy " steps "
--save_steps 4000
--save_total_limit 1
--learning_rate 2e-3
--weight_decay 0.
--warmup_ratio 0.03
--lr_scheduler_type " cosine "
--logging_steps 1
--tf32 True
--model_max_length 1024
--gradient_checkpointing True
--lazy_preprocess True
--image_aspect_ratio ' pad '
--report_to wandb
Вам следует объединить наши изображения тонкой настройки в папку coco2017.
torchrun --nnodes=1 --nproc_per_node=8 --master_port=25001
/path/to/LLaVA/llava/train/train_mem.py
--model_name_or_path /path/to/models/vicuna_13b_v1_1
--data_path /path/to/llava_instruct_150k_llavar_16k.json
--image_folder /path/to/coco/images/train2017
--vision_tower openai/clip-vit-large-patch14-336
--pretrain_mm_mlp_adapter /path/to/mm_proj/llava-13b-pretrain.bin
--mm_vision_select_layer -2
--mm_use_im_start_end True
--bf16 True
--output_dir /path/to/checkpoint
--num_train_epochs 3
--per_device_train_batch_size 4
--per_device_eval_batch_size 4
--gradient_accumulation_steps 1
--evaluation_strategy " no "
--save_strategy " steps "
--save_steps 8000
--save_total_limit 1
--learning_rate 2e-5
--weight_decay 0.
--warmup_ratio 0.03
--lr_scheduler_type " cosine "
--logging_steps 1
--tf32 True
--fsdp " full_shard auto_wrap "
--fsdp_transformer_layer_cls_to_wrap ' LlamaDecoderLayer '
--model_max_length 2048
--gradient_checkpointing True
--lazy_preprocess True
--image_aspect_ratio ' pad '
--report_to wandb
Инструкция по использованию изображений COCO.
python /path/to/LLaVA/llava/eval/model_vqa.py
--model-name /path/to/checkpoint
--question-file
/path/to/LLaVA/playground/data/coco2014_val_qa_eval/qa90_questions.jsonl
--image-folder
/path/to/coco2014/val2014
--answers-file
/path/to/qa90-answer-file.jsonl
--conv-mode "llava_v1"
Следование инструкциям по заданному URL-адресу изображения.
python -m llava.eval.run_llava
--model-name /path/to/checkpoint
--image-file "https://cdn.shopify.com/s/files/1/0057/3728/3618/products/a-man-called-otto_ezrjr0pm_480x.progressive.jpg"
--query "Who starred in the movie?"
Для текстового VQA (из MultimodalOCR): после клонирования репозитория и подготовки данных вы можете поместить ./MultimodalOCR/Eval_LLaVAR.py
в /your/path/to/MultimodalOCR/models/LLaVA/
и добавить нашу модель в /your/path/to/MultimodalOCR/eval.py
для оценки.
База кода в основном взята из проекта LLaVA. Наша оценка также построена на проекте MultimodalOCR.
Чтобы улучшить декодер языка, вы также можете обратить внимание на недавнее обновление модели Vicuna.
@article{liu2023llava,
author = {Liu, Haotian and Li, Chunyuan and Wu, Qingyang and Lee, Yong Jae},
title = {Visual Instruction Tuning},
publisher = {arXiv:2304.08485},
year = {2023}
}
@misc{liu2023hidden,
title={On the Hidden Mystery of OCR in Large Multimodal Models},
author={Yuliang Liu and Zhang Li and Hongliang Li and Wenwen Yu and Yang Liu and Biao Yang and Mingxin Huang and Dezhi Peng and Mingyu Liu and Mingrui Chen and Chunyuan Li and Xucheng Yin and Cheng-lin Liu and Lianwen Jin and Xiang Bai},
year={2023},
eprint={2305.07895},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
@misc{vicuna2023,
title = {Vicuna: An Open-Source Chatbot Impressing GPT-4 with 90%* ChatGPT Quality},
url = {https://lmsys.org/blog/2023-03-30-vicuna/},
author = {Chiang, Wei-Lin and Li, Zhuohan and Lin, Zi and Sheng, Ying and Wu, Zhanghao and Zhang, Hao and Zheng, Lianmin and Zhuang, Siyuan and Zhuang, Yonghao and Gonzalez, Joseph E. and Stoica, Ion and Xing, Eric P.},
month = {March},
year = {2023}
}