How to Teach Large Multimodal Models New Skills
Organizations: University of Illinois Urbana-Champaign · Google DeepMind · Carnegie Mellon University
Abstract
How can we teach large multimodal models (LMMs) new skills without erasing prior abilities? We study sequential fine-tuning on five target skills while monitoring general ability on eight held-out benchmarks across three model families. Surprisingly, we find that performance lost on held-out tasks after fine-tuning on one skill can partly recover when the model is subsequently tuned on a different skill. We trace this behavior to a measurable shift in the output token distribution, manifested through a simple counting-bias probe that shows the shift co-varies with forgetting. Guided by this insight, we identify two simple, robust tuning recipes that learn strongly while limiting drift: (i) updating only the self-attention projection layers (SA Proj., learning +24.9 / held-out forgetting -0.6), and (ii) updating only the MLP Gate&Up while freezing the Down projection (+30.5 / -2.1). Both substantially outperform full-LLM tuning (+31.8 / -23.3) in the learning-forgetting trade-off. We also compare against common forgetting mitigation methods: Learning without Forgetting (LwF), LoRA, Mixture-of-Experts, and weight-space interpolation (WiSE-FT), and find that our selective tuning recipes match or exceed their learning-stability balance while remaining simpler, requiring no replay, auxiliary parameters, or per-stage tuning. These results hold across LLaVA-OneVision, LLaVA-NeXT, and Qwen2.5-VL, confirming that the key to teaching LMMs new skills without forgetting lies in controlling output distribution shift by choosing which components to tune. Code will be made available.
Figures & tables
| Method | Target Learning | Target Forgetting | Target Overall | Held-out Forgetting |
|---|---|---|---|---|
| Baseline | 43.9 | 0.0 | 43.9 | 76.4 |
| Full | ||||
| |-- Vision Encoder | ||||
| |-- Projector | ||||
| |-- LLM | ||||
| |-- SA Proj. |
| Method | LLaVA-NeXT (LLaMA-3 8B) | Qwen2.5-VL (7B) | ||||||
|---|---|---|---|---|---|---|---|---|
| T. Learn | T. Forget | T. Overall | H. Forget | T. Learn | T. Forget | T. Overall | H. Forget | |
| Baseline | 31.5 | 0.0 | 31.5 | 59.9 | 52.1 | 0.0 | 52.1 | 77.9 |
| Full | ||||||||
| |-- Vision + Projector | ||||||||
| |-- LLM | ||||||||
| |-- SA Proj. | ||||||||
Appendix figures & tables36 assets
Supplementary material from the paper’s appendix.
Appendix
| Group | Components | #Params |
|---|---|---|
| SigLIP vision encoder | M | |
| Multimodal projector | M | |
| All blocks: | M | |
| All blocks: | M | |
| Input token embeddings | M | |
| LM head | M |
| Index / Token | Index / Token | Index / Token | Index / Token | ||||
|---|---|---|---|---|---|---|---|
| 15 | 0 | 16 | 1 | 17 | 2 | 18 | 3 |
| 19 | 4 | 20 | 5 | 21 | 6 | 22 | 7 |
| 23 | 8 | 24 | 9 | 603 | one | 1960 | ten |
| 3966 | One | 5225 | ONE | 11613 | Two | 14154 | zero |
| 17999 | Zero | 19641 | Three | 19789 | two | 26972 | Four |
| 27856 | three | 32687 | Ten | 34024 | four | 37020 | Five |
| Method | CUB200 | PixmoCount | PathVQA | TextVQA | TimeClock | Average | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Target | Held-out | Target | Held-out | Target | Held-out | Target | Held-out | Target | Held-out | Target | Held-out | |
| Baseline | 53.7 | 76.4 | 52.4 | 76.4 | 36.3 | 76.4 | 76.0 | 76.4 | 1.1 | 76.4 | 43.9 | 76.4 |
| Proj. | +5.7 | -0.0 | +4.2 | -0.1 | +0.6 | -0.1 | +0.5 | +0.2 | +0.4 | -0.5 | +2.3 | -0.1 |
| Vis. Enc. | +16.1 | -0.8 | +11.6 | -4.7 | +3.7 | -2.8 | +1.0 | -0.7 | +12.7 | -11.9 | +9.0 | -4.2 |
| SA Proj. | +31.8 | +0.3 | +15.2 | -0.2 | +14.4 | -0.3 | +3.5 | +0.3 | +56.0 | -0.1 | +24.2 | +0.0 |
| MLP | +36.4 | +0.3 | +17.8 | -4.0 | +26.5 | -0.4 | +3.8 | +0.0 | +73.3 | -3.1 | +31.6 | -1.4 |
| Method | Total Params | Trainable Params | Train SPS |
|---|---|---|---|
| (B) | (B) | (#samples / sec.) | |
| SA Proj. | 8.03 | 0.82 | 1.46 |
| MLP (Gate&Up) | 8.03 | 3.80 | 1.45 |
| MLP | 8.03 | 5.70 | 1.44 |
| LoRA | 8.51 | 0.50 | 1.27 |
| LwF | 16.06 | 5.70 | 0.81 |
| Dataset | Baseline | Stage 1 | Stage 2 | Stage 3 | Stage 4 | Stage 5 |
|---|---|---|---|---|---|---|
| – | CUB200 | PixmoCount | PathVQA | TextVQA | TimeClock | |
| Target | ||||||
| CUB200 | 53.7 | 87.7 | 87.6 | 87.4 | 87.3 | 87.0 |
| PixmoCount | 52.4 | 53.9 | 65.5 | 68.2 | 63.5 | 59.9 |
| PathVQA | 36.3 | 36.2 | 35.4 | 61.3 | 57.4 | 57.8 |
| TextVQA | 76.0 | 76.0 | 75.3 | 75.3 | 78.5 | 76.3 |
| Dataset | Baseline | Stage 1 | Stage 2 | Stage 3 | Stage 4 | Stage 5 |
|---|---|---|---|---|---|---|
| – | CUB200 | PixmoCount | PathVQA | TextVQA | TimeClock | |
| Target | ||||||
| CUB200 | 53.7 | 80.6 | 80.0 | 78.0 | 78.2 | 77.0 |
| PixmoCount | 52.4 | 52.6 | 67.8 | 64.2 | 62.5 | 63.7 |
| PathVQA | 36.3 | 36.2 | 35.1 | 58.1 | 51.6 | 53.3 |
| TextVQA | 76.0 | 76.0 | 75.2 | 75.2 | 79.1 | 76.2 |
| Dataset | Baseline | Stage 1 | Stage 2 | Stage 3 | Stage 4 | Stage 5 |
|---|---|---|---|---|---|---|
| – | CUB200 | PixmoCount | PathVQA | TextVQA | TimeClock | |
| Target | ||||||
| CUB200 | 53.7 | 90.0 | 89.8 | 89.6 | 89.5 | 89.3 |
| PixmoCount | 52.4 | 53.2 | 67.6 | 67.8 | 61.6 | 61.0 |
| PathVQA | 36.3 | 35.9 | 35.0 | 61.1 | 58.3 | 57.6 |
| TextVQA | 76.0 | 76.3 | 76.5 | 76.6 | 80.3 | 79.4 |
| Dataset | Baseline | Stage 1 | Stage 2 | Stage 3 | Stage 4 | Stage 5 |
|---|---|---|---|---|---|---|
| – | CUB200 | PixmoCount | PathVQA | TextVQA | TimeClock | |
| Target | ||||||
| CUB200 | 53.7 | 89.9 | 89.2 | 89.5 | 89.0 | 89.0 |
| PixmoCount | 52.4 | 53.7 | 69.7 | 68.0 | 68.0 | 66.1 |
| PathVQA | 36.3 | 35.9 | 34.2 | 59.1 | 56.3 | 56.1 |
| TextVQA | 76.0 | 76.4 | 74.2 | 76.1 | 79.7 | 78.3 |
| Dataset | Baseline | Stage 1 | Stage 2 | Stage 3 | Stage 4 | Stage 5 |
|---|---|---|---|---|---|---|
| – | CUB200 | PixmoCount | PathVQA | TextVQA | TimeClock | |
| Target | ||||||
| CUB200 | 53.7 | 90.7 | 89.2 | 88.1 | 88.0 | 86.9 |
| PixmoCount | 52.4 | 54.9 | 73.0 | 64.6 | 63.1 | 59.4 |
| PathVQA | 36.3 | 34.8 | 3.7 | 63.6 | 59.8 | 58.6 |
| TextVQA | 76.0 | 76.6 | 59.0 | 74.6 | 79.6 | 68.9 |
| Dataset | Baseline | Stage 1 | Stage 2 | Stage 3 | Stage 4 | Stage 5 |
|---|---|---|---|---|---|---|
| – | CUB200 | PixmoCount | PathVQA | TextVQA | TimeClock | |
| Target | ||||||
| CUB200 | 53.7 | 69.9 | 57.5 | 58.8 | 61.5 | 55.3 |
| PixmoCount | 52.4 | 22.1 | 64.2 | 44.0 | 59.0 | 37.8 |
| PathVQA | 36.3 | 35.4 | 31.8 | 37.0 | 34.4 | 34.2 |
| TextVQA | 76.0 | 75.5 | 72.2 | 70.7 | 76.4 | 72.7 |
| Dataset | Baseline | Stage 1 | Stage 2 | Stage 3 | Stage 4 | Stage 5 |
|---|---|---|---|---|---|---|
| – | CUB200 | PixmoCount | PathVQA | TextVQA | TimeClock | |
| Target | ||||||
| CUB200 | 53.7 | 59.4 | 57.7 | 57.5 | 58.2 | 57.4 |
| PixmoCount | 52.4 | 53.2 | 56.6 | 57.9 | 58.2 | 57.7 |
| PathVQA | 36.3 | 36.1 | 36.0 | 35.5 | 36.4 | 35.9 |
| TextVQA | 76.0 | 76.1 | 76.3 | 76.4 | 77.0 | 76.9 |
| Dataset | Baseline | Stage 1 | Stage 2 | Stage 3 | Stage 4 | Stage 5 |
|---|---|---|---|---|---|---|
| – | CUB200 | PixmoCount | PathVQA | TextVQA | TimeClock | |
| Target | ||||||
| CUB200 | 53.7 | 90.7 | 89.4 | 89.6 | 88.9 | 87.8 |
| PixmoCount | 52.4 | 54.3 | 70.2 | 62.2 | 63.3 | 56.6 |
| PathVQA | 36.3 | 35.2 | 4.4 | 63.2 | 58.6 | 56.7 |
| TextVQA | 76.0 | 76.6 | 60.5 | 74.7 | 79.6 | 71.2 |
| Dataset | Baseline | Stage 1 | Stage 2 | Stage 3 | Stage 4 | Stage 5 |
|---|---|---|---|---|---|---|
| – | CUB200 | PixmoCount | PathVQA | TextVQA | TimeClock | |
| Target | ||||||
| CUB200 | 53.7 | 85.5 | 85.1 | 84.8 | 84.4 | 84.0 |
| PixmoCount | 52.4 | 53.9 | 67.8 | 68.2 | 64.8 | 66.3 |
| PathVQA | 36.3 | 35.7 | 35.0 | 55.9 | 52.6 | 51.4 |
| TextVQA | 76.0 | 76.1 | 76.4 | 75.8 | 79.3 | 78.9 |
| Dataset | Baseline | Stage 1 | Stage 2 | Stage 3 | Stage 4 | Stage 5 |
|---|---|---|---|---|---|---|
| – | CUB200 | PixmoCount | PathVQA | TextVQA | TimeClock | |
| Target | ||||||
| CUB200 | 53.7 | 78.7 | 78.4 | 78.4 | 78.2 | 77.6 |
| PixmoCount | 52.4 | 53.2 | 65.9 | 67.2 | 62.4 | 65.4 |
| PathVQA | 36.3 | 36.1 | 36.4 | 44.2 | 42.6 | 43.0 |
| TextVQA | 76.0 | 76.2 | 76.9 | 76.2 | 78.6 | 78.3 |
| Dataset | Baseline | Stage 1 | Stage 2 | Stage 3 | Stage 4 | Stage 5 |
|---|---|---|---|---|---|---|
| – | CUB200 | PixmoCount | PathVQA | TextVQA | TimeClock | |
| Target | ||||||
| CUB200 | 53.7 | 90.1 | 89.5 | 89.6 | 89.3 | 88.9 |
| PixmoCount | 52.4 | 54.1 | 71.5 | 67.6 | 68.0 | 62.0 |
| PathVQA | 36.3 | 35.6 | 17.0 | 64.1 | 60.9 | 60.9 |
| TextVQA | 76.0 | 76.6 | 66.2 | 75.3 | 79.8 | 74.0 |
| Dataset | Baseline | Stage 1 | Stage 2 | Stage 3 | Stage 4 | Stage 5 |
|---|---|---|---|---|---|---|
| – | CUB200 | PixmoCount | PathVQA | TextVQA | TimeClock | |
| Target | ||||||
| CUB200 | 53.7 | 90.2 | 89.8 | 89.8 | 89.6 | 89.5 |
| PixmoCount | 52.4 | 53.4 | 71.5 | 67.8 | 68.4 | 67.2 |
| PathVQA | 36.3 | 36.1 | 35.0 | 61.9 | 58.5 | 58.9 |
| TextVQA | 76.0 | 76.4 | 75.5 | 76.1 | 80.0 | 79.3 |
| Dataset | Baseline | Stage 1 | Stage 2 | Stage 3 | Stage 4 | Stage 5 |
|---|---|---|---|---|---|---|
| – | CUB200 | PixmoCount | PathVQA | TextVQA | TimeClock | |
| Target | ||||||
| CUB200 | 32.6 | 84.8 | 76.8 | 77.2 | 76.6 | 69.6 |
| PixmoCount | 45.7 | 37.6 | 63.3 | 48.5 | 32.4 | 44.0 |
| PathVQA | 13.2 | 24.8 | 0.7 | 62.0 | 55.6 | 45.2 |
| TextVQA | 65.4 | 52.2 | 31.0 | 56.1 | 72.9 | 42.8 |
| Dataset | Baseline | Stage 1 | Stage 2 | Stage 3 | Stage 4 | Stage 5 |
|---|---|---|---|---|---|---|
| – | CUB200 | PixmoCount | PathVQA | TextVQA | TimeClock | |
| Target | ||||||
| CUB200 | 32.6 | 4.2 | 4.2 | 12.8 | 22.1 | 13.4 |
| PixmoCount | 45.7 | 0.6 | 44.9 | 40.8 | 48.9 | 40.3 |
| PathVQA | 13.2 | 0.3 | 1.8 | 34.1 | 34.1 | 33.1 |
| TextVQA | 65.4 | 0.9 | 0.9 | 50.1 | 69.9 | 59.3 |
| Dataset | Baseline | Stage 1 | Stage 2 | Stage 3 | Stage 4 | Stage 5 |
|---|---|---|---|---|---|---|
| – | CUB200 | PixmoCount | PathVQA | TextVQA | TimeClock | |
| Target | ||||||
| CUB200 | 32.6 | 85.2 | 68.6 | 72.0 | 72.1 | 68.8 |
| PixmoCount | 45.7 | 32.0 | 57.5 | 55.1 | 21.9 | 41.6 |
| PathVQA | 13.2 | 23.3 | 14.1 | 62.7 | 56.4 | 42.7 |
| TextVQA | 65.4 | 56.9 | 35.0 | 57.8 | 72.6 | 40.1 |
| Dataset | Baseline | Stage 1 | Stage 2 | Stage 3 | Stage 4 | Stage 5 |
|---|---|---|---|---|---|---|
| – | CUB200 | PixmoCount | PathVQA | TextVQA | TimeClock | |
| Target | ||||||
| CUB200 | 32.6 | 78.1 | 68.2 | 72.3 | 70.6 | 70.3 |
| PixmoCount | 45.7 | 38.8 | 60.5 | 50.6 | 9.9 | 54.7 |
| PathVQA | 13.2 | 28.7 | 28.4 | 53.9 | 43.9 | 44.3 |
| TextVQA | 65.4 | 64.3 | 62.9 | 62.0 | 73.5 | 64.9 |
| Dataset | Baseline | Stage 1 | Stage 2 | Stage 3 | Stage 4 | Stage 5 |
|---|---|---|---|---|---|---|
| – | CUB200 | PixmoCount | PathVQA | TextVQA | TimeClock | |
| Target | ||||||
| CUB200 | 32.6 | 84.3 | 78.7 | 76.9 | 76.9 | 72.0 |
| PixmoCount | 45.7 | 34.6 | 58.6 | 53.9 | 35.8 | 52.8 |
| PathVQA | 13.2 | 28.5 | 26.3 | 61.8 | 56.2 | 52.7 |
| TextVQA | 65.4 | 61.5 | 54.6 | 62.0 | 73.2 | 59.2 |
| Dataset | Baseline | Stage 1 | Stage 2 | Stage 3 | Stage 4 | Stage 5 |
|---|---|---|---|---|---|---|
| – | CUB200 | PixmoCount | PathVQA | TextVQA | TimeClock | |
| Target | ||||||
| CUB200 | 32.6 | 78.4 | 73.9 | 74.3 | 71.5 | 71.9 |
| PixmoCount | 45.7 | 32.4 | 58.4 | 57.9 | 29.8 | 44.8 |
| PathVQA | 13.2 | 27.9 | 27.9 | 59.5 | 51.6 | 54.0 |
| TextVQA | 65.4 | 63.5 | 63.7 | 64.7 | 74.0 | 63.9 |
| Dataset | Baseline | Stage 1 | Stage 2 | Stage 3 | Stage 4 | Stage 5 |
|---|---|---|---|---|---|---|
| – | CUB200 | PixmoCount | PathVQA | TextVQA | TimeClock | |
| Target | ||||||
| CUB200 | 81.4 | 93.5 | 0.2 | 12.1 | 92.6 | 92.4 |
| PixmoCount | 58.6 | 55.6 | 50.6 | 48.3 | 47.4 | 51.1 |
| PathVQA | 29.2 | 18.5 | 0.0 | 60.8 | 58.2 | 59.1 |
| TextVQA | 83.0 | 69.5 | 17.2 | 73.3 | 81.5 | 62.7 |
| Dataset | Baseline | Stage 1 | Stage 2 | Stage 3 | Stage 4 | Stage 5 |
|---|---|---|---|---|---|---|
| – | CUB200 | PixmoCount | PathVQA | TextVQA | TimeClock | |
| Target | ||||||
| CUB200 | 81.4 | 92.3 | 81.4 | 81.5 | 81.5 | 88.0 |
| PixmoCount | 58.6 | 56.4 | 59.0 | 59.2 | 58.2 | 33.1 |
| PathVQA | 29.2 | 30.3 | 29.1 | 29.3 | 30.2 | 35.4 |
| TextVQA | 83.0 | 82.5 | 83.2 | 83.1 | 83.1 | 71.0 |
| Dataset | Baseline | Stage 1 | Stage 2 | Stage 3 | Stage 4 | Stage 5 |
|---|---|---|---|---|---|---|
| – | CUB200 | PixmoCount | PathVQA | TextVQA | TimeClock | |
| Target | ||||||
| CUB200 | 81.4 | 93.8 | 0.0 | 64.4 | 67.6 | 91.5 |
| PixmoCount | 58.6 | 55.8 | 47.0 | 50.6 | 41.0 | 49.1 |
| PathVQA | 29.2 | 4.9 | 0.0 | 63.0 | 59.7 | 60.2 |
| TextVQA | 83.0 | 47.9 | 11.6 | 73.3 | 82.1 | 61.8 |
| Dataset | Baseline | Stage 1 | Stage 2 | Stage 3 | Stage 4 | Stage 5 |
|---|---|---|---|---|---|---|
| – | CUB200 | PixmoCount | PathVQA | TextVQA | TimeClock | |
| Target | ||||||
| CUB200 | 81.4 | 93.7 | 93.6 | 93.4 | 93.4 | 93.2 |
| PixmoCount | 58.6 | 59.9 | 53.4 | 56.7 | 53.6 | 53.4 |
| PathVQA | 29.2 | 35.7 | 35.3 | 61.0 | 57.3 | 58.3 |
| TextVQA | 83.0 | 77.8 | 77.4 | 81.8 | 83.6 | 80.6 |
| Dataset | Baseline | Stage 1 | Stage 2 | Stage 3 | Stage 4 | Stage 5 |
|---|---|---|---|---|---|---|
| – | CUB200 | PixmoCount | PathVQA | TextVQA | TimeClock | |
| Target | ||||||
| CUB200 | 81.4 | 94.1 | 83.5 | 93.1 | 93.0 | 92.6 |
| PixmoCount | 58.6 | 56.6 | 50.0 | 53.4 | 31.8 | 52.2 |
| PathVQA | 29.2 | 32.4 | 2.8 | 61.5 | 60.6 | 60.4 |
| TextVQA | 83.0 | 76.7 | 8.2 | 78.9 | 83.4 | 64.4 |
| Dataset | Baseline | Stage 1 | Stage 2 | Stage 3 | Stage 4 | Stage 5 |
|---|---|---|---|---|---|---|
| – | CUB200 | PixmoCount | PathVQA | TextVQA | TimeClock | |
| Target | ||||||
| CUB200 | 81.4 | 94.1 | 94.2 | 93.8 | 94.0 | 94.0 |
| PixmoCount | 58.6 | 59.7 | 49.6 | 50.0 | 50.9 | 54.7 |
| PathVQA | 29.2 | 36.0 | 22.0 | 61.5 | 61.7 | 62.3 |
| TextVQA | 83.0 | 75.9 | 74.7 | 81.1 | 83.8 | 79.6 |
Multimodal Large Language Models
Multimodal large language models combine language models with image, video, audio, and other inputs for grounded understanding and generation.
See all 1,092 papers