# LLaVA > Liu 2023 · [Paper](https://arxiv.org/abs/2304.08485) **One-line summary** — LLaVA (Large Language and Vision Assistant) connects a frozen CLIP vision encoder to the Vicuna LLM through a single linear projection and instruction-tunes on GPT-4-generated visual instruction data, showing that data quality — not architectural complexity — is the key to a strong open-source conversational VLM. ## Problem Instruction tuning LLMs on machine-generated instruction-following data had dramatically improved zero-shot capabilities on new language tasks, but the idea was largely unexplored in the multimodal field. VLMs of the time either demanded massive compute (Flamingo), used intricate bridging architectures (BLIP-2's Q-Former, Flamingo's gated cross-attention), or were closed (GPT-4V) — and manually labeling multimodal conversation data at scale is expensive and ill-defined. LLaVA asks whether a *minimal* architecture plus *machine-generated* multimodal instruction data can yield a competitive, reproducible open VLM. ## Method & architecture - **GPT-assisted data generation**: language-only GPT-4 is prompted with two *symbolic* representations of a COCO image — its captions and object bounding-box coordinates — and asked to produce three response types: multi-turn **conversation** (58K), **detailed description** (23K), and **complex reasoning** (77K), totaling 158K language-image instruction-following samples. A few manually designed seed examples for in-context learning are the only human annotations. - **Architecture**: input image $\mathbf{X}_v$ passes through the pre-trained CLIP ViT-L/14 encoder $g(\cdot)$ (grid features before the last Transformer layer), and one trainable projection matrix $\mathbf{W}$ maps the features into the word-embedding space of the Vicuna LLM $f_{\boldsymbol{\phi}}$: $$\mathbf{H}_v = \mathbf{W} \cdot \mathbf{Z}_v, \quad \text{with } \mathbf{Z}_v = g(\mathbf{X}_v)$$ The visual tokens $\mathbf{H}_v$ are simply placed in the LLM's context alongside text — no Q-Former, no cross-attention module. - **Training objective**: multi-turn data $(\mathbf{X}_q^1, \mathbf{X}_a^1, \dots, \mathbf{X}_q^T, \mathbf{X}_a^T)$ is serialized into a single sequence and the model is trained auto-regressively on the assistant tokens only: $$p(\mathbf{X}_a \mid \mathbf{X}_v, \mathbf{X}_{\text{instruct}}) = \prod_{i=1}^{L} p_{\boldsymbol{\theta}}\big(x_i \mid \mathbf{X}_v, \mathbf{X}_{\text{instruct},