Where a New Concept Must Enter: Entry Point Gates Cross-Task Usability in Unified Multimodal Models
Organizations: The Hong Kong University of Science and Technology (Guangzhou) · Columbia University · MMLab, CUHK · University of Illinois Urbana-Champaign
Abstract
Unified multimodal models (UMMs) are motivated by the hope that understanding and generation reinforce each other but controlled ablations repeatedly find that adding a generation objective leaves understanding flat. Joint-training studies cannot settle the disagreement: with overlapping supervision, a gain cannot be attributed to the architecture rather than the data. To further investigate the relationship between the two directions in UMMs, we separate them by construction. A novel visual entity, a rendered 3D asset paired with a pseudo-word screened for absence from the frozen model's behavior, is bound through exactly one task direction, and the untrained direction is then measured. We find that the channel is real in both directions, but the directions differ in kind: generation training installs a name the model can only match among candidates; understanding training installs one it can also produce. What governs cross-task usability is where the binding enters the shared computation. An alignment probe predicts export across 36 configurations (Spearman ). That objective's alignment term, maximized in closed form over activations with every weight frozen, makes a concept drawable when injected at layer 7 of 28 and is indistinguishable from the base model from layer 14 on, while the weight-based version of the same edit peaks at layers 10-14. In an observational series of four models, this window appears only where the understanding pathway is a semantic vision encoder, suggesting that unified weights are not enough: the two directions must share a semantic format at the entry point. Exploiting the rule, a mid-stack alignment objective acquires the concept for a relative loss of the model's general text-to-image ability, against for the standard generative route. Our code is at https://github.com/Zane-ZYQiu/entry-point-umm.
Figures & tables
| condition | und. name matching | gen. identity |
|---|---|---|
| base model | 0.243 [0.19, 0.31] 0.058 | 0.039 [0.02, 0.06] 0.032 |
| G-inject (flow matching), shared+private | 0.520 [0.44, 0.60] 0.121 | 0.653 [0.56, 0.75] 0.125 |
| G-inject, shared MLP only | 0.620 [0.53, 0.70] 0.119 | 0.717 [0.62, 0.81] 0.122 |
| U-inject (LM CE), shared+private | 0.989 [0.98, 1.00] 0.014 | 0.360 [0.27, 0.46] 0.105 |
| U-inject, shared attention only | 0.984 [0.97, 0.99] 0.013 | 0.078 [0.04, 0.13] 0.069 |
| U-inject, shared MLP only | 0.991 [0.98, 1.00] 0.013 | 0.339 [0.25, 0.44] 0.165 |
| condition | LM-CE | 4-way | reverse 4-way | context-free | first sub-word |
|---|---|---|---|---|---|
| U-inject (LM cross-entropy) | ✓ | 1.000 | 1.000 | 0.938 | 0.922 |
| U-inject, shared attention only | ✓ | 1.000 | 0.900 | 0.297 | 0.688 |
| base model | ✗ | 0.254 | 0.242 | 0.141 | 0.125 |
| G-inject (flow matching) | ✗ | 0.600 | 0.650 | 0.141 | 0.125 |
| anchoring @ layer 14, alone | ✗ | 0.887 | 1.000 | 0.125 | 0.094 |
| activation patch @ layer 3 | ✗ | 0.887 | 1.000 | 0.234 | 0.125 |
| entry point | shared computation after it | exports | § |
| input embeddings | all 28 blocks, but nothing to route yet | ✗ | 5.2 |
| activation edit, layer 3 | 25 blocks | partial (0.53) | 5.2 |
| activation edit, layer 7 | 21 blocks | ✓ (0.58) | 5.2 |
| activation edit, layer 14 | 14 blocks | ✗ (0.04, at base) | 5.2 |
| weight edit, layer 3 | 25 blocks | partial (0.60) | 5.2 |
| weight edit, layers 10–14 | 14–18 blocks | ✓ (0.80) | 5.2 |
| activations, anchor only (0 gradient steps) | weights, anchor only (480 steps) | |||||
|---|---|---|---|---|---|---|
| entry point | identity (DINOv2) | (CLIP) | sd | vs. norm | identity | vs. norm |
| layer 0 | 0.323 [0.22, 0.42] | 0.269 | 0.145 | 7/7 | — | — |
| layer 3 | 0.528 [0.33, 0.72] | 0.433 | 0.297 | 6/7 | 0.602 [0.47, 0.75] | 7/7 |
| layer 7 | 0.584 [0.46, 0.72] | 0.512 | 0.196 | 7/7 | 0.769 [0.69, 0.84] | 7/7 |
| layer 10 | 0.366 [0.28, 0.45] | 0.281 | 0.127 | 7/7 | 0.800 [0.70, 0.89] | 7/7 |
| layer 14 | 0.040 [0.02, 0.07] | 0.054 | 0.036 | 3/7 | 0.808 [0.73, 0.88] | 7/7 |
| model | understanding representation | base | visual peak | word | verdict |
|---|---|---|---|---|---|
| BAGEL-7B-MoT | ViT, semantic | 0.036 | 0.584 | — | window |
| Janus-Pro-1B | SigLIP, semantic | 0.052 | 0.583 | 0.625 | window |
| Lumina-DiMOO-8B | VQ codebook | 0.104 | 0.167 | 0.656 | null, instr. works |
| Omni-Diffusion-7B | MagViT-v2 VQ | 0.250 | 0.250 | 0.500 | null, instr. works |
| condition | steps | flow steps | overall | rel. | identity | |
| base (unmodified) | — | — | 0.681 | — | — | 0.036 |
| activation patch @ layer 3 | 0 | 0 | 0.681 | 0.930 | ||
| anchoring @ layer 14, alone | 480 | 0 | 0.680 | 0.930 | ||
| U-side, shared MLP only | 1600 | 0 | 0.680 | 0.445 | ||
| U-side then a generation phase | 1760 | 160 | 0.680 | 0.891 | ||
| anchoring @ layer 14 flow matching | 480 | 480 | 0.638 | 0.953 |
Appendix figures & tables16 assets
Supplementary material from the paper’s appendix.
Appendix
| paired contrast | discovery (g0) | confirmation (g1–g6) | pooled | ratio |
| alignment @14 vs @ readout, identity | [+0.59, +0.74] 6/6 | |||
| alignment @14 vs @ readout, matching | [+0.50, +0.60] 6/6 | |||
| alignment alone vs G-inject, matching | [+0.27, +0.49] 6/6 | |||
| shared MLP vs shared attention, export | [+0.14, +0.31] 6/6 | |||
| alignment alone vs G-inject, identity | [-0.04, +0.29] 5/6 | |||
| G-inject into shared MLP vs default | [-0.06, +0.17] 2/6 |
| configuration family | within | without | MAE predicting it | |
| capacity allocation | 16 | 0.200 | ||
| placement / main | 10 | 0.137 | ||
| recipe | 6 | 0.194 | ||
| substrate | 4 | 0.122 | ||
| pooled | 36 | , family-clustered bootstrap | ||
| generation identity | name matching | |||||
| entry point | activations | weights | weights | activations | weights | weights |
| anchor only | anchor only | + flow | anchor only | anchor only | + flow | |
| layer 3 | 0.930 | 0.945 | 0.949 | 0.887 | 0.900 | 0.900 |
| layer 7 | 0.828 | 0.914 | 0.984 | 0.900 | 0.925 | 0.950 |
| layer 10 | 0.469 | 0.938 | — | 0.862 | 0.962 | — |
| layer 14 | 0.016 | 0.930 | 0.984 | 0.500 | 0.887 | 0.921 |
| direction | private share | direct | cross | export eff. | ||
|---|---|---|---|---|---|---|
| G-inject | 32 | 0 | 0.00 | 0.773 | 0.575 | 0.58 |
| G-inject | 24 | 8 | 0.25 | 0.883 | 0.700 | 0.65 |
| G-inject | 16 | 16 | 0.50 | 0.781 | 0.525 | 0.51 |
| G-inject | 8 | 24 | 0.75 | 0.531 | 0.412 | 0.53 |
| G-inject | 0 | 32 | 1.00 | 0.102 | 0.138 | — |
| U-inject | 32 | 0 | 0.00 | 1.000 | 0.531 | 0.60 |
| blocks deleted | where | which blocks | concept identity | CLIP-T (general ability) |
|---|---|---|---|---|
| 0 | — | — | 0.828 [0.66, 0.97] | |
| 2 | after the site | 8, 9 | 0.742 [0.56, 0.91] | |
| 4 | after the site | 8–11 | 0.102 [0.02, 0.20] | |
| 6 | after the site | 8–13 | 0.016 [0.00, 0.05] | |
| 2 | before the site | 5, 6 | 0.000 [0.00, 0.00] | |
| 4 | before the site | 3–6 | 0.000 [0.00, 0.00] |
| backbone sharing by estimator | |||||
|---|---|---|---|---|---|
| architecture | params | hook only | grad only | intersection | whole model |
| BAGEL-7B-MoT ( Deng et al., 2025 ) | 14.1B | 0.500 | 0.961 | 0.500 | 0.484 |
| Janus-Pro-1B ( Chen et al., 2025 ) | 1.5B | 0.873 | 0.873 | 0.873 | 0.720 |
| model | backbone | understanding pathway | generation pathway | blocks |
|---|---|---|---|---|
| BAGEL-7B-MoT | Qwen2.5-7B (MoT) | ViT, semantic | rectified flow, VAE latent | 28 |
| Janus-Pro-1B | Llama, 1.5B | SigLIP, semantic | LlamaGen VQ | 24 |
| Omni-Diffusion-7B | Dream-7B (Qwen2.5-7B) | MagViT-v2 VQ | masked discrete diffusion | 28 |
| Lumina-DiMOO-8B | LLaDA-8B | VQ codebook | discrete diffusion | 32 |
| site | relative depth | Janus-Pro-1B | BAGEL at the nearest relative depth |
|---|---|---|---|
| input embeddings | 0.00 | 0.240 | 0.023 (embeddings, 1 group) |
| layer 0 | 0.04 | 0.344 | 0.323 (layer 0) |
| layer 2 | 0.12 | 0.583 | 0.528 (layer 3, rel. 0.14) |
| layer 3 | 0.17 | 0.427 | 0.528 (layer 3) |
| layer 5 | 0.25 | 0.281 | 0.584 (layer 7, rel. 0.29) |
| layer 8 | 0.38 | 0.146 | 0.366 (layer 10) |
| model | site | visual address | real-word target | floor | trained ceiling |
|---|---|---|---|---|---|
| BAGEL-7B-MoT | layer 7 | 0.584 (80%) | — | 0.036 | 0.724 |
| Janus-Pro-1B | layer 2 | 0.583 (93%) | 0.625 (100%) | 0.052 | 0.625 |
| Lumina-DiMOO-8B | layer 4 | 0.010 ( floor) | 0.656 (6.3 floor) | 0.104 | — |
| Omni-Diffusion-7B | layer 3 | 0.000 ( floor) | 0.500 (2.0 floor) | 0.250 | — |
| generation identity | understanding | ||||
|---|---|---|---|---|---|
| condition | coarse | fine | paired drop | vs sibling | matching |
| base model | 0.047 | 0.031 | [-0.01, +0.04] | 0.484 | 0.529 |
| G-inject (flow matching) | 0.906 | 0.724 | +0.182 [+0.09, +0.29] | 0.758 | 0.688 |
| U-inject (LM CE) | 0.424 | 0.344 | [+0.02, +0.16] | 0.706 | 0.925 |
| anchor @14 + flow matching | 0.966 | 0.888 | [+0.00, +0.18] | 0.914 | 0.854 |
| anchor @14 alone | 0.802 | 0.747 | [-0.01, +0.13] | 0.878 | 0.721 |
| control | und. matching | gen. identity | evaluation role |
|---|---|---|---|
| layer 3, real addresses | 0.887 | 0.930 | reference condition |
| layer 3, deranged addresses | 0.138 | 0.000 | address-order control |
| layer 7, quarter magnitude | 0.613 | 0.086 | shallow-site magnitude control |
| layer 24, quarter magnitude | 0.138 | 0.031 | deep-site magnitude control |
| base model | 0.254 | 0.036 | unmodified reference |
| condition | identity | matching | open naming | real-category |
|---|---|---|---|---|
| base model | 0.036 | 0.254 | 0.000 | 0.931 |
| G-inject | 0.758 | 0.600 | 0.000 | 0.931 |
| U-inject | 0.562 | 1.000 | 1.000 | 0.924 |
| name shuffling, G-inject | 0.016 | 0.000 | 0.000 | — |
| text-only injection | 0.055 | 0.238 | 0.000 | — |
| embedding-only, generation side | 0.172 | 0.238 | 0.000 | — |
Unified Multimodal Models
Unified multimodal models combine multiple data types in shared systems for cross-modal understanding, generation, reasoning, and interaction.
See all 287 papers