{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/instructblip-towards-general-purpose-vision","title":"InstructBLIP: Towards General-purpose Vision-Language Models with Instruction Tuning","arxiv_id":"2305.06500","date":"2023-05-11","proceeding":"NeurIPS 2023 11","authors":["Wenliang Dai","Junnan Li","Dongxu Li","Anthony Meng Huat Tiong","Junqi Zhao","Weisheng Wang","Boyang Li","Pascale Fung","Steven Hoi"],"abstract":"Large-scale pre-training and instruction tuning have been successful at creating general-purpose language models with broad competence. However, building general-purpose vision-language models is challenging due to the rich input distributions and task diversity resulting from the additional visual input. Although vision-language pretraining has been widely studied, vision-language instruction tuning remains under-explored. In this paper, we conduct a systematic and comprehensive study on vision-language instruction tuning based on the pretrained BLIP-2 models. We gather 26 publicly available datasets, covering a wide variety of tasks and capabilities, and transform them into instruction tuning format. Additionally, we introduce an instruction-aware Query Transformer, which extracts informative features tailored to the given instruction. Trained on 13 held-in datasets, InstructBLIP attains state-of-the-art zero-shot performance across all 13 held-out datasets, substantially outperforming BLIP-2 and larger Flamingo models. Our models also lead to state-of-the-art performance when finetuned on individual downstream tasks (e.g., 90.7% accuracy on ScienceQA questions with image contexts). Furthermore, we qualitatively demonstrate the advantages of InstructBLIP over concurrent multimodal models. All InstructBLIP models are open-sourced at https://github.com/salesforce/LAVIS/tree/main/projects/instructblip.","url_abs":"https://arxiv.org/abs/2305.06500v2","url_pdf":"https://arxiv.org/pdf/2305.06500v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"instructblip-towards-general-purpose-vision","repo_url":"https://github.com/salesforce/lavis","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"BSD-3-Clause"}},{"paper_slug":"instructblip-towards-general-purpose-vision","repo_url":"https://github.com/tabtoyou/kollava","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"instructblip-towards-general-purpose-vision","repo_url":"https://github.com/MS-P3/code3/tree/main/instructblip","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"instructblip-towards-general-purpose-vision","repo_url":"https://github.com/pwc-1/Paper-9/tree/main/instructblip","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null}],"tasks":[{"task_slug":"1-image-2-2-stitching","task_name":"1 Image, 2*2 Stitching"},{"task_slug":"diversity","task_name":"Diversity"},{"task_slug":"image-retrieval","task_name":"Image Retrieval"},{"task_slug":"long-context-understanding","task_name":"Long-Context Understanding"},{"task_slug":"video-question-answering","task_name":"Video Question Answering"},{"task_slug":"visual-question-answering-1","task_name":"Visual Question Answering"},{"task_slug":"visual-question-answering","task_name":"Visual Question Answering (VQA)"},{"task_slug":"visual-instruction-following","task_name":"visual instruction following"}],"methods":[{"method_slug":"absolute-position-encodings","method_name":"Absolute Position Encodings"},{"method_slug":"adam","method_name":"Adam"},{"method_slug":"attention","method_name":"Attention"},{"method_slug":"bpe","method_name":"BPE"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"label-smoothing","method_name":"Label Smoothing"},{"method_slug":"layer-normalization","method_name":"Layer Normalization"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"position-wise-feed-forward-layer","method_name":"Position-Wise Feed-Forward Layer"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"transformer","method_name":"Transformer"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/long-context-understanding-on-mmneedle","task":"Long-Context Understanding","dataset":"MMNeedle","model":"InstructBLIP-Flan-T5-XXL","rank_in_archive_order":8,"of":12,"metrics":{"1 Image, 2*2 Stitching, Exact Accuracy":"3.8","1 Image, 4*4 Stitching, Exact Accuracy":"6.2","1 Image, 8*8 Stitching, Exact Accuracy":"2.2","10 Images, 1*1 Stitching, Exact Accuracy":"0","10 Images, 2*2 Stitching, Exact Accuracy":"0","10 Images, 4*4 Stitching, Exact Accuracy":"0","10 Images, 8*8 Stitching, Exact Accuracy":"0"},"uses_additional_data":false},{"leaderboard":"/sota/long-context-understanding-on-mmneedle","task":"Long-Context Understanding","dataset":"MMNeedle","model":"InstructBLIP-Vicuna-13B","rank_in_archive_order":12,"of":12,"metrics":{"1 Image, 2*2 Stitching, Exact Accuracy":"0","1 Image, 4*4 Stitching, Exact Accuracy":"0","1 Image, 8*8 Stitching, Exact Accuracy":"0","10 Images, 1*1 Stitching, Exact Accuracy":"0","10 Images, 2*2 Stitching, Exact Accuracy":"0","10 Images, 4*4 Stitching, Exact Accuracy":"0","10 Images, 8*8 Stitching, Exact Accuracy":"0"},"uses_additional_data":false},{"leaderboard":"/sota/video-question-answering-on-mvbench","task":"Video Question Answering","dataset":"MVBench","model":"InstructBLIP","rank_in_archive_order":21,"of":22,"metrics":{"Avg.":"32.5"},"uses_additional_data":false},{"leaderboard":"/sota/visual-question-answering-on-benchlmm","task":"Visual Question Answering","dataset":"BenchLMM","model":"InstructBLIP-13B","rank_in_archive_order":5,"of":10,"metrics":{"GPT-3.5 score":"45.03"},"uses_additional_data":false},{"leaderboard":"/sota/visual-question-answering-on-benchlmm","task":"Visual Question Answering","dataset":"BenchLMM","model":"InstructBLIP-7B","rank_in_archive_order":6,"of":10,"metrics":{"GPT-3.5 score":"44.63"},"uses_additional_data":false},{"leaderboard":"/sota/visual-question-answering-on-vip-bench","task":"Visual Question Answering","dataset":"ViP-Bench","model":"InstructBLIP-13B (Visual Prompt)","rank_in_archive_order":10,"of":13,"metrics":{"GPT-4 score (bbox)":"35.8","GPT-4 score (human)":"35.2"},"uses_additional_data":false},{"leaderboard":"/sota/visual-question-answering-vqa-on-core-mm","task":"Visual Question Answering (VQA)","dataset":"InfiMM-Eval","model":"InstructBLIP","rank_in_archive_order":8,"of":14,"metrics":{"Abductive":"37.76","Analogical":"20.56","Deductive":"27.56","Overall score":"28.02","Params":"8B"},"uses_additional_data":false},{"leaderboard":"/sota/visual-instruction-following-on-llava-bench","task":"visual instruction following","dataset":"LLaVA-Bench","model":"InstructBLIP-7B","rank_in_archive_order":6,"of":8,"metrics":{"avg score":"60.9"},"uses_additional_data":false},{"leaderboard":"/sota/visual-instruction-following-on-llava-bench","task":"visual instruction following","dataset":"LLaVA-Bench","model":"InstructBLIP-13B","rank_in_archive_order":7,"of":8,"metrics":{"avg score":"58.2"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2305.06500","mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}