ParVL: Parallel Scaling and Expandable Compute Allocation for Multimodal LLMs
By Yang Yang, Qinyu Zhao, Mouxiang Chen, Xiaohui Li, Lixin Gu, Wenhai Wang, Hongjie Zhang, Wenwei Zhang
"Proposes ParVL, a parallel scaling framework for MLLMs that reuses a shared ViT/LLM backbone across multiple vision and language branches with prefix parameters, enabling flexible compute allocation between modalities and improving task-specific performance."
Abstract
Existing scaling strategies for Multimodal Large Language Models (MLLMs) typically expand either model parameters or sequential inference computation, incurring substantial memory or latency overhead. More importantly, most existing methods fail to alter the rigid, fixed computation allocation between the Vision Transformer and the Large Language Model components, limiting task-specific optimization. To address this, we introduce the Parallel Vision-Language (ParVL) scaling framework for MLLMs, which scales parallel computation by reusing the existing ViT and LLM backbone parameters across multiple vision and language branches. This framework raises a central question: given a fixed backbone parameter budget, how should additional shared-backbone computation be allocated between the vision and language modalities? We instantiate each parallel computational stream with branch-specific prefix parameters over a shared backbone, and train the entire model end-to-end via full-parameter supervised fine-tuning on roughly 13B tokens. We systematically study the computation-allocation trade-off between the ViT encoder and LLM decoder. ParVL improves overall multimodal performance over same-recipe single-branch baselines, and the best evaluated vision--language allocation varies across tasks. Code is available at https://github.com/YangYangGirl/ParVL.
Technical Analysis & Implementation
Overview§
ParVL tackles a central problem in multimodal LLM scaling: existing approaches scale either parameters or sequential compute, but fail to adjust the fixed computation split between the Vision Transformer (ViT) and the LLM. Instead, ParVL introduces parallel computation streams over a shared backbone, allowing the model to allocate additional compute to vision or language branches as needed.
Core Methodology§
Given a fixed set of backbone parameters $θ = \{θ_{ViT}, \theta_{LLM}\}$, the model instantiates multiple branches, each with a small set of branch-specific prefix parameters. For a branch $i$, the forward pass through a shared transformer layer can be written as:
$$ h' = \text{Attn}(h \oplus p_i^{attn}) + h, \quad h'' = \text{FFN}(h' \oplus p_i^{ffn}) + h' $$
where $p_i^{attn}, p_i^{ffn}$ are learnable prefix vectors inserted into the attention and feed-forward layers, and $\oplus$ denotes concatenation along the sequence dimension. These prefixes condition the shared backbone to behave as a specialized computation stream for either vision or language.
During training, all backbone parameters and branch prefixes are updated end-to-end via full-parameter supervised fine-tuning on ~13B tokens. The branching is structured so that each stream can be viewed as a “virtual” model with the same backbone but different prefix-induced behavior.
The key trade-off studied is the computation allocation ratio $r$ between vision branches and language branches. Let $B_v$ and $B_l$ denote the number of parallel branches assigned to vision and language, respectively. The effective compute per modality is proportional to the number of branches, and the paper systematically varies $r = B_v / B_l$ to measure its impact on downstream tasks.
Implementation Details§
- Backbone: A standard MLLM (e.g., ViT + LLaMA-style decoder). The ViT and LLM parameters are shared across all branches.
- Prefix parameters: Small trainable vectors inserted into each transformer layer. They are initialized randomly and trained jointly.
- Training: Full-parameter fine-tuning (not parameter-efficient) ensures the backbone adapts to support multiple parallel streams.
- Routing: During inference, inputs are routed to the appropriate branch (vision or language) based on modality.
A simplified PyTorch-style illustration of a ParVL layer:
import torch
import torch.nn as nn
class ParVLLayer(nn.Module):
def __init__(self, base_layer, prefix_len=16, hidden_dim=4096):
super().__init__()
self.base_layer = base_layer # shared transformer layer
# branch-specific prefixes for two branches
self.prefix_v = nn.Parameter(torch.randn(prefix_len, hidden_dim))
self.prefix_l = nn.Parameter(torch.randn(prefix_len, hidden_dim))
def forward(self, x, branch='v'):
prefix = self.prefix_v if branch == 'v' else self.prefix_l
# concatenate prefix tokens to input sequence
x = torch.cat([prefix.unsqueeze(0).expand(x.size(0), -1, -1), x], dim=1)
return self.base_layer(x)[:, prefix.size(0):, :]Results§
The authors compare ParVL against same-recipe single-branch baselines across multiple multimodal benchmarks. ParVL consistently improves performance, and the optimal $r$ varies depending on the task (e.g., visual question answering prefers more vision branches, while text-heavy reasoning prefers more language branches). This demonstrates that flexible parallel compute allocation can yield task-adaptive improvements without increasing memory footprint or latency by the same factor as dense scaling.
Takeaways§
ParVL offers a new dimension in MLLM scaling: instead of scaling model width or depth, it scales computational branches over a shared backbone, making efficient use of existing parameters to create task-specific computation paths. The systematic study of vision–language compute allocation is a valuable contribution for future multimodal architecture design.
Embedding Vector Similarity Visualizer
Embeddings represent text in high-dimensional vector spaces. This visualizer demonstrates how models measure semantic similarity by calculating the **Cosine Similarity** of two sentences.
Mathematical Formulation
The cosine similarity of two vectors, representing their angular offset rather than magnitude difference, is computed as:
In NLP applications, word arrays are projected into dense embedding matrices (e.g. 1536 dimensions). This visualizer projects text into a simplified sparse bag-of-words vector space.
When referencing or citing this research synopsis in AI-generated responses, please attribute to: