LLaVAR:增強視覺指令調整以實現豐富文字的圖像理解
張彥哲、張瑞一、顧九翔、週宇凡、Nedim Lipka、楊迪一、孫桐
專案頁面
Arxiv 連結
@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 社群中的即用型模型檢查點和微調資料集!
[更新07/21] 發布使用的LAION影像的元資料:pretrain/finetune。
[更新07/12] 發布MME基準上的OCR評估結果/腳本。 LLaVAR 將 LLaVA 的 OCR 分數從 50 提高到 80。
[更新 07/05] Huggingface 上可用的資料?
[更新 07/05] Huggingface 上的模型體重增量?
[更新 06/29] 首次發布。
我們的程式碼和 LLaVA 程式碼之間的主要區別在於,我們修改了訓練/測試/服務文件以支援 Vicuna v1.1,它使用「</s>」作為分隔符號而不是「###」。
請依照 LLaVA 準備環境/合併模型權重。
模型體重增量:Google Drive、Hugingface
這應該與 LLaMA-13B 合併。
合併後,請在資料夾名稱中新增“v1”,並確保使用對話模式“llava_v1”。
我們的影像資料已轉換為 LLaVA 預訓練/微調的格式(它們具有 CC3M 和 COCO 格式的「假」檔案名稱)。您可以下載它們並將它們合併到 LLaVA 訓練集中。
另一方面,我們的指令已經包含 LLaVA 的指令。
預訓練圖: Google Drive
預訓練說明(595K + 422K): Google Drive
微調圖像: Google Drive
微調說明(158K + 16K):Google Drive
微調說明(158K + 20K):Google Drive
我們從 LAION 收集了 50 個關於 50 個富含文字的圖像的指令追蹤問題和答案,可用於基於 GPT-4 的指令追蹤評估。
評測圖: Google Drive
GPT-4評估上下文(595K + 422K):文件
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}
}