alphaFeedback

WorksComputer Science

LoRASpace: A Pool-Wide Shared Substrate for Static and Dynamic Multi-LoRA Composition

AI contributions
Not recorded for this paper
View details
Ancillary data
1 code link
View

Abstract

Low-rank adaptation (LoRA) attaches small low-rank matrices to a frozen backbone, and public repositories host many LoRAs per backbone, each for a different concept or task. Combining several LoRAs in one generation forces a trade-off. Merging their weights into one update needs a single forward pass, but LoRAs trained for different concepts interfere and quality drops. Running each LoRA in its own forward pass (composite) preserves quality, but inference time grows linearly with the number of active LoRAs. We study a property of LoRA pools overlooked by prior multi-LoRA work. In real LoRA pools, the stacked low-rank factors need far fewer directions than their summed ranks. Using singular value decomposition, we find the minimal subspace that keeps 99% of the factor energy. On three diffusion pools, only 46% to 57% of the summed LoRA ranks is needed, and the subspace grows sub-linearly with pool size. A 48-LoRA sub-pool of LoRA-Hub on FLAN-T5 tasks shows comparable overlap (62%), while the diversity-curated LoRA-Retriever benchmark sits near the no-overlap baseline (96%), so pool composition rather than modality predicts where compression is large. We build on this overlap with LoRASpace, a training-free method that computes the subspace once per pool and reuses it in two inference modes, a static mode at merge cost and a dynamic mode for input-dependent routing. On the diffusion pools, static LoRASpace matches composite quality at merge cost, and dynamic LoRASpace is more than 6x faster than composite with six active LoRAs on a 17-LoRA pool, mainly because it runs one backbone pass instead of six. In an ablation, static variants at the same rank match LoRASpace, so the quality gain does not depend on the pool-wide basis. On the near-orthogonal LoRA-Retriever benchmark, compression is small and gains come from coupling with external retrieval.

Introduction

Low-Rank Adaptation (LoRA) [8] has made the specialization of existing language and diffusion image generation models feasible by training small low-rank adapters that attach to a frozen backbone on demand, rather than updating the full set of model weights. The simplicity of this construction has produced a second-order effect, where open repositories such as CivitAI [3] and Hugging Face [10] now host LoRA pools containing many trained LoRA adapters per backbone, each capturing a distinct visual concept, character, style, or downstream language task. As these libraries grow into the thousands, attention has shifted from training a single LoRA adapter (LoRAs for short) to using several at once. A user generating a portrait may want one LoRA for the subject’s identity, a second for clothing, and a third for the background, all active during a single image.

Two ambient strategies have emerged for this multi-LoRA problem. The first, static merge [11, 32, 33], folds the chosen LoRAs into a single weight update (delta for short) before inference, so only one forward pass is required. Static merge is cheap to deploy but tends to lose individual LoRA identity, since unrelated low-rank directions are summed in the ambient parameter space. The second strategy, often called composite [Zhong et al., 2024, Zou et al., 2025], runs one forward pass per active LoRA and aggregates the outputs. Composite preserves quality more faithfully but pays linearly in compute and memory with the number of active LoRAs. On modern diffusion backbones, this can mean several minutes per image at high LoRA counts, with proportional cost growth on language models. The two strategies sit at opposite corners of a quality-cost trade-off because both treat each LoRA as an independent low-rank addition in ambient space.

LoRASpace. We observe that both the merge and composite views ignore a structural property of real LoRA pools. When the per-LoRA factors of a pool are stacked and decomposed jointly, the resulting subspace is much smaller than the sum of individual ranks. On language LoRAs trained on related tasks this reflects alignment between adapters, while on diffusion pools it comes largely from layer-width saturation and each adapter’s own spectral tail (§ 4.2). We capture this with the rank-fill ratio ρ=D/∑iri\rho= D / \sum_i r_i, where DD is the rank-truncated subspace dimension obtained by an energy-truncated SVD of the stacked factors, and ∑iri\sum_i r_i is the no-overlap upper bound. Based on this overlap, we introduce LORASPACE, a training-free composition operator whose goal is to recover composite-level quality at near-merge inference cost while supporting input-dependent routing, built from a rank-truncated pool-wide substrate (U,V)(U, V) computed once at pool-creation time and reused for any active subset of LoRAs chosen at inference. The substrate supports two deployment modes from one cache. A static mode folds time-invariant routing into a single combined delta at ambient-merge inference cost. A dynamic mode accepts context-dependent routing through a router function {wi}\{w_i\} that maps the current generation context (token, step, pixel, or prompt) to per-LoRA weights, at substantially lower cost than composite. On diffusion pools, LoRASPACE matches or exceeds composite quality at merge cost (+0.74 CLIP-T on Pool A) and reaches 6.1× speedup over composite at high LoRA counts, mostly by running one backbone pass instead of one per LoRA. On the near-orthogonal LoRA-Retriever LLM benchmark, the framework predicts no compression speedup, and accuracy gains over ambient mixture come from pairing the substrate with external retrieval (+0.96 Macro Task).

Contributions.

  • Cross-modality rank-fill measurement. Among the first measurements, to our knowledge, of the pool-wide rank-fill ratio ρ=D/∑iri\rho= D / \sum_i r_i at energy threshold τ=0.99\tau= 0.99 on real LoRA pools: ρ≤0.57\rho\le0.57 on diffusion pools with sub-linear scaling and ρ≈0.62\rho\approx0.62 on a related-task LLM pool (LoRA-Hub at K=48K=48), versus ρ≈0.96\rho\approx0.96 on the diversity-curated LoRA-Retriever benchmark, with pool composition rather than modality predicting where compression is large.

  • Dual-mode (static + dynamic) pool-wide substrate. LORASPACE is a rank-truncated pool-wide operator supporting two deployment modes from one precompute. Static-mode folds time-invariant routing into a single combined delta at ambient-merge cost. Dynamic-mode evaluates context-conditioned routing (per-token, per-step, per-pixel, per-prompt) through the same shared bases. The dynamic-mode interface is router-pluggable, and we evaluate four routers (§ 4.5).

  • Mechanism ablation. The quality lift over ambient merge is rank-DD truncation acting as regularisation. The pool-wide basis is approximately combo-optimal at that rank, so one SVD amortises across all combinations and supports dynamic routing without per-combo SVDs (§ 4.3).

Related Work

Where LoRASPACE sits. Existing training-free multi-LoRA methods trade off cost against compositionality. Static merges and shared-basis merges collapse the active subset into one delta at

Table 1: Where LORASPACE sits among training-free multi-LoRA methods. Columns: pool-wide basis (UU, VV) (defined in § 3.4), active LoRAs per step, deployment mode (static vs. dynamic), and per-image cost normalised to ambient merge (1×). To our knowledge, no other reviewed family combines a pool-wide basis with simultaneous N≥2N \ge2 composition and both deployment modes from one precompute (Eq. (5)).

Method family (representative work)Pool-wide basisActive per stepModePer-image cost
Static merge (Task Arith. [11], TIES [32], DARE [33])XNNstatic1×
Shared-basis merge (Knots [26], Core-Space [18])per mergeNNstatic1×
Composite & step/mask routing (ComposLoRA [Zhong et al., 2024], CMLoRA [Zou et al., 2025], FreeFuse [12], MultLFG [23])XNNdynamic∼N×\sim N\times
Per-input router-bound composition (SpectR [5], K-LoRA [17], FreeLoRA [36], LoRAHub [9], LoRARetriever [35])X1 to NNdynamic∼N×\sim N\times
Compress-then-Serve [6]✓1static1×
Trained MoE-LoRA (X-LoRA [1], MoLE [30], Arrow [16], PHATGOOSE [14])†XNNdynamic (trained)∼N×\sim N\times
LORASPACE (ours)✓NNstatic + dynamic∼1×\sim1\times static, sub-composite dynamic‡

Table 1.

ambient cost (1×), but freeze the composition before inference. Composite, step/mask routing, and per-input router methods recover input-dependent routing at ∼N×\sim N\times cost, because each active LoRA runs as its own forward pass. The closest neighbour, Compress-then-Serve [6], introduces a pool-wide shared basis but targets single-LoRA serving (N=1N=1) rather than N≥2N \ge2 composition. Tab. 1 arranges these methods along four axes (pool-wide basis, active LoRAs per step, static vs. dynamic, per-image cost) and identifies the empty slot. No reviewed method combines a pool-wide basis with simultaneous N≥2N \ge2 composition and both deployment modes (defined in § 3.4) from one precompute. LORASPACE fills it. The decomposition itself is standard. What is new is applying it once to a whole pool, so that every adapter keeps its own coordinates in one shared space and any combination is served in one pass from one compact object. Two further capabilities separate it from the closest pool-level methods. ρ\rho predicts before deployment whether a pool compresses (§ 4.2), and a newly published adapter can be admitted by extending the bases without recomputing the pool (App. § 15). App. § 16 compares the methods on these requirements. We exercise three adaptive routers (spatial [5], temporal [Zou et al., 2025], semantic [12]) plus a uniform-merge baseline [11], all adapted from existing designs.

Static merge. Static merge methods fold a chosen subset of LoRAs into a single ambient delta before inference. Task-arithmetic [11] averages deltas, while TIES-Merging [32] resolves sign conflicts and DARE [33] adds drop-and-rescale delta sparsification. The shared property is that all active LoRAs become one low-rank update, so inference matches a single-LoRA model in cost. Quality drops on multi-LoRA tasks [Zhong et al., 2024], which is usually attributed to interference between LoRAs trained for different concepts when their deltas are summed.

Composite and route-then-apply. Composite methods avoid this interference by keeping LoRAs separate at inference. ComposLoRA [Zhong et al., 2024] runs one full forward pass per active LoRA, paying linearly in compute and memory with NN. Adaptive selection reduces cost through dynamic routing: CMLoRA [Zou et al., 2025] and MultLFG [23] schedule dominant LoRAs across diffusion steps via frequency-domain signals; FreeFuse [12] routes subject tokens to spatial regions at test time; ZipLoRA [24], K-LoRA [17], and FreeLoRA [36] target narrower 2-LoRA / autoregressive personalization settings. None of these expose a pool-wide precomputed substrate handling arbitrary multi-LoRA composition with both static and dynamic deployment. Orthogonality-based merge analyses such as OMCD [34] are complementary: they study inter-LoRA orthogonality as an explanatory variable for merge quality, where our framework treats pool-wide rank-fill as the structural variable.

Subspace methods. A separate line of work compresses LoRA representations through linear projection. Knots [26] column-stacks per-LoRA deltas ΔWi=BiAi\Delta W_i = B_iA_i and applies one SVD as an alignment tool before TIES-style merging on small LoRA sets. CoreSpace [18] stacks per-LoRA factors and aligns them in a fixed ∑iri\sum_i r_i basis without truncation. Reported evaluations are limited to small-pool settings, so we do not include its numbers in our pool-scale comparison. Compress-then-Serve [6] learns a pool-wide shared basis (U,V)(U,V) together with per-LoRA middle matrices Σi\Sigma_i to compress the joint product BiAiB_iA_i (the per-LoRA delta), for efficient serving of many single-LoRA requests on LLM backbones. Systems such as Punica [2] and SLoRA [25] optimise serving many LoRA-specialised requests, but do not address simultaneous semantic composition of multiple LoRAs in one generation. CtS notes after its Proposition 1 that training noise makes the joint rank generically full (r~=∑iri\tilde{r} = \sum_i r_i); our energy-truncated measurement of DD at τ=0.99\tau=0.99 is consistent with this high-effective-rank regime on the LLM pool (ρ=0.96\rho=0.96) but substantially smaller on diffusion pools (ρ∈[0.46,0.57]\rho\in[0.46, 0.57], Table 2). LORASPACE differs from CtS in three respects: (i) the inference setting is simultaneous N≥2N\geq2 composition rather than single-LoRA serving; (ii) we use paired marginal SVDs to factorise the energy-normalised BB and AA stacks separately rather than the joint product; (iii) the substrate exposes a router-compatible operator U(∑iwiB^iA^i)V⊤xU(\sum_i w_i\hat{B}_i\hat{A}_i)V^\top x (defined in § 3.4) supporting both static and dynamic deployment from one precompute.

PoolKK∑iri\sum_i r_iDD (mean)ρ\rhoβ\beta
Pool A (SD 1.5)117844460.570.43
Pool B (SD 1.5)1711125210.470.49
Pool C (SDXL)1717928190.460.55
LoRA-Hub (FLAN-T5-Large)487684740.620.88
LoRA-Retriever (LLaMA-2-7B)483843680.960.94

Table 2. Rank overlap across pools at τ=0.99\tau= 0.99. ρ=D/∑iri\rho= D/\sum_i r_i (lower means more overlap). β\beta is the power-law exponent of DD vs. KK. The LoRA-Hub row is a K=48K=48 sub-sample matched in size to LoRA-Retriever (full 196-LoRA pool in App. T).

Single-active routing. Switch-style methods activate exactly one LoRA at any token or step (SpectR [5], X-LoRA [1], PHATGOOSE [14], MoLE [30], Arrow [16]). They pick one LoRA at each location, so the multi-LoRA combination question never arises and they are not directly comparable to composition methods. We report a switch baseline in App. § 25 for completeness.

LLM-side composition. LoRA-Retriever [35] composes task-specialised LoRAs for LLMs by selecting a top-KK subset via INSTRUCTOR [27] embeddings, then either fusing factors (BpAqB_pA_q cross-terms) or running a weighted ambient mixture. LoRAHub [9] optimises LoRA weights with CMA-ES [7] on a held-out validation set. Both treat composition as ambient-space averaging; neither exploits pool-level rank structure. LORASPACE’s operator ∑iwiB^iA^i\sum_i w_i\hat{B}_i\hat{A}_i contains only per-LoRA products by construction, so the cross-product approximation error that degrades fusion-style factor combination (App. § 27) does not arise. We use the LoRA-Retriever pool to characterise the high-effective-rank regime as a counterpoint to the diffusion regime.

Method

A LoRA ii (e.g., an image style LoRA) comprises two matrices AiA_i and BiB_i for each layer. In general, as indicated later in § 3.1, a scaled linear combination of AiBiA_iB_i pairs produces the desired delta. In LORASPACE, we produce these deltas by pre-computing a decomposition (construction § 3.2) of the stacked AiA_is and BiB_is and using their sub-space representations (low-dimension) A^i\hat{A}_i and B^i\hat{B}_i appropriately projected. As we control the rank of this decomposition, and hence the number of actual deltas, the computational complexity drastically reduces, as we show in the following sections.

Setup and notation

Consider a single LoRA-modified linear layer with frozen base weight W0∈Rdout×dinW_0 \in\mathbb{R}^{d_{\mathrm{out}}\times d_{\mathrm{in}}}. A LoRA [8] augments this layer with a low-rank update ΔWi=siBiAi\Delta W_i = s_iB_iA_i, where Bi∈Rdout×riB_i \in\mathbb{R}^{d_{\mathrm{out}}\times r_i} and Ai∈Rri×dinA_i \in\mathbb{R}^{r_i\times d_{\mathrm{in}}} are the LoRA’s left and right factors, ri≪min⁡(din,dout)r_i \ll\min(d_{\mathrm{in}},d_{\mathrm{out}}) is the LoRA rank, and si=αi/ris_i = \alpha_i/r_i is the per-LoRA scaling factor with αi\alpha_i the LoRA scaling hyperparameter (set at training time). We write rˉ=(1/K)∑iri\bar{r} = (1/K)\sum_i r_i for the average pool rank. Given a pool P={1,…,K}\mathcal{P} = \{1,\ldots,K\} of trained LoRAs, the multi-LoRA composition target on input x∈Rdinx \in\mathbb{R}^{d_{\mathrm{in}}} is

Δy∗(x)=∑i=1NwisiBiAix,(1)\Delta y^*(x) = \sum_{i=1}^{N} w_i s_i B_i A_i x, \tag*{(1)}
Three strategies for composing active LoRAs: Merge, Composite, and LoRASpace

Figure 1. Three strategies for composing NN active LoRAs from a Combo (the active subset for one generation). Merge folds them into one delta with one forward pass. Composite runs NN forward passes. LoRASPACE projects via VTV^{\mathsf{T}}, mixes ∑iwiB^iA^i\sum_i w_i\hat{B}_i\hat{A}_i, and back-projects via UU in one pass. Static-mode pre-folds the inner sum when {wi}\{w_i\} are time-invariant; dynamic-mode evaluates it per UNet pass (precompute illustration in App. § 7).

where {wi}i=1N\{w_i\}_{i=1}^{N} are per-LoRA weights for an active subset of size N≤KN \le K. Static merge precomputes a fixed sum once and discards routing. Composite evaluates Eq. (1) by running NN forward passes per token and aggregating outputs. LORASPACE evaluates a router-weighted form of Eq. (1) in one base-model pass with LoRA-side work linear in NN inside a shared DD-dimensional subspace (D≪doutD \ll d_{\mathrm{out}}), exploiting structural rank overlap.

Energy-normalised shared subspace

The motivating observation is empirical. When per-LoRA factors from a real diffusion pool are stacked and decomposed by paired marginal SVDs, the resulting subspace dimension is much smaller than ∑iri\sum_i r_i. We characterise this empirically in § 4.2, which separates alignment between adapters from layer-width saturation and each adapter’s own spectral tail. Here we use it to construct an energy-truncated shared subspace.

Frobenius normalisation. Raw factor stacking is dominated by high-norm LoRAs. Frobenius normalisation puts every LoRA on a common scale before decomposition:

Bˉi=Bi/∥Bi∥F,Aˉi=Ai/∥Ai∥F.(2)\bar{B}_i = B_i/\lVert B_i\rVert_{\mathrm{F}}, \qquad\bar{A}_i = A_i/\lVert A_i\rVert_{\mathrm{F}}. \tag*{(2)}

We then form pool stacks Bˉstack=[Bˉ1⋯BˉK]∈Rdout×∑iri\bar{B}_{\mathrm{stack}} = [\bar{B}_1 \cdots\bar{B}_K] \in\mathbb{R}^{d_{\mathrm{out}}\times\sum_i r_i} and Aˉstack=[Aˉ1;⋯ ;AˉK]∈R∑iri×din\bar{A}_{\mathrm{stack}} = [\bar{A}_1;\cdots;\bar{A}_K] \in\mathbb{R}^{\sum_i r_i\times d_{\mathrm{in}}}.

Paired marginal SVDs and adaptive truncation. We compute two thin SVDs Bˉstack=UBΣBVBT\bar{B}_{\mathrm{stack}} = U_B\Sigma_B V_B^{\mathsf{T}} and Aˉstack=UAΣAVAT\bar{A}_{\mathrm{stack}} = U_A\Sigma_A V_A^{\mathsf{T}}, then truncate each at energy fraction τ∈(0,1)\tau\in(0,1):

DB=min⁡{d | ∑j≤dσj(Bˉstack)2∑jσj(Bˉstack)2≥τ},DA analogously.(3)D_B = \min\left\{d \,\middle|\, \frac{\sum_{j\le d}\sigma_j(\bar{B}_{\mathrm{stack}})^2}{\sum_j \sigma_j(\bar{B}_{\mathrm{stack}})^2} \ge\tau\right\}, \qquad D_A\ \text{analogously}. \tag*{(3)}

The shared subspace dimension is D=min⁡(max⁡(DB,DA),∑iri,din,dout)D = \min(\max(D_B,D_A), \sum_i r_i, d_{\mathrm{in}}, d_{\mathrm{out}}). The shared bases are U=UB[:,:D]∈Rdout×DU = U_B[:, :D] \in\mathbb{R}^{d_{\mathrm{out}}\times D} and V=VA[:,:D]∈Rdin×DV = V_A[:, :D] \in\mathbb{R}^{d_{\mathrm{in}}\times D} (with VAV_A the right-singular-vector matrix in Aˉstack=UAΣAVAT\bar{A}_{\mathrm{stack}} = U_A\Sigma_A V_A^{\mathsf{T}}), the leading left and right singular vectors of Bˉstack\bar{B}_{\mathrm{stack}} and Aˉstack\bar{A}_{\mathrm{stack}}, both with orthonormal columns. By the Eckart-Young theorem [4], UU and VV are the optimal rank-DD subspaces for the marginal BB-stack and AA-stack reconstructions separately. This is optimal for each marginal factor projection but not a joint optimum for the product ∑isiBiAi\sum_i s_i B_i A_i. A joint SVD of the scaled deltas is closer to product-optimal (per-LoRA error 0.35%0.35\% against 0.88%0.88\% on Pool C at equal DD), but the difference does not reach the generated images, and the marginal bases are built from thin factors on CPU and can be extended when the pool changes (App. § 13). We find empirically that retaining the low-energy directions does not improve composition metrics within the practical τ\tau range (§ 4.4).

Per-LoRA projected factors

Each LoRA is re-parameterised by projecting its raw factors onto the shared subspace:

B^i=si UTBi∈RD×ri,A^i=si AiV∈Rri×D.(4)\hat{B}_i = \sqrt{s_i}\,U^{\mathsf{T}}B_i \in\mathbb{R}^{D \times r_i}, \qquad\hat{A}_i = \sqrt{s_i}\,A_iV \in\mathbb{R}^{r_i \times D}. \tag*{(4)}

The LoRA scaling sis_i is split symmetrically as si\sqrt{s_i} on each side. The per-layer cache Cℓ={U,V,{(B^i,A^i)}i=1K}\mathcal{C}_{\ell} = \{U,V,\{(\hat{B}_i,\hat{A}_i)\}_{i=1}^{K}\} is computed once per pool, stored on CPU memory, and streamed to the GPU as needed. Cache size is O(D(dout+din)+KDrˉ)O(D(d_{\mathrm{out}} + d_{\mathrm{in}}) + K D\bar{r}) versus O(Krˉ(dout+din))O(K\bar{r}(d_{\mathrm{out}} + d_{\mathrm{in}})) for ambient storage, which gives a meaningful reduction whenever D≪doutD \ll d_{\mathrm{out}}.

Composition operator and deployment modes

At inference, the LORASPACE operator processes input xx in three steps. Project once into the subspace xproj=VTx∈RDx_{\mathrm{proj}} = V^{\mathsf{T}}x \in\mathbb{R}^{D}. Compute a per-LoRA subspace contribution yi=B^i(A^ixproj)∈RDy_i = \hat{B}_i(\hat{A}_i x_{\mathrm{proj}}) \in\mathbb{R}^{D} for each active ii. Mix and back-project to give ΔyLS(x)=U∑i=1Nwiyi\Delta y^{\mathrm{LS}}(x) = U \sum_{i=1}^{N} w_i y_i. Compactly,

ΔyLS(x)=U(∑i=1NwiB^iA^i)VTx.(5)\Delta y^{\mathrm{LS}}(x) = U\left(\sum_{i=1}^{N} w_i\hat{B}_i\hat{A}_i\right)V^{\mathsf{T}}x. \tag*{(5)}

The input projection VTxV^{\mathsf{T}}x and output back-projection U(⋅)U(\cdot) are shared across all active LoRAs. The per-LoRA work is entirely inside the DD-dimensional subspace. The shared bases do not orthogonalise adapters or split directions among them. (U,V)(U,V) spans the union of the pool’s directions and each adapter keeps dense coordinates inside it. Across 4,800 audited axes (12 SDXL layers, both sides, top 200 per side) the median adapter-ownership Herfindahl index is 0.12, so a typical axis carries about eight adapters. At full rank the operator equals the ambient weighted sum (Prop. 1), so any interaction the ambient sum produces, such as a lighting LoRA changing how a character LoRA renders, is kept. Truncation only removes a low-energy tail (composed N=5N=5 error 0.84% at τ=0.99\tau= 0.99, App. § 13).

Static and dynamic deployment from one substrate. When {wi}\{w_i\} are time-invariant (uniform or per-prompt/pre-defined routing), the inner sum M=∑iwiB^iA^i∈RD×DM = \sum_i w_i\hat{B}_i\hat{A}_i \in\mathbb{R}^{D \times D} folds into a single ambient delta Δ=UMVT\Delta= UMV^{\mathsf{T}} at ambient-merge cost (static-mode). Time-varying routers (per-token, per-step, per-pixel) require dynamic-mode. Eq. (5) is then evaluated in the subspace at every UNet pass, with shared VTxV^{\mathsf{T}}x and U(⋅)U(\cdot) paid once per pass independent of NN. The same (U,V)(U,V) serves both modes.

Static-mode is not ambient merge. Substituting Eq. (4) gives ΔyLS(x)=PUΔy⋆(PVx)\Delta y^{\mathrm{LS}}(x) = P_U \Delta y^{\star}(P_Vx) with PU=UUTP_U = UU^{\mathsf{T}}, PV=VVTP_V = VV^{\mathsf{T}} the projectors onto the truncated subspaces. Since D<min⁡(dout,din)D < \min(d_{\mathrm{out}},d_{\mathrm{in}}) on most layers (682 of 722 on Pool C), PU,PV≠IP_U,P_V \ne I there and the two operators differ from the unprojected target Δy⋆\Delta y^{\star}. § 4.3 reports the empirical effect alongside a mechanism ablation.

Reconstruction guarantee

Proposition 1 (Exact recovery). If col⁡(Bi)⊆col⁡(U)\operatorname{col}(B_i) \subseteq\operatorname{col}(U) and row⁡(Ai)⊆col⁡(V)\operatorname{row}(A_i) \subseteq\operatorname{col}(V) for all i∈Pi \in\mathcal{P}, then ΔyLS(x)=Δy⋆(x)\Delta y^{\mathrm{LS}}(x) = \Delta y^{\star}(x) for any weights {wi}\{w_i\}.

Corollary 2 (Truncation error bound). Let σD+1,iB,σD+1,iA\sigma^{B}_{D+1,i}, \sigma^{A}_{D+1,i} be the leading discarded singular values of Bˉstack,Aˉstack\bar{B}_{\mathrm{stack}}, \bar{A}_{\mathrm{stack}}, and μB=max⁡i∥Bi∥F\mu^{B} = \max_i \|B_i\|_F, μA=max⁡i∥Ai∥F\mu^{A} = \max_i \|A_i\|_F. Then for any xx and {wi}\{w_i\},

∥ΔyLS(x)−Δy⋆(x)∥2≤∥x∥2⋅μAμB⋅(σD+1B+σD+1A+σD+1BσD+1A)⋅∑isi∣wi∣.(6)\left\|\Delta y^{\mathrm{LS}}(x) - \Delta y^{\star}(x)\right\|_2 \le\|x\|_2 \cdot\mu^{A}\mu^{B}\cdot\left(\sigma^{B}_{D+1} + \sigma^{A}_{D+1} + \sigma^{B}_{D+1}\sigma^{A}_{D+1}\right)\cdot\sum_i s_i|w_i|. \tag*{(6)}

Proofs are in Appendix B. At τ=0.99\tau= 0.99 the per-side discarded singular value is bounded by (1−τ)Kˉ≤0.41\sqrt{(1-\tau)\bar{K}} \le0.41 for K≤17K \le17; § 4.2 confirms this approximation does not degrade outputs in practice.

Router interface

The composition operator is router-pluggable. Any function producing per-LoRA weights {wi}\{w_i\} plugs in unchanged. We adopt uniform weights (wi=1/N)(w_i = 1/N) as the default and characterise three adaptive routers as plug-in extensions: spatial (per-token activation energy, in the spirit of SpectR [5]), temporal (per-step subspace-band, following CMLoRA [Zou et al., 2025]), and semantic (per-concept token-to-region routing, in the spirit of FreeFuse [12]). Full specifications are in App. § 9. For LLM pools, LoRASPACE pairs with an INSTRUCTOR retriever [27] following the LoRA-Retriever protocol [35], showing that internal and external routing policies share a single composition substrate.

Complexity

We count the incremental LoRA-side linear algebra for one layer processing one token; Appendix § 10 reports the full per-step cost including base-model forwards. For NN active LoRAs of representative rank rˉ\bar{r}, ambient composition adds O(Nrˉ(din+dout))O(N\bar{r}(d_{\mathrm{in}} + d_{\mathrm{out}})) per layer, linear in both NN and ambient width. LoRASPACE costs

cost⁡LS=O(D(din+dout))⏟shared projection+O(NrˉD)⏟per-LoRA subspace paths.(7)\operatorname{cost}_{\mathrm{LS}} = \underbrace{O(D(d_{\mathrm{in}} + d_{\mathrm{out}}))}_{\text{shared projection}} + \underbrace{O(N\bar{r}D)}_{\text{per-LoRA subspace paths}}. \tag*{(7)}

The shared term is paid once regardless of NN. As pool size KK grows, the projection size scales as D∝KβD \propto K^{\beta} with measured β∈[0.43,0.55]\beta\in[0.43, 0.55] on diffusion pools (§ 4.2), so the projection term grows sub-linearly with the pool. The per-LoRA term is linear in NN but scaled by DD, which is much smaller than the ambient doutd_{\mathrm{out}}. The adapter-side crossover with an optimised single-pass ambient mixture is D<2Nrˉd2d+NrˉD < \frac{2N\bar{r}d}{2d + N\bar{r}}. This bound is always below NrˉN\bar{r}, so it is not met at the default τ=0.99\tau= 0.99 (Pool C, mean D=819D = 819 against Nrˉ≈527N\bar{r} \approx527 at N=5N=5). It is met at the compressed operating points validated in App. § 13 (Dˉ≈107\bar{D} \approx107 at τ=0.70\tau= 0.70 and ≈49\approx49 at τ=0.50\tau= 0.50), so the subspace path saves adapter-side arithmetic only in that reduced-storage regime. Appendix § 10 gives the full per-method comparison including memory.

Experiments

We organise the evaluation around four findings: rank-fill regime characterisation across diffusion and LLM pools (§ 4.2); a quality + mechanism comparison showing static-mode LoRASPACE delivers composite-level quality at ambient-merge cost and that the lift is rank-DD truncation in any basis (§ 4.3); robustness to the energy truncation threshold (§ 4.4); and a routing ablation showing router quality varies on Pool A (temporal helps, semantic is flat, spatial regresses on ImageReward; § 4.5). A predictive-theory check on the near rank-orthogonal LLM regime, including external retrieval coupling, is in § 4.6 (App. § 27 for the full scoreboard).

Setup

Pools and backbones. Pool A (11 reality-style LoRAs, SD 1.5 [22]) and Pool B (17 LoRAs, SD 1.5) are drawn from CivitAI [3]. Pool C (17 reality-style LoRAs, SDXL [20]) is curated from CivitAI and Hugging Face [10]. The LLM pool is the 48-LoRA LLaMA-2-7B [28] task-LoRA set from LoRA-Retriever [35].

Metrics. For diffusion, we report CLIP-T [21] for prompt alignment, ImageReward [31] for human-preference alignment, and a GPT-4o [15] composition rubric (Composition Quality + Image Quality, 0 to 10 each, position-bias averaged across two orderings) following ComposLoRA [Zhong et al., 2024]. For LLMs, we use the LoRA-Retriever Macro Task accuracy.

Software and hardware. All diffusion experiments run on a single RTX 3090 (24 GB) using PyTorch [19] and the diffusers library [29], with DPM-Solver++ [13] as the sampler. Pool A: 100 denoising steps, 512×512512 \times512. Pool C: 50 denoising steps, 1024×10241024 \times1024. We use 240 stratified combinations per seed for Pool A, distributed across active sizes N∈{2,3,4,5}N \in\{2, 3, 4, 5\}, and 200 for Pool C, across N∈{2,…,6}N \in\{2, \ldots, 6\}. Pool B is reported in the appendix at N∈{7,8}N \in\{7, 8\} (Appendix § 18) to probe the high-cardinality regime where the rank-fill ratio is lowest (ρ=0.47\rho= 0.47 at K=17K = 17); Pool A and Pool C cover the full active-LoRA range.

Subspace dimension grows sub-linearly with pool size

We measure the rank-fill ratio ρ=D/∑iri\rho= D/\sum_i r_i at energy threshold τ=0.99\tau= 0.99 (the value used throughout) and the growth exponent β\beta obtained by fitting D∝KβD \propto K^\beta with category-aware random subsampling at three random seeds. Table 2 summarises the result. The three diffusion pools have ρ\rho between 0.46 and 0.57 and β\beta between 0.43 and 0.55, both far below the ρ=1\rho= 1, β=1\beta= 1 no-overlap baseline. The two LLM pools span the full range: a 48-LoRA sub-sample of LoRA-Hub over related FLAN-T5 NLP tasks lands at ρ=0.62\rho= 0.62, β=0.88\beta= 0.88, comparable to diffusion overlap, while the LoRA-Retriever benchmark, curated for retrieval-task diversity, sits near the no-overlap baseline at ρ=0.96\rho= 0.96, β=0.94\beta= 0.94.

The source of the low ρ\rho differs between regimes. We split ρ=ρintra×ρcross\rho= \rho_{\mathrm{intra}} \times\rho_{\mathrm{cross}} into within-LoRA rank slack and a cross-LoRA term, and compare DD with a spectrum-matched random null (App. F). Within-LoRA slack is nowhere dominant (ρintra≥0.84\rho_{\mathrm{intra}} \ge0.84 on every pool). The related-task LoRA-Hub pool [9] needs about 30% fewer dimensions than its matched null, an alignment associated with shared task structure, while the diversity-curated LoRA-Retriever sits at its null. On the diffusion pools the stacked ranks exceed the layer width on most layers, and on the SDXL pools DD sits at its null (0.98 on Pool C), so their low ρ\rho is real compressibility that is largely explained by width saturation and per-adapter spectra, and we leave its link to training data open. Pool composition, not modality, predicts where compression is large and where it is not. The framework also predicts a saturation regime when ∑iri≥d\sum_i r_i \ge d: the full LoRA-Hub pool (K=196K=196) crosses the threshold at K⋆=d/r=64K^\star= d/r = 64, with each new LoRA adding ∼11\sim11 dimensions to Dˉ\bar{D} below threshold and ∼1\sim1 above (App. T).

Quality, speed, and memory

We compare three composition strategies on Pool A: ambient static merge with weight 1 per LoRA, so the deltas are summed, ambient composite with NN forward passes per step, and LORASPACE with uniform 1/N1/N routing weights. Table 3 reports CLIP-T and ImageReward averaged across three random seeds (240 combinations per seed, N∈{2,3,4,5}N \in\{2,3,4,5\}), and the GPT-4o rubric from one seed (the position-bias-averaged GPT-4o evaluation is expensive; three-seed consistency on CLIP-T and ImageReward suffices to verify robustness).

MethodCLIP-T ↑ImageReward ↑GPT-4o Total ↑GPT-4o Win% ↑
merge33.60 ± 0.190.760 ± 0.00814.3221.9
composite35.27 ± 0.190.953 ± 0.01115.2429.5
LORASPACE (uniform)36.01 ± 0.161.041 ± 0.03515.6148.6

Table 3. Pool A quality (mean ± std over 3 seeds, 240 combos/seed, averaged over N∈{2,…,5}N \in\{2,\ldots,5\}, with GPT-4o from one seed). Higher is better for all metrics.

LORASPACE with uniform routing exceeds composite by +0.74 CLIP-T, +0.09 ImageReward, +0.37 GPT-4o total, and almost twenty percentage points of GPT-4o win rate (48.6% vs. 29.5%), with 33.3% being the no-preference baseline for three competitors. It also exceeds ambient merge by larger margins. The inter-method gap exceeds the across-seed standard deviation on every metric.

Mechanism ablation. We test whether the quality lift depends on the pool-wide basis with two static-delta variants at the same rank DD. truncated-merge is the combo-specific best-fit SVD of the ambient merge; subspace-merge bakes the pool-wide (U,V)(U, V) readout into a fixed delta per combo. Both run at ambient-merge per-image cost. On Pool A (seed 111, 240 combos, N=2N=2 to 5), both match per-step LoRASPACE-uniform within fp16 noise (Tab. 16). At equal rank DD the basis choice does not affect quality. The lift over ambient merge (+2.40 CLIP-T, +0.32 ImgRew) is therefore not a property of the pool-wide basis. Both variants average the LoRAs with weights 1/N1/N where merge sums them, and at τ=0.99\tau= 0.99 the truncation changes the composed delta by under 1% on Pool C (App. G).

Why the pool-wide basis. Amortisation: truncated-merge requires 192 layer SVDs per combo (∼1.4 h across Pool A’s 1011 combos) vs. one 21.8 s pool-wide precompute (App. P). Dynamic-mode: when {wi}\{w_i\} depend on context, no single static delta exists for truncated-merge, while (U,V)(U, V) supports both modes from one precompute. At about 5 s of SVDs per combination, the precompute pays off beyond about five distinct combinations, so per-combination truncated merge remains the better choice for a static deployment with a few fixed combinations. Serving 30 combinations from the 37-adapter union of App. H averages 35.1 s per combination including the one-time load, against 43.9 s for repeated PEFT load and merge. Keeping all adapters resident instead needs per-adapter format fixes, and even then 36 of the 37 load at 19.0 GiB and one 102421024^2 generation peaks at 23.1 of the card’s 24 GiB.

Pool C (speed, memory, quality). Figure 2 summarises per-image cost. Dynamic-mode stays near-flat in NN (6.1× faster than composite at N=6N=6). Most of this gain comes from running one backbone pass instead of NN. At N=5N=5 a single-pass ambient mixture already accounts for 4.9× of the 5.3×, and the substrate path adds 1.08× (Tab. 20). Static-mode inherits ambient merge cost (23 to 39 s, Tab. 18). Across 20 combos uniform LoRASPACE scores 32.89 CLIP-T / 1.040 ImgRew vs. composite (31.91 / 0.973) and merge (29.41 / 0.721), with the CLIP-T gap over composite growing from +0.17 at N=2N=2 to +1.37 at N=6N=6 (Tab. 17, additional qualitative examples in App. Q).

Pool C (SDXL) speed and memory

Figure 2. Pool C (SDXL) speed and memory. Left: per-image wall-clock vs. NN. Composite scales linearly. Dynamic LoRASPACE stays near-flat (6.1× speedup at N=6N=6). Static LoRASPACE inherits ambient-merge cost. Right: GPU memory. LoRASPACE has the lowest load and peak memory (6.5/16.2 GB). PEFT baselines (merge, switch, composite, cmlora) exceed 22 GB peak. RTX 3090, 102421024^2, 50 DPM-Solver++ steps.

Energy threshold ablation

Sweeping τ∈{0.95,0.97,0.99,0.999}\tau\in\{0.95, 0.97, 0.99, 0.999\} on Pool A grows Dˉ\bar{D} by 43% while quality varies non-monotonically within seed-level noise (∣Δ∣<0.05|\Delta| < 0.05 CLIP-T, ∣Δ∣<0.008|\Delta| < 0.008 ImageReward). We adopt τ=0.99\tau= 0.99 as the default (Table 5).

τ\tauDmin⁡D_{\min}DD (mean)Dmax⁡D_{\max}CLIP-TImageReward
0.9522435656835.761.071
0.9724839261135.811.072
0.9928344666335.771.064
0.99931450874135.801.067

Table 5. Pool A energy-threshold ablation. Subspace dimension DD and uniform-LoRASPACE quality at four τ\tau values (mean over N∈{2,…,5}N \in\{2,\ldots,5\}, 240 combos, seed 111). Quality varies non-monotonically within seed-level noise while DD grows by 1.43×1.43\times.

Routing ablation: substrate is router-tolerant

On Pool A across three seeds, the four routers from § 3.6 (uniform, spatial, temporal, semantic) all exceed the merge baseline by large margins (Table 15, App. § 19). Temporal gives the largest ImageReward gain over uniform, semantic is flat, and spatial regresses. The substrate carries the quality, with routers contributing small modulations.

RouterCLIP-T ↑ImageReward ↑
uniform35.82 ± 0.101.050 ± 0.029
spatial35.43 ± 0.340.857 ± 0.062
temporal35.92 ± 0.101.086 ± 0.030
semantic35.83 ± 0.091.050 ± 0.026

Table 15. Routing ablation on Pool A with the LoRASPACE substrate fixed (mean ± across-seed std over 3 seeds, 240 combos/seed, N∈{2,…,5}N \in\{2, \ldots, 5\}). All four routers exceed the merge baseline (33.60 / 0.760, Table 3); temporal gives the largest ImageReward gain over uniform.

Cross-modality predictive check on the LLM regime

On the near rank-orthogonal LoRA-Retriever LLaMA-2-7B benchmark (K=48K=48, ρ=0.96\rho= 0.96), the substrate alone (loraspace-fullpool) scores 50.49 Macro Task vs. the ambient mixture’s 53.55. INSTRUCTOR-retrieval coupling (loraspace-hybrid) recovers 54.51 at 1.52 vs 1.47 samp/s, matching the framework’s prediction that compression helps only with retrieval coupling (full scoreboard in App. § 27).

Conclusion

We empirically characterise pool-wide rank overlap in real LoRA collections, finding ρ∈[0.46,0.62]\rho\in[0.46, 0.62] across three diffusion pools and a 48-LoRA LoRA-Hub sub-pool, with LoRA-Retriever as the near-orthogonal exception (ρ≈0.96\rho\approx0.96). LORASPACE turns this overlap into a pool-wide substrate from one SVD, matching composite quality at merge cost in static-mode and reaching 2.3 to 6.1×\times speedup in dynamic-mode, mostly from avoiding per-LoRA backbone passes. A mechanism ablation shows that the lift does not depend on the pool-wide basis, making the basis valuable for amortisation and dynamic capability (limitations and broader impact in App. § 28).

When to use LORASPACE. LORASPACE targets deployments that repeatedly compose several LoRAs under a memory budget. With one active adapter or unconstrained memory, ambient serving is the right choice. Within that setting, ρ\rho is a cheap screen (CPU minutes, no base model). Below about 0.6 we deploy the substrate, as on the three diffusion pools, with LoRA-Hub (0.62) at the boundary. Above about 0.9, as on LoRA-Retriever, the substrate is worth using for routing or retrieval coupling rather than for compression at the default τ\tau. In between, a τ\tau sweep on held-out prompts decides (CLIP-T drop under 0.5 and structural similarity at least 0.95). These cut points separate our pools empirically and are not universal constants, and ρ\rho falls with pool size (0.95 at K=2K=2 to 0.57 at K=11K=11, App. § 11), so very small pools are better served ambiently. Uncurated and mixed pools follow the same rule (App. § 14).

Acknowledgments and Disclosure of Funding

The computational resources for this research were supported by the Accelerating Higher Education Expansion and Development (AHEAD) Operation Grant No. 6026-LK/8743-LK from the Ministry of Higher Education, Sri Lanka, funded by the World Bank. R. Rodrigo acknowledges the University of Moratuwa Senate Research Committee Grant No. SRC/LT/2021/20. We also thank Jaseci Labs for its support. The authors declare no competing interests.

Pool-wide precompute illustration

Pool-wide precompute illustration

Figure 4. Pool-wide precompute (paid once at pool-creation time). Per-LoRA factors are stacked and decomposed via paired marginal SVDs into shared bases (UU, VV) (red) plus projected factors (B^i\hat{B}_i, A^i\hat{A}_i). The cache is reused across all subsequent compositions.

Proof of Proposition 1

Proof. Under the span conditions, UU⊤Bi=BiUU^\top B_i = B_i (because UU⊤UU^\top is the identity on col⁡(U)⊇col⁡(Bi)\operatorname{col}(U) \supseteq\operatorname{col}(B_i)) and AiVV⊤=AiA_iVV^\top= A_i (analogously). Substituting Eq. (4) into Eq. (5):

ΔyLS(x)=U∑iwi(siU⊤Bi)(siAiV)V⊤x=∑iwisi(UU⊤Bi)(AiVV⊤)x=∑iwisiBiAix=Δy⋆(x).\begin{aligned} \Delta y^{\mathrm{LS}}(x) = U \sum_i w_i(\sqrt{s_i}U^\top B_i)(\sqrt{s_i}A_iV)V^\top x \\ &= \sum_i w_i s_i(UU^\top B_i)(A_iVV^\top)x = \sum_i w_i s_iB_iA_i x = \Delta y^\star(x). \end{aligned}

Proof of Corollary 2. Let P=UU⊤P = UU^\top and Q=VV⊤Q = VV^\top be the projectors onto col⁡(U)\operatorname{col}(U) and col⁡(V)\operatorname{col}(V). For each LoRA ii, decompose Bi=PBi+EiBB_i = PB_i + E_i^B with EiB=(I−P)BiE_i^B = (I-P)B_i, and Ai=AiQ+EiAA_i = A_iQ + E_i^A with EiA=Ai(I−Q)E_i^A = A_i(I-Q). Then

ΔyLS(x)−Δy⋆(x)=∑iwisi[(PBi)(AiQ)−BiAi]x=∑iwisi[−BiEiA−EiBAi+EiBEiA]x.\begin{aligned} \Delta y^{\mathrm{LS}}(x) - \Delta y^\star(x) = \sum_i w_i s_i\left[(PB_i)(A_iQ)-B_iA_i\right]x \\ &= \sum_i w_i s_i\left[-B_iE_i^A-E_i^B A_i+E_i^B E_i^A\right]x. \end{aligned}

By the Eckart-Young theorem [4], ∥(I−P)Bˉstack∥2=σD+1B\lVert(I-P)\bar{B}_{\mathrm{stack}}\rVert_2 = \sigma_{D+1}^B. Since Bˉi=Bi/∥Bi∥F\bar{B}_i = B_i/\lVert B_i\rVert_F is a column-block of Bˉstack\bar{B}_{\mathrm{stack}}, we have ∥EiB∥2≤∥Bi∥F⋅σD+1B\lVert E_i^B\rVert_2 \le\lVert B_i\rVert_F \cdot\sigma_{D+1}^B, and analogously ∥EiA∥2≤∥Ai∥F⋅σD+1A\lVert E_i^A\rVert_2 \le\lVert A_i\rVert_F \cdot\sigma_{D+1}^A. Applying ∥MNx∥2≤∥M∥2∥N∥2∥x∥2\lVert MNx\rVert_2 \le\lVert M\rVert_2\lVert N\rVert_2\lVert x\rVert_2, bounding ∥Ai∥2≤∥Ai∥F≤μA\lVert A_i\rVert_2 \le\lVert A_i\rVert_F \le\mu^A and ∥Bi∥2≤∥Bi∥F≤μB\lVert B_i\rVert_2 \le\lVert B_i\rVert_F \le\mu^B, summing the three error terms, and collecting over ii yields Eq. (6).

Empirical anchor (SDXL Pool C, τ=0.99\tau= 0.99). At τ=0.99\tau= 0.99 with K=17K = 17 pool LoRAs, the energy-fraction definition gives σD+1B≤(1−τ)K≈0.41\sigma_{D+1}^B \le\sqrt{(1-\tau)K} \approx0.41. The corollary applies a Frobenius-norm chain on ∥Ai∥\lVert A_i\rVert, ∥Bi∥\lVert B_i\rVert that loses orders of magnitude in tightness; we therefore treat Cor. 2 as a worst-case sanity statement rather than a predictive bound. Empirical robustness of τ=0.99\tau= 0.99 is established by the energy-threshold sweep in § 4.4, where quality varies non-monotonically within seed-level noise across τ∈[0.95,0.999]\tau\in[0.95, 0.999].

Router specifications

The four router variants summarised in § 3.6 are detailed below. All share the same operator interface: a function producing per-LoRA weights {wi}\{w_i\} that plug into Eq. (5).

Spatial router (per-token activation energy). Per-position normalised energy ei(p)=∥yi(p)∥22/(∥xproj(p)∥22+ϵ)e_i(p) = \lVert y_i(p)\rVert_2^2/(\lVert x_{\mathrm{proj}}(p)\rVert_2^2 + \epsilon) scored across active LoRAs, top-kk selection, temperature softmax. All runs use k=1k=1, so each token is routed to its highest-energy LoRA. Spirit of SpectR [5] but applied over per-LoRA contributions inside the pool subspace.

Temporal router (per-step subspace-band). Following CMLoRA’s dominant/non-dominant scheme [Zou et al., 2025] but with the routing signal computed as the late-band energy fraction inside the shared subspace, m=∑d≥D/2∥xproj[⋅,⋅,d]∥2/∑d∥xproj[⋅,⋅,d]∥2m = \sum_{d \ge D/2}\lVert x_{\mathrm{proj}}[\cdot,\cdot,d]\rVert^2 / \sum_d\lVert x_{\mathrm{proj}}[\cdot,\cdot,d]\rVert^2. Signal and operator share the same coordinate system.

Semantic router (per-concept spatial mask). A short warmup pass collects cross-attention maps for each LoRA’s trigger tokens, following the token-to-region routing motivation of FreeFuse [12]. Resulting per-LoRA masks Mi∈[0,1]H×WM_i \in[0,1]^{H \times W} are bilinearly resampled and applied at image-token axes, with activation-energy fallback at text-token axes.

External retrieval coupling. For LLM pools, LoRASPACE pairs with an INSTRUCTOR retriever [27] following the LoRA-Retriever protocol [35]. The retrieved top-KK subset is composed through the same shared-subspace operator. This demonstrates that internal (activation- or band-derived) and external (retrieval-derived) routing policies share a single composition substrate.

Per-method complexity comparison

Table 4 consolidates per-step compute and peak GPU memory across all evaluated methods. The key comparison is the Scaling in N column: output-space methods (composite, cmlora) scale linearly in compute and memory; PEFT-resident single-active methods (switch) hold per-step compute roughly constant but materialize all KpoolK_{\mathrm{pool}} LoRAs on GPU regardless of how many are active per step; static-merge methods (merge, knots) achieve O(1)O(1) inference cost but lose routing capability; LoRASPACE scales with the subspace dimension D≤min⁡(∑iri,d)D \le\min(\sum_i r_i,d), which saturates at the layer width when the pool grows large enough.

MethodPer-step computePeak GPU memoryScaling in NN
mergeO(Ld2)O(Ld^2)O(Ld2)O(Ld^2)Θ(1)\Theta(1)
switchO(L(d2+rˉd))O(L(d^2+\bar r d))O(L(d2+Kpoolrˉd))O(L(d^2+K_{\mathrm{pool}}\bar r d))compute Θ(1)\Theta(1), mem Θ(Kpool)\Theta(K_{\mathrm{pool}})
compositeO(NLd2S)O(NLd^2S)O(L(d2+Kpoolrˉd))O(L(d^2+K_{\mathrm{pool}}\bar r d))both Θ(N)\Theta(N)
cmloraO(NLd2S)O(NLd^2S)O(L(d2+Kpoolrˉd))O(L(d^2+K_{\mathrm{pool}}\bar r d))both Θ(N)\Theta(N)
knotsO(Ld2)O(Ld^2)O(Ld2)O(Ld^2)Θ(1)\Theta(1)
LoRASPACEO(L(dN+rˉN)D)O(L(dN+\bar rN)D), D≤min⁡(∑iri,d)D \le\min(\sum_i r_i,d)O(L(d2+dD))O(L(d^2+dD)) GPU ++ O(LKpoolrˉD)O(LK_{\mathrm{pool}}\bar rD) CPUlinear in NN inside subspace, DD caps with KK

Table 4. Per-step compute and peak GPU memory of training-free multi-LoRA composition methods. NN is active LoRAs per call, rˉ\bar r is representative rank, dd is layer width, LL is LoRA-bearing layers, SS is tokens per layer, and KpoolK_{\mathrm{pool}} is pool size. LoRASPACE’s D≤min⁡(∑iri,d)D \le\min(\sum_i r_i,d) saturates at the layer width.

Saturation thresholds. Saturation (D=dD = d) requires ∑iri≥d\sum_i r_i \ge d, where d=min⁡(din,dout)d = \min(d_{\mathrm{in}},d_{\mathrm{out}}) is the width of each layer. SD 1.5 LoRA layers have widths from 320 to 1280, and SDXL layers 640 or 1280. Counted per layer, the stacked ranks of Pool C reach the layer width on all 722 layers, and those of Pools A and B on 132 of 192 layers (every layer narrower than 1280). The diffusion pools therefore sit in the width-saturated regime on most layers, consistent with DD matching the spectrum-matched null on the SDXL pools (App. F). The LLM pool has ∑iri=384\sum_i r_i = 384 against d=4096d = 4096 (9% of threshold), deep in the rank-bound regime.

Rank overlap ablation: DD vs. pool size and energy threshold

This appendix documents the per-pool subspace dimension ablation that underlies Table 2.

Energy threshold sweep (Pool A, SD 1.5, K=11K = 11).

KK∑iri\sum_i r_i (mean)DD (mean ±\pm std)ρ\rho
2224213±50213 \pm500.95
4304275±22275 \pm220.91
6456353±35353 \pm350.77
8584397±38397 \pm380.68
11784446±0446 \pm00.57

Table 6. Pool A rank-fill ratio ρ\rho vs. pool size KK (mean ±\pm std over 3 random subsets per KK; K=11K=11 has zero std as the full pool admits one subset). Pairs (K=2K=2) are nearly rank-orthogonal (ρ≈0.95\rho\approx0.95); at full pool, 43% of rank is redundant.

Pool size sweep (Pool A, τ=0.99\tau= 0.99).

SDXL Pool C vs. LLM comparison. Pool C (K=17K = 17, SDXL) reaches ρ=0.46\rho= 0.46 at full pool size, with the rank-fill already at 0.69 to 0.72 for K=4K=4 subsets. This heavier overlap relative to Pool A is consistent with Pool C’s higher proportion of same-type LoRAs (lighting, material, background) that share scene-element structure. The LLM pool (K=48K = 48, LLaMA-2-7B [28]) maintains ρ≥0.96\rho\ge0.96 at all tested pool sizes with growth exponent β=0.94\beta= 0.94, which is effectively linear and confirms near-zero rank overlap across disjoint NLP-task LoRAs.

Rank-fill decomposition and matched null

The rank-fill ratio ρ=D/∑iri\rho= D / \sum_i r_i has nominal ranks in the denominator, so it mixes each adapter’s internal rank slack with structure between adapters. With per-adapter effective ranks rieffr_i^{\mathrm{eff}} computed at the same τ\tau on the same Frobenius-normalised factor stacks as DD,

ρ=∑irieff∑iri⏟ρintra×D∑irieff⏟ρcross(8)\rho= \underbrace{\frac{\sum_i r_i^{\mathrm{eff}}}{\sum_i r_i}}_{\rho_{\mathrm{intra}}} \times \underbrace{\frac{D}{\sum_i r_i^{\mathrm{eff}}}}_{\rho_{\mathrm{cross}}} \tag*{(8)}

where ρintra\rho_{\mathrm{intra}} isolates within-LoRA redundancy. Both cross-LoRA structure and stacked ranks approaching the layer width lower ρcross\rho_{\mathrm{cross}}, so we also compare DD with a spectrum-matched random null DnullD_{\mathrm{null}}, built from random per-adapter subspaces that keep each block’s own singular spectrum, with the same layer shapes and widths (one seeded draw per layer, averaged over all layers). Table 7 reports every pool at τ=0.99\tau= 0.99.

Poolρ\rhoρintra\rho_{\mathrm{intra}}ρcross\rho_{\mathrm{cross}}D/DnullD/D_{\mathrm{null}}
Pool C (SDXL, K=17K=17)0.460.840.550.98
Six stylized SDXL LoRAs (K=6K=6)0.971.000.971.00
Community SDXL, uncurated (K=20K=20)0.870.990.881.00
Pool C + community union (K=37K=37)0.430.890.480.99
LoRA-Hub (FLAN-T5, K=48K=48)0.601.000.600.70
Wild FLAN-T5 LoRAs, uncurated (K=12K=12)0.841.000.850.92
LoRA-Hub + wild union (K=60K=60)0.521.000.520.67
LoRA-Retriever (LLaMA-2, K=48K=48)0.981.000.981.00

Table 7. Rank-fill decomposition at τ=0.99\tau= 0.99. D/Dnull<1D/D_{\mathrm{null}} < 1 means the pool needs fewer dimensions than a spectrum-matched random pool. The LoRA-Hub row uses a different 48 of the 196 adapters than Table 2, and LoRA-Retriever is an independent re-download. The stylized, community and wild pools are described in App. § 14.

Within-LoRA slack is material only on the two pools that contain the Pool C adapters (ρintra=0.84\rho_{\mathrm{intra}} = 0.84 and 0.89) and is 0.99 to 1.00 elsewhere. On the LLM pools, far from width saturation, the related-task pools need about 30% fewer dimensions than their matched nulls (0.70 for LoRA-Hub and 0.67 for its union with an uncurated harvest), while LoRA-Retriever sits at its null. This alignment is consistent with shared task structure, but the control does not isolate training data as the cause. On the SDXL pools, whose stacked ranks exceed the layer widths, DD sits at the null (0.98 to 1.00). Their low ρ\rho is real compressibility, largely explained by width saturation and per-adapter spectra rather than by measured alignment, and it does not depend on a curated or related pool. Repeating the decomposition at the compressed operating points of App. § 13 instead of τ=0.99\tau= 0.99 attributes 75 to 83% of the log-compression to within-adapter tails on both pool types tested.

Joint versus marginal bases and compressed thresholds

Joint versus marginal SVD. We compare the paired marginal bases of § 3.2 with bases from a joint SVD of the stacked scaled deltas siBiAis_iB_iA_i, at the same rank DD (the DD the marginal method selects at τ=0.99\tau= 0.99), so capacity is equal. Table 8 reports relative Frobenius reconstruction error of the per-LoRA deltas and of composed uniform N=5N=5 deltas on Pool C, on 24 layers spanning nine layer types across the down, mid and up blocks, then on all 722 layers.

SettingDDPer-LoRA error marginalPer-LoRA error jointComposed error (N=5N=5) marginalComposed error (N=5N=5) joint
Full pool, K=17K=17, 24 layers8220.88%0.35%0.84%0.43%
Small pool, K=6K=6, 24 layers3740.52%0.22%0.56%0.32%
Full pool, K=17K=17, all 722 layersper layer1.01%0.43%0.95%0.53%

Table 8. Reconstruction error of marginal and joint bases at equal DD (Pool C).

The joint construction is closer to product-optimal in weight space, with worst cases of a few percent on low-energy layers (8.7% marginal against 7.3% joint). The difference does not reach generation. A cache built from the joint bases at the same per-layer DD regenerates all 30 benchmark combinations at DINO similarity 0.999 to the marginal-cache images (CLIP-T 25.87 against 25.92). The joint spectrum is also more compact (D≈148D \approx148 on these layers against 822). A joint core UT(siBiAi)VU^{\mathsf{T}}(s_iB_iA_i)V has rank at most rir_i and refactors exactly into thin factors, so at matched DD both caches store the same number of parameters, while at its own τ=0.99\tau= 0.99 the joint cache is about 5×5\times smaller (1.77 against 8.63 GB in fp16) and builds 14% faster.

We keep the marginal bases as the default because they can be built and grown from native thin factors in a small memory budget. The marginal build streams thin factor stacks and never forms a dense dout×dind_{\mathrm{out}} \times d_{\mathrm{in}} delta, so its peak transient memory per layer is 83 MB against 1.3 GB for our joint build, which keeps the precompute on CPU (21.8 s for Pool A). The marginal coordinates also support the append-only extension of App. § 15 and the exact recovery of Prop. 1. The joint substrate is the more compact choice when the dense build is affordable, and the marginal one suits pools that change.

Compressed thresholds. Table 9 lowers τ\tau below the default after submission (105 images, 15 combinations at N=5N=5, an 18-adapter manifest with mean D=785D = 785 at τ=0.99\tau= 0.99, and our own prompt set, so CLIP-T is not comparable to the main tables). These compressed caches, and those of the next paragraph, are made by truncating the τ=0.99\tau= 0.99 cache to min⁡(DB,DA)\min(D_B,D_A) per layer rather than the max⁡(DB,DA)\max(D_B,D_A) of § 3.2, so at a given τ\tau they are no larger than a fresh build. CLIP-T and ImageReward stay flat within run-to-run variation down to D≈50D \approx50, the same order as the joint spectrum’s DD.

τ\taumean DDCLIP-TImageRewardDINO
0.9978525.331.1371.000
0.7010725.671.1580.981
0.504925.611.1480.967
0.302225.271.1170.949

Table 9. Quality at compressed energy thresholds. DINO is the similarity to the τ=0.99\tau= 0.99 images.

The basis matters at compressed sizes. At τ=0.99\tau= 0.99 the choice of basis does not change quality (§ 4.3). At compressed sizes it does. Regenerating 30 fixed-seed combinations at identical per-layer DD with four bases at τ=0.50\tau= 0.50 (D≈49D \approx49, Pool C cache 0.63 GB against 9.5 GB), the pool basis keeps DINO similarity 0.967 to the full-cache images (CLIP-T 25.93 against 25.92), while a random basis and a basis built from a different pool fall to 0.877 and 0.901 because the adapters no longer come through. A per-combination Eckart-Young basis also holds quality (0.986) but costs minutes of dense SVDs per combination and leaves no reusable object. The pool basis keeps 0.956 and 0.945 at τ=0.40\tau= 0.40 and 0.30 (caches of 0.40 and 0.26 GB), while both controls stay at 0.88 to 0.90.

Heterogeneous and uncurated pools

Most of our pools are earlier benchmarks adopted unchanged. To test a pool nobody on our team chose, we harvested the 20 most-downloaded valid community SDXL LoRAs by a fixed rule (Hugging Face SDXL tree, downloads descending, 16 creators, ranks 4 to 128) and measured them on the same 722 layers as Pool C. We also added six strongly stylized SDXL LoRAs. Table 10 reports ρ\rho at τ=0.99\tau= 0.99.

PoolKK∑iri\sum_i r_iDDρ\rho
Pool C (control)1717928190.46
Six stylized LoRAs alone61921860.97
Pool C + six stylized2319848480.43
Community LoRAs, uncurated206735800.87
Pool C + community3723379210.43

Table 10. Rank fill of heterogeneous and uncurated SDXL pools at τ=0.99\tau= 0.99.

Unrelated adapters among themselves stay nearly incompressible (ρ=0.97\rho= 0.97 for the stylized set and 0.87 for the community set), as on the LLM side (an uncurated harvest of 12 FLAN-T5 task LoRAs at 0.84, LoRA-Retriever at 0.96). A mixed pool still deploys. Adding the six stylized adapters grows the pooled DD by only 3.5% (819 to 848, against 186 for the stylized set alone), and in a mixed 17-adapter pool of Pool C and stylized adapters every adapter keeps at least 99.9% of its delta energy (12 layers). New adapters are detectable before use. Every community adapter lies outside the Pool C bases (captured energy 0.15 to 0.64, mean 0.35, against 0.999 or more for in-pool adapters), and every one is fully represented after the extension of App. I (captured energy 1.00 with about 27 extra directions per layer). The union also absorbed engineering differences, such as varying per-layer ranks, unsupported layer types and file-format differences, which the merge path had to normalise case by case.

On the LLM side, the 12 harvested FLAN-T5 adapters (car-rental dialogue, SQuAD question answering, meeting summarisation and Open-Orca instruction following, from different creators) need D=155D = 155 alone but add only 35 dimensions to the 48-task LoRA-Hub substrate, and the union sits further below its matched null than LoRA-Hub itself (0.67 against 0.70, App. § 12).

End-to-end check on the union. One substrate over the 37-adapter union reproduces the equal-weight ambient composition on 30 combinations (DINO similarity 0.999 against per-combination PEFT merge). A no-adapter base arm on the same prompts and seed scores 0.90 and 0.85 at N=3N=3 and N=5N=5 against the same merges, so the metric discriminates. This control bounds metric headroom only. The 20 combinations at N=3N=3 use community adapters without trigger words, so their prompts and base image are identical.

Changing pools: basis extension and tolerance

We measure what happens when a LoRA arrives after the substrate is built, on Pool C (24 layers, energy-weighted, leave-one-out over all 17 adapters).

Projection onto the unchanged bases. A held-out adapter’s delta projected onto the substrate built from the other 16 keeps on average only 0.30 of its energy (0.21 to 0.45), and composed N=5N=5 error averages 0.34 when that adapter is used immediately. A larger existing pool does not help (captured energy 0.10, 0.18, 0.26 and 0.30 at K=4,8,12,16K=4, 8, 12, 16), and twenty uncurated community adapters capture only 0.15 to 0.64 on the Pool C bases (App. § 14). Each adapter brings its own few effective directions, so a new LoRA lies largely outside the existing span.

Basis extension. For each layer we take the new LoRA’s residual against the existing bases, RB=(I−UUT)BnewR_B = (I - UU^{\mathsf{T}})B_{\mathrm{new}} and RA=Anew(I−VVT)R_A = A_{\mathrm{new}}(I - VV^{\mathsf{T}}), and append its top-qq singular directions to (U,V)(U,V). Existing coordinates are untouched. Admission takes 33 s on CPU over all 722 layers including the cache write, against 7 min 41 s on GPU for a full rebuild at K=37K=37. Table 11 reports captured energy. Reaching 0.99 needs on average only 12 extra directions per layer (5 to 28) against D≈820D \approx820.

Update pathCaptured energyExtra directions per layer
Projection, unchanged bases0.300
Extension, q=4q=40.924
Extension, q=8q=80.968
Extension, q=16q=160.9816
Extension, q=32q=321.0032

Table 11. Captured energy of a held-out Pool C adapter under each update path (mean over all 17 adapters).

End-to-end check. We rebuilt both caches and regenerated 30 fixed-seed N=5N=5 combinations. The extension cache reproduces the full-recompute images at DINO similarity 0.999 (worst 0.995) on the 10 combinations that contain the new LoRA, with CLIP-T unchanged. The projection cache drifts on exactly those combinations (0.982, worst 0.936) and nowhere else (0.999 on the other 20).

Sequential arrivals. Starting from a 6-adapter core and admitting the other 11 adapters one at a time, extension keeps DD smaller than a fresh recompute (final mean DD of 480 against 822). Composed error grows from 3.3% after the first arrival to 6.4% after the eleventh, against 0.84% for a fresh build. This motivates the update rule in App. V, which is to extend on arrival, monitor composed error, and rebuild periodically off the serving path.

Capability comparison

Tab. 12 compares LoRASPACE with the closest training-free methods on four requirements of the deployment we target, many LoRAs composed under a memory budget. The last two rows are measured rather than asserted (§4.2, App. I).

RequirementCtSKnOTSCore-SpaceCompositePer-combo truncated mergeLoRASPACE
Serve any active subset, static or routed, from one precomputenononon/anoyes
Context-dependent weights without NN backbone passesnononononoyes
Predict before deployment whether a pool compressespartial∗^{*}nonononoyes (ρ\rho)
Admit a newly published adapter without recomputing the poolnononon/anoyes (extension)

Table 12. Requirements of multi-LoRA composition under a memory budget. Composite covers ComposLoRA [Zhong et al., 2024] and CMLoRA [Zou et al., 2025].

High-cardinality prompt truncation mitigation

CLIP-L’s 77-token hard limit is reached in all 15 sampled Pool C combos at N=7N=7 (maximum prompt length 92 tokens), silently dropping the last-listed LoRA’s trigger from the cross-attention context. A deterministic 20-line trigger-deduplication rule (compact) fits every combo under 74 tokens and recovers +0.36 GPT-4o composition points on average across the three LORASPACE variants (Table 13). The mitigation is orthogonal to the composition operator and applies equally to all multi-LoRA methods. Pool C headline numbers use native triggers (identical truncation applied to every method); Pool B high-cardinality cells (N=7,8N = 7, 8) use compact.

MethodComposition (native)Composition (compact)Δ\Delta compositionΔ\Delta image
spatial-LoRASPACE4.154.27+0.12−0.19
temporal-LoRASPACE3.824.38+0.56−0.01
semantic-LoRASPACE3.784.20+0.42−0.13
Mean3.924.28+0.36−0.11

Table 13. GPT-4o composition and image quality under native (truncated) triggers versus the compact deduplication rule, 15 Pool C combos at N=7N=7.

Pool B (SD1.5, broader pool): full high-cardinality results

MethodN=7N=7 CLIP-TN=7N=7 ImgRewardN=7N=7 DINO (vs. comp.)N=8N=8 CLIP-TN=8N=8 ImgRewardN=8N=8 DINO (vs. comp.)
merge32.160.060.50832.490.010.434
switch36.431.230.68936.101.100.650
composite35.650.61n/a34.470.39n/a
cmlora34.590.600.83334.600.380.809
spatial-LoRASPACE34.790.700.51234.030.590.399
temporal-LoRASPACE34.581.070.69833.811.190.625
semantic-LoRASPACE34.811.040.67933.761.140.615

Table 14. Pool B (SD 1.5, 17 LoRAs, 48 combos per cell) at N∈{7,8}N \in\{7, 8\} with compact triggers. Bold = best; underline = best non-LoRASPACE.

Routing ablation: full table

Tab. 15 reports the full per-router quality for the routing ablation summarised in § 4.5.

Mechanism ablation: per-NN breakdown

The mechanism comparison in § 4.3 reports means over N=2N = 2 to 5. Tab. 16 gives the per-NN breakdown for both rank-DD static-delta variants on Pool A (single seed 111, 240 combos total).

subspace-merge (pool-wide (U,V)(U, V) baked into a static delta) and truncated-merge (per-combo SVD of the ambient merge) track each other within ≤0.12\le0.12 CLIP-T and ≤0.04\le0.04 ImageReward at every NN, supporting the body conclusion that the basis choice does not affect quality at equal rank DD. Both also track per-step uniform LoRASPACE (Table 3) within fp16 noise.

NNtruncated-merge CLIP-T ↑truncated-merge ImgRew ↑subspace-merge CLIP-T ↑subspace-merge ImgRew ↑
234.571.05334.451.022
335.311.03735.391.028
436.131.07836.111.081
537.001.12637.101.115
Mean35.751.07335.761.062

Table 16. Mechanism ablation per NN. truncated-merge (combo-specific basis) vs. subspace-merge (pool-wide basis), Pool A, seed 111. Both run at ambient-merge inference cost; they differ only in configure-time precompute.

Pool C quality across active-LoRA sizes

Pool C uses 17 SDXL LoRAs across six categories (character, background, lighting, material, expression, accessory). Quality is measured at N∈{2,3,4,5,6}N \in\{2, 3, 4, 5, 6\} across 40 stratified combinations per NN, seed 111, 50 DPM-Solver++ steps, 1024 × 1024.

NNmerge CLIP-T ↑merge ImgRew ↑composite CLIP-T ↑composite ImgRew ↑LoRASPACE (uniform) CLIP-T ↑LoRASPACE (uniform) ImgRew ↑
229.331.30031.501.29231.671.289
331.320.89432.951.10833.601.089
428.820.79931.791.05832.951.106
528.530.42630.480.82932.011.028
629.060.18432.850.57734.220.691
Mean29.410.72131.910.97332.891.040

Table 17. Pool C (SDXL, 17 LoRAs) quality per NN. Seed 111, 200 combos per method (40 per NN, identical across methods). 95% bootstrap CIs (mean over NN): merge CLIP-T [28.97, 29.86], ImgRew [0.60, 0.84]; composite [31.5, 32.4], [0.88, 1.06]; uniform LoRASPACE [32.5, 33.3], [0.95, 1.13]. Merge ImgRew drops from 1.30 at N=2N=2 to 0.18 at $N=6; LoRASPACE retains 0.69.

Speed and precompute cost

Tables 18 and 19 report per-image wall-clock and GPU memory across all evaluated methods on Pool C (SDXL) and Pool A (SD 1.5) respectively. Precompute cost is discussed below.

MethodTime @ N=2N=2 (s)Time @ N=5N=5 (s)Peak VRAMLoad VRAM
merge18.932.73.49 GB2.88 GB
switch17.522.03.49 GB2.88 GB
composite68.2142.63.49 GB2.89 GB
cmlora59.5138.53.49 GB2.89 GB
spatial-LoRASPACE37.630.74.09 GB2.88 GB
temporal-LoRASPACE28.744.34.09 GB2.88 GB
semantic-LoRASPACE31.734.04.09 GB2.88 GB

Table 19. Per-image speed and GPU memory on Pool A (SD 1.5, 5122512^2, 200 steps, RTX 3090, 10 combos, 2 warmup +3 timed repeats per cell, mean across repeats). Body uses 100 steps so wall-clock halves at deployment; relative ratios are preserved. spatial-LoRASpace cells contain measurement noise from the ≤3\le3 repeats; the dominant signal is the NN-scaling separation between LORASPACE and composite.

Precompute cost. Precompute is a one-time pool-level cost: load every LoRA’s factor pair, build the energy-normalised BB- and AA-stacks per layer, run two thin SVDs, and project per-LoRA factors into the truncated bases. For Pool A (SD 1.5, K=11K=11, ∑iri=784\sum_i r_i=784, 192 LoRA-bearing layers) the dominant per-layer SVD is on a dout×∑rid_{\mathrm{out}} \times\sum r_i matrix with dout∈{320,640,1280}d_{\mathrm{out}} \in\{320, 640, 1280\}; the streaming script runs end-to-end in 21.8 s SVD time + 0.7 s pickle write on CPU (single-thread Intel Xeon) and produces an 866 MB cache. For Pool C (SDXL, K=17K=17, ∑iri=1792\sum_i r_i=1792, 722 LoRA-bearing layers) the same pipeline produces a 9.54 GB cache; the lazy per-layer streaming precompute peaks at 10.1 GiB of host memory (maximum resident set size). The cache is loaded once at pipeline initialisation (Pool A: 0.6 s; Pool C: 5.4 s on a SATA SSD) and is shared across all subsequent generations: precompute is amortised across the entire experiment and never enters the per-image latency budget.

Where the dynamic-mode speedup comes from. To separate backbone-pass avoidance from the subspace path, we add a single-pass ambient mixture that keeps all NN adapters active as PEFT modules and runs one backbone pass (Table 20, measured on Pool C with 15 combinations at N=5N=5, seed 111, 50 steps, 102421024^2, idle GPU, medians over the 14 inter-image intervals of one sequential run per condition). Of the 5.3× gain of LORASPACE over composite at N=5N=5, 4.9× comes from running one backbone pass instead of five and 1.08× from the subspace path. In isolation, the subspace path at τ=0.99\tau=0.99 is 6 to 7% slower than the ambient factor path (47.6 against 44.4 ms at 4096 tokens and 29.9 against 28.0 ms at 1024 tokens, per-layer microbenchmark summed over 48 sampled layers with the real cache factors), as Eq. (7) predicts when D>NrˉD > N\bar r. The 1.08× therefore reflects the overhead of keeping NN PEFT adapters active rather than an arithmetic advantage of the subspace. The ambient condition supports per-step weight changes, but per-token routing would need further implementation.

ConditionBackbone passesAdapter pathMedian s/image
composite5none (per-pass guidance)181.9
Ambient single-pass1NN thin factor pairs37.3
LoRASPACE1shared subspace (Eq. (5))34.5

Table 20. Pool C per-image time at N=5N=5, with a single-pass ambient mixture between composite and LoRASPACE.

Additional qualitative examples

This appendix supplements Figure 3 with paired generations for further Pool C combos. Within each row the prompt and seed are held fixed across all three methods, so visual differences reflect the composition operator only. We do not show Pool A or Pool B generations, because their character LoRAs depict real people (App. § 28). For reference, Pool A per-image cost on RTX 3090 (SD 1.5, 5122512^{2}, 100 DPM-Solver++ steps) is ∼16\sim16 s (merge), ∼58\sim58 s at N=4N=4 or ∼71\sim71 s at N=5N=5 (composite), and ∼17\sim17 s at N=4N=4 or ∼15\sim15 s at N=5N=5 (LORASPACE), with peak VRAM 3.5 GB for merge and composite and 4.1 GB for LORASPACE.

Pool C example with three image outputs

Figure 3. Pool C N=5N=5 example. VioletXL + catwalk + god rays + old copper + anger, SDXL. L→R: merge, composite, LoRASPACE. Time 36/187/42 s.

Pool C qualitative examples (SDXL, 102421024^{2}, 50 DPM-Solver++ steps). Per-image cost on RTX 3090: merge ∼31\sim31 s (N=4N=4) / ∼36\sim36 s (N=5N=5) / ∼39\sim39 s (N=6N=6); composite ∼151\sim151 s (N=4N=4) / ∼187\sim187 s (N=5N=5) / ∼225\sim225 s (N=6N=6); LORASPACE ∼40\sim40 s (N=4N=4) / ∼42\sim42 s (N=5N=5) / ∼45\sim45 s (N=6N=6). Peak VRAM: merge 22.3 GB, composite 22.8 GB, LORASPACE 15.6 to 16.8 GB.

Three paired generations showing a fashion runway scene and portraits

Figure 5. Pool C N=4N=4: VioletXL + catwalk + god rays + old gold. Left to right: ambient merge, composite, uniform LORASPACE.

Three paired generations showing sunglasses and fashion portraits

Figure 6. Pool C N=6N=6 (high-cardinality): VioletXL + catwalk + chiaroscuro + corrosion + fear + sunglasses.

Synthetic pool scaling stress test

To probe the asymptotic regime beyond real LoRA pools, we run K∈{4,8,16,32,64}K \in\{4, 8, 16, 32, 64\} random rank-8 LoRAs on SD 1.5 (N=4N=4 active per call, 5 DPM-Solver++ [13] steps, 5122512^2). composite’s per-step time grows from 0.119 to 0.681 s over the 16×16\times pool growth at fixed NN, while LORASPACE stays within 0.132 to 0.164 s and is 4.8× faster at K=64K=64. Load-time GPU VRAM is constant at 2.16 to 2.18 GB for LORASPACE and grows linearly for composite. The crossover from composite-faster to LoRASpace-faster occurs at K≈8K \approx8; the gap widens monotonically thereafter.

Note on composite scaling at fixed NN. The per-step asymptotic in Table 4 is O(NLd2S)O(NLd^2S), independent of KK. The ∼K\sim K growth measured here at N=4N=4 reflects implementation-level overhead in the diffusers PEFT-loading path, which iterates over loaded LoRAs per step at small step counts. At the 50 denoising steps used in Pool C body measurements this overhead amortises and the per-step cost is dominated by the O(NLd2S)O(NLd^2S) term; the body Pool C numbers (Table 18) are consistent with that asymptotic.

MethodTime @ N=2N=2 (s)Time @ N=7N=7 (s)Peak VRAMLoad VRAM
merge23.043.5†22.34 GB18.19 GB
switch23.323.422.83 GB19.68 GB
composite76.3262.222.83 GB19.69 GB
cmlora77.1261.522.83 GB19.69 GB
spatial-LoRASPACE34.648.015.60 to 16.80 GB6.46 GB
temporal-LoRASPACE32.942.715.60 to 16.80 GB6.46 GB
semantic-LoRASPACE32.942.515.60 to 16.80 GB6.46 GB

Table 18. Per-image speed and GPU memory on Pool C (SDXL, 102421024^2, 50 steps, RTX 3090). Peak VRAM measured at N∈{2,4,6}N \in\{2, 4, 6\}. N=7N=7 entries linearly extrapolated. Static-mode LoRASPACE (subspace-merge) inherits ambient merge’s per-image cost by construction. † Extrapolated from measured N=2N=2:23.0, N=4N=4:31.7, N=6N=6:39.4 (linear fit, slope 4.1 s/LoRA).

Switch baseline scoreboard

We exclude single-active routing methods such as Switch [5] from the main composition comparison because they activate one LoRA at a time and never combine multiple LoRAs in a single forward pass. They are also order-sensitive by construction: rotating which LoRA fires at which step changes the output. For completeness, Table 21 reports Switch on the same pools as the main quality results.

PoolSettingCLIP-T ↑ImageReward ↑DINO (vs. comp.)
Pool A SD 1.5mean N=2N = 2 to 5, 240 combos35.811.140.73
Pool C SDXLmean N=2N = 2 to 6, 200 combos32.101.150.79
Pool B SD 1.5N=7N = 7, 48 combos36.431.230.69
Pool B SD 1.5N=8N = 8, 48 combos36.101.100.65
LoRA-RetrieverMacro Task / samp.s−1^{-1}51.54Macro Task at 1.82 samp.s−1^{-1}

Table 21. Switch baseline (one active LoRA at a time, same protocol as main results). Reported for completeness; not directly comparable to composition methods.

The order-sensitivity manifests on Pool C at N=7N=7 as a mean DINO self-similarity of 0.71 between canonical and reversed LoRA orderings, with 10/10 tested combos falling below the 0.95 order-invariant threshold. Composition methods (merge, composite, LORASPACE) are order-invariant by design.

LLM D ablation: saturation and rank-orthogonality

The rank-overlap framework predicts two qualitatively different regimes for DD as KpoolK_{\mathrm{pool}} grows. In the rank-bound regime (∑iri<d\sum_i r_i < d), DD grows sub-linearly with KK when LoRAs share structure. In the saturation regime (∑iri≥d\sum_i r_i \ge d), DD is capped at the layer width and each new LoRA adds at most one new direction.

We measure both regimes empirically.

LoRA-Retriever near-orthogonality (rank-bound regime). The LLaMA-2-7B LoRA-Retriever pool (K=48K=48) [35] has uniform ri=8r_i = 8, ∑iri=384\sum_i r_i = 384, against d=4096d = 4096. Across pool size sweeps with K∈{2,4,8,16,32,48}K \in\{2, 4, 8, 16, 32, 48\}, the rank-fill ratio stays at ρ≥0.94\rho\ge0.94 throughout, with β=0.94\beta= 0.94. LoRAs trained on disjoint NLP tasks (sentiment, machine translation, reading comprehension) contribute nearly orthogonal directions, consistent with tasks that share little structure (the pool sits at its spectrum-matched null, App. F).

LoRA-Hub saturation crossing (saturation regime). The LoRA-Hub FLAN-T5-Large pool [9] has K=196K = 196 LoRAs with uniform ri=16r_i = 16 and layer width d=1024d = 1024. Saturation occurs at K∗=d/r=64K^* = d/r = 64, where K⋅r=dK \cdot r = d. We measure Dˉ\bar{D} across K∈{4,8,16,32,64,128,196}K \in\{4, 8, 16, 32, 64, 128, 196\}. Below K∗K^*, each new LoRA adds approximately 11 new dimensions to Dˉ\bar{D}. Above K∗K^*, each new LoRA adds approximately 1 new dimension, consistent with the saturation prediction. At the full pool K=196K = 196, Dˉ=810\bar{D} = 810, which is 79% of layer width: the subspace never fully fills even at 3×3 \times saturation KK, leaving residual capacity for additional LoRAs.

This is the first measurement we are aware of that crosses the saturation boundary in a real LoRA pool. It validates the framework’s prediction of a regime change at K=d/rK = d/r and provides an empirical anchor for what to expect at very large pool sizes. Our diffusion pools are already width-saturated on most layers (App. § 10), but none was swept across the boundary, so LoRA-Hub is the only pool where we observe the crossing itself.

LLM cross-modality: full scoreboard and extended discussion

Table 22: Full LoRA-Retriever benchmark [35] on LLaMA-2-7B [28] (48 LoRAs, 2,395 samples, 14 methods). Bold = best non-Oracle; _underline_ = best non-LoRASPACE non-Oracle.

MethodMacro TaskMacro Domainsamp/s
base (no LoRA)4.244.170.60
oracle (task-matched)57.5459.551.91
merge (Task Arithmetic)45.7246.962.18
ties48.7151.391.93
dare40.8641.222.04
knots45.4447.010.31
spectr41.9042.740.97
lorahub46.1946.680.12
switch51.5452.691.82
loraretriever-mixture_53.55__56.43_1.47
loraretriever-fusion43.5644.141.77
loraspace-fullpool (no retrieval)50.4953.001.48
loraspace-instructor54.0156.791.44
loraspace-hybrid54.5157.201.52

Table 22. Full LoRA-Retriever benchmark on LLaMA-2-7B.

Why loraretriever-fusion underperforms loraretriever-mixture. Fusion mode forms a fused left factor Aˉ=∑pwpAp\bar{A} = \sum_p w_p A_p and fused right factor Bˉ=∑pwpBp\bar{B} = \sum_p w_p B_p, then applies BˉAˉ\bar{B}\bar{A}: this introduces cross-products BpAqB_p A_q for p≠qp \ne q, which are not part of the target delta sum ∑pwpBpAp\sum_p w_p B_p A_p. These cross-terms are approximation errors that degrade composition quality relative to the clean mixture mode, explaining the substantial score difference (43.56 vs. 53.55 Macro Task).

Ablation decomposition. The loraspace-hybrid score (54.51) decomposes as: loraspace-fullpool (50.49) + INSTRUCTOR retrieval gate (+3.52) + calibrated spectral routing over retrieved subset (+0.50). The substrate alone (50.49) is above all static merges but below the retrieval-augmented baselines. The retrieval gate is the dominant quality driver, as expected for a pool of 48 highly diverse task LoRAs.

Per-domain breakdown. loraspace-hybrid beats Oracle on five of ten domains (commonsense, closed-book QA, sentiment, coreference, translation) where blending complementary LoRAs helps. Losses concentrate on format-sensitive domains (reading comprehension, NLI, structured generation) where blending dilutes the precise output format required by the task-matched LoRA.

Limitations

This appendix collects the empirical scope and assumptions of the work referenced from § 5.

Pool coverage and post-saturation behaviour. The empirical characterisation in § 4.2 covers three diffusion pools (Pool A, B, C) and two LLM pools (LoRA-Retriever and LoRA-Hub). The diffusion pools already exceed the layer width on most layers (App. § 10), but only the LoRA-Hub pool is swept across the saturation boundary (Appendix § 26), so how DD grows past it on diffusion pools is extrapolated rather than measured.

Changing pools. The substrate is computed for a given pool, and in deployment pools change. An unchanged substrate has no tolerance budget for a new LoRA. Projected onto the existing bases, a held-out Pool C adapter keeps only 0.30 of its energy on average, and a larger existing pool does not fix this (App. § 15). Extending the bases with the new adapter’s residual directions admits it in 33 s on CPU without recomputing the pool, and reproduces the full-recompute images, but the composed error grows slowly as arrivals accumulate (3.3% after the first to 6.4% after the eleventh, against 0.84% for a fresh build). The update rule we use is to extend on arrival, monitor composed error, and rebuild periodically off the serving path. Removing an adapter needs no recomputation, because the bases still span the remaining adapters.

Interpreting the rank-fill ratio. The rank-fill ratio may combine within-LoRA redundancy with cross-LoRA overlap. App. § 12 quantifies the two with the decomposition ρ=ρintra×ρcross\rho= \rho_{\mathrm{intra}} \times\rho_{\mathrm{cross}} and a spectrum-matched null.

Efficiency baselines. Efficiency conclusions depend on the baseline implementation. Our merge, composite and single-pass ambient baselines use the PEFT runtime. Against a single-pass ambient mixture, the dynamic-mode gain at τ=0.99\tau= 0.99 comes from backbone-pass avoidance rather than from arithmetic inside the subspace (App. § 22).

Seed coverage of routing and mechanism ablations. The routing ablation (§ 4.5) is reported as mean ±\pm across-seed standard deviation over three random seeds (240 stratified combinations per seed); the mechanism ablation (§ 4.3) is reported at a single seed. The main quality table (§ 4.3) reports CLIP-T and ImageReward across three random seeds with small across-seed standard deviations; GPT-4o evaluation is from one seed due to API cost. These are precision limitations rather than soundness ones: the across-seed standard deviations do not cross the inter-method gaps on ImageReward (where the routing pattern is established), and the pattern is consistent across NN.

Layer scope. The operator is currently formulated for 1×11 \times1 linear projections, which covers all attention and most MLP modules in the diffusion and LLM backbones we test. Extensions to convolutional layers with kernel size larger than one, and to non-linear LoRA formats (DoRA, AdaLoRA), are out of scope here.

Router scope. The four routers we evaluate (uniform, spatial, temporal, semantic, plus the external retrieval coupling) are sufficient to demonstrate that the operator interface admits arbitrary {wi}\{w_i\}, but they are simple hand-designed examples and not exhaustive. Learned routers, in particular, may exploit the shared subspace structure in ways not captured by hand-designed signals. We see this as a natural extension rather than a limitation of the framework itself.

Asset and identity considerations. The three Pool A character LoRAs (also used in Pool B) are public CivitAI LoRAs that reproduce the likeness of real people, and CivitAI has since removed them. We use them only as inputs to the composition benchmark. We do not show their generations, name the people, or redistribute the weights, and our released pool manifests list them by SHA-256 hash only. We do not propose new likeness models. Downstream use should follow source platforms’ policies and applicable law.

LoRA pools and prompts

This appendix lists every LoRA used in our diffusion and LLM pools, with category groupings, trigger words, and example combo prompts. SHA-256 hashes and stable source URLs are in the per-pool JSON manifests in the pools/ directory of the released code.

Pool A (SD1.5, 11 LoRAs, reality style)

Five categories: 3 character + 2 clothing + 2 style + 2 background + 2 object. All LoRAs at r=32r=32, α=16\alpha=16 unless noted.

Table 23: Pool A LoRAs with trigger words. Source: CivitAI (URLs and SHA-256 hashes in the pool manifests).

IDNameTrigger words
character
character_1Real-person likeness LoRAidentity trigger and appearance descriptors (omitted)
character_2Real-person likeness LoRAidentity trigger and appearance descriptors (omitted)
character_3Real-person likeness LoRAidentity trigger and appearance descriptors (omitted)
clothing
clothing_1Thai University Uniformmahalaiuniform, white shirt short sleeves, black pencil skirt
clothing_2School Dressschool uniform, white shirt, red tie, blue pleated microskirt
style
style_1Japanese Film Color Stylefilm overlay, film grain
style_2Bright Stylebright lighting
background
background_1Library Bookshelflib_bg, library bookshelf
background_2Forestslg, river, forest
object
object_1Umbrellatransparent umbrella
object_2Bubble Gumbubble gum

Table 23. Pool A LoRAs with trigger words. Source: CivitAI (URLs and SHA-256 hashes in the pool manifests).

Pool A prompt template. Identical across all combos in the pool; combo selection only changes which trigger lists get concatenated.

RAW photo, subject, 8k uhd, dslr, high quality, Fujifilm XT3, half-length portrait from knees up, ⟨trigger_1⟩, ⟨trigger_2⟩, ...

For the negative prompt we use the 44-token ComposLoRA reality negative (artifact + style-contamination + anatomy-failure tokens).

Example Pool A combos.

  • N=2N=2, [character_1, background_2]: “RAW photo, subject, …, ⟨character_1 triggers⟩, slg, river, forest”.

  • N=5N=5, [character_1, clothing_1, style_1, background_1, object_1]: “RAW photo, subject, …, ⟨character_1 triggers⟩, mahalaiuniform, white shirt short sleeves, black pencil skirt, film overlay, film grain, lib_bg, library bookshelf, transparent umbrella”.

Pool B (SD1.5, 17 LoRAs, Pool A + 6 high-cardinality)

Pool A’s 11 LoRAs plus 6 new ones across 3 new categories: detail (2), pose (2), expression (2). Probes the high-cardinality regime (N∈{7,8}N \in\{7,8\}) where rank-fill is lowest (ρ=0.47\rho=0.47 at K=17K=17).

Pool B trigger deduplication. At N≥7N \ge7, the body of the prompt approaches CLIP-L’s 77-token limit. The Pool B body experiments use a compact trigger-deduplication rule (App. § 17) that drops repeated tokens across active LoRAs before assembly.

Pool C (SDXL, 17 LoRAs)

Six categories: 3 character (r=32r=32, α=16\alpha=16) + 3 background + 4 lighting + 4 material + 2 expression + 1 accessory (last five at r=128r=128, α=1\alpha=1). SDXL backbone, 102421024^{2} generation.

IDNameTrigger words
detail (quality enhancers, no explicit trigger)
detail_1Detail Tweaker(none)
detail_2Add More Details(none)
pose
pose_1Shirt Tug Poseshirt tug
pose_2Covering Eyes Posecovering eyes
expression
expression_1Screaming / Open Mouthopen_mouth, screaming
expression_2Sharp Eyes / Kubrick Staresharp_eyes

Table 24. Pool B additional LoRAs (Pool A’s 11 plus 6 new).

IDNameTrigger words
character
character_1SL Nobodies CamelliaXLCamelliaXL, a young woman, detailed face
character_2SL Nobodies HelenaXLHelenaXL, a young woman, detailed face
character_3SL Nobodies VioletXLVioletXL, a young woman, detailed face
background
background_1Polyhedron Catwalkcatwalk, runway, fashion show
background_3Polyhedron Power Gridenergy, high voltage, power pole, transformer station, tangled cables
background_4Polyhedron Dandelionsdandelion, dandelion seed, yellow dandelion
lighting
lighting_2Polyhedron God Raysgod rays, sunbeams, sunbeam
lighting_3Polyhedron Chiaroscurochiaroscuro style, dim light
lighting_4Polyhedron Fogfog, haze, foggy, mist
lighting_5Polyhedron Golden Hourgolden hour, sunset, sunrise
material
material_1Polyhedron Corrosioncorrosion, rust
material_2Polyhedron Old Woodold wood, wooden planks, wooden wall, wooden floor
material_3Polyhedron Old Goldgold, old gold
material_4Polyhedron Old Copperold copper, copper, patina, copper pot
expression
expression_1Polyhedron Angeranger, screaming, angry
expression_3Polyhedron Fearfear, fearful, anxious
accessory
accessory_3Sunglasses on Top of Headwith sunglasses on top of head

Table 25. Pool C LoRAs (SDXL).

Example Pool C Combos.

  • N=4N=4, [character_1, background_1, lighting_2, material_1]: “RAW photo, subject, . . . , CamelliaXL, a young woman, detailed face, catwalk, runway, fashion show, god rays, sunbeams, sunbeam, corrosion, rust”.

  • N=6N=6, [character_2, background_3, lighting_4, material_2, expression_1, accessory_3]: “RAW photo, subject, . . . , HelenaXL, . . . , energy, high voltage, power pole, transformer station, tangled cables, fog, haze, foggy, mist, old wood, wooden planks, wooden floor, anger, screaming, angry, with sunglasses on top of head”.

LLM pool (LLaMA-2-7B, 48 task LoRAs, LoRA-Retriever benchmark)

48 task-specialised LoRAs from the LoRA-Retriever benchmark [35], all r=8r=8. We adopt the authors’ 10-domain grouping verbatim.

Domain (count)Tasks
closed-book QA (4)arc_challenge, arc_easy, natural_questions, trivia_qa
commonsense (4)copa, hellaswag, piqa, story_cloze
coreference (2)definite_pronoun_resolution, wsc
NLI (10)anli_r1, anli_r2, anli_r3, cb, mnli_matched, mnli_mismatched, qnli, rte, snli, wnli
paraphrase (4)glue_mrpc, glue_qqp, paws_wiki, stsb
RC w/ commonsense (2)cosmos_qa, record
reading-comprehension (6)bool_q, drop, multirc, openbookqa, squad_v1, squad_v2
sentiment (4)imdb_reviews, sentiment140, sst2, yelp_polarity_reviews
structured-to-text (4)common_gen, dart, e2e_nlg, web_nlg_en
translation (8)para_crawl_enes, wmt14_enfr, wmt16_translate_csen, wmt16_translate_deen, wmt16_translate_fien, wmt16_translate_roen, wmt16_translate_ruen, wmt16_translate_tren

Table 26. LoRA-Retriever 48 task LoRAs by domain.

LLM evaluation uses task-native prompts directly from the LoRA-Retriever benchmark (no LoRA trigger tokens; each LoRA is task-specialised, not concept-keyed). Multi-task composition replaces “compose multiple LoRAs for one image” with “compose multiple LoRAs for one prompt”: at inference, we activate either the full 48-pool substrate (loraspace-fullpool) or a top-KK retrieved subset (loraspace-instructor / loraspace-hybrid).

Combo selection protocol

For each pool we use stratified random sampling over (KN)\binom{K}{N} combos with category-balance constraints (each combo activates at most one LoRA per category where pool design allows). Pool A and Pool B use 240 combos per seed across N∈{2,3,4,5}N \in\{2, 3, 4, 5\}. Pool C uses 200 combos per method (40 per NN across N∈{2,…,6}N \in\{2, \ldots, 6\}). Identical combo lists are shared across all methods within a pool to enable per-combo paired comparison.

References

  1. [1]Eric L. Buehler and Markus J. Buehler. X-LoRA: Mixture of low-rank adapter experts, a flexible framework for large language models with applications in protein mechanics and molecular design. APL Machine Learning, 2(2):026119, 2024.arxiv.org/abs/2402.07148
  2. [2]Lequn Chen, Zihao Ye, Yongji Wu, Danyang Zhuo, Luis Ceze, and Arvind Krishnamurthy. Punica: Multi-tenant LoRA serving. In Proceedings of Machine Learning and Systems (MLSys), 2024.arxiv.org/abs/2310.18547
  3. [3]CivitAI. CivitAI: The home of open-source generative AI. https://civitai.com, 2023.
  4. [4]Carl Eckart and Gale Young. The approximation of one matrix by another of lower rank. Psychometrika, 1(3):211–218, 1936.DOI
  5. [5]William Fleshman and Benjamin Van Durme. SpectR: Dynamically composing LM experts with spectral routing. In Conference on Language Modeling (COLM), 2025.arxiv.org/abs/2504.03454
  6. [6]Rickard Brüel Gabrielsson, Jiacheng Zhu, Onkar Bhardwaj, Leshem Choshen, Kristjan Greenewald, Mikhail Yurochkin, and Justin Solomon. Compress then serve: Serving thousands of LoRA adapters with little overhead. In Proceedings of the 42nd International Conference on Machine Learning (ICML), 2025.arxiv.org/abs/2407.00066
  7. [7]Nikolaus Hansen and Andreas Ostermeier. Completely derandomized self-adaptation in evolution strategies. Evolutionary Computation, 9(2):159–195, 2001.pubmed.ncbi.nlm.nih.gov/11382355
  8. [8]Edward J. Hu, Yelong Shen, Phillip Wallis, Zeyuan Allen-Zhu, Yuanzhi Li, Shean Wang, Lu Wang, and Weizhu Chen. LoRA: Low-rank adaptation of large language models. In International Conference on Learning Representations (ICLR), 2022.arxiv.org/abs/2106.09685
  9. [9]Chengsong Huang, Qian Liu, Bill Yuchen Lin, Tianyu Pang, Chao Du, and Min Lin. LoRAHub: Efficient cross-task generalization via dynamic LoRA composition. In Conference on Language Modeling (COLM), 2024.arxiv.org/abs/2307.13269
  10. [10]Hugging Face. Hugging Face: The AI community building the future. https://huggingface.co, 2016.
  11. [11]Gabriel Ilharco, Marco Tulio Ribeiro, Mitchell Wortsman, Ludwig Schmidt, Hannaneh Hajishirzi, and Ali Farhadi. Editing models with task arithmetic. In International Conference on Learning Representations (ICLR), 2023.arxiv.org/abs/2212.04089
  12. [12]Yaoli Liu, Yao-Xiang Ding, and Kun Zhou. FreeFuse: Multi-subject LoRA fusion via adaptive token-level routing at test time. arXiv preprint arXiv:2510.23515, 2025.arxiv.org/abs/2510.23515
  13. [13]Cheng Lu, Yuhao Zhou, Fan Bao, Jianfei Chen, Chongxuan Li, and Jun Zhu. DPM-Solver++: Fast solver for guided sampling of diffusion probabilistic models. Machine Intelligence Research, 22:730–751, 2025. doi: 10.1007/s11633-025-1562-4.DOI
  14. [14]Mohammed Muqeeth, Haokun Liu, Yufan Liu, and Colin Raffel. Learning to route among specialized experts for zero-shot generalization. In International Conference on Machine Learning (ICML), 2024.arxiv.org/abs/2402.05859
  15. [15]OpenAI. GPT-4o system card. https://openai.com/index/gpt-4o-system-card/, 2024.
  16. [16]Oleksiy Ostapenko, Zhan Su, Edoardo Ponti, Laurent Charlin, Nicolas Le Roux, Lucas Caccia, and Alessandro Sordoni. Towards modular LLMs by building and reusing a library of LoRAs. In International Conference on Machine Learning (ICML), 2024.arxiv.org/abs/2405.11157
  17. [17]Ziheng Ouyang, Zhen Li, and Qibin Hou. K-LoRA: Unlocking training-free fusion of any subject and style LoRAs. In IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2025.arxiv.org/abs/2502.18461
  18. [18]Aniello Panariello, Daniel Marczak, Simone Magistri, Angelo Porrello, Bartłomiej Twardowski, Andrew D. Bagdanov, Simone Calderara, and Joost van de Weijer. Accurate and efficient low-rank model merging in core space. In Advances in Neural Information Processing Systems (NeurIPS), 2025.arxiv.org/abs/2509.17786
  19. [19]Adam Paszke, Sam Gross, Francisco Massa, Adam Lerer, James Bradbury, Gregory Chanan, Trevor Killeen, et al. PyTorch: An imperative style, high-performance deep learning library. In Advances in Neural Information Processing Systems (NeurIPS), 2019.arxiv.org/abs/1912.01703
  20. [20]Dustin Podell, Zion English, Kyle Lacey, Andreas Blattmann, Tim Dockhorn, Jonas Müller, Joe Penna, and Robin Rombach. SDXL: Improving latent diffusion models for high-resolution image synthesis. In International Conference on Learning Representations (ICLR), 2024.arxiv.org/abs/2307.01952
  21. [21]Alec Radford, Jong Wook Kim, Chris Hallacy, Aditya Ramesh, Gabriel Goh, Sandhini Agarwal, Girish Sastry, et al. Learning transferable visual models from natural language supervision. In International Conference on Machine Learning (ICML), 2021.arxiv.org/abs/2103.00020
  22. [22]Robin Rombach, Andreas Blattmann, Dominik Lorenz, Patrick Esser, and Björn Ommer. High-resolution image synthesis with latent diffusion models. In IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2022.arxiv.org/abs/2112.10752
  23. [23]Aniket Roy, Maitreya Suin, Ketul Shah, and Rama Chellappa. MultLFG: Training-free multi-LoRA composition using frequency-domain guidance. arXiv preprint arXiv:2505.20525, 2025.arxiv.org/abs/2505.20525
  24. [24]Viraj Shah, Nataniel Ruiz, Forrester Cole, Erika Lu, Svetlana Lazebnik, Yuan­zhen Li, and Varun Jampani. ZipLoRA: Any subject in any style by effectively merging LoRAs. In European Conference on Computer Vision (ECCV), 2024.arxiv.org/abs/2311.13600
  25. [25]Ying Sheng, Shiyi Cao, Dacheng Li, Coleman Hooper, Nicholas Lee, Shuo Yang, Christopher Chou, Banghua Zhu, Lianmin Zheng, Kurt Keutzer, Joseph E. Gonzalez, and Ion Stoica. SLoRA: Scalable serving of thousands of LoRA adapters. In Proceedings of Machine Learning and Systems (MLSys), 2024.
  26. [26]George Stoica, Pratik Ramesh, Boglarka Ecsedi, Judy Hoffman, and Leshem Choshen. Model merging with SVD to tie the knOTS. In International Conference on Learning Representations (ICLR), 2025.arxiv.org/abs/2410.19735
  27. [27]Hongjin Su, Weijia Shi, Jungo Kasai, Yizhong Wang, Yushi Hu, Mari Ostendorf, Wen-tau Yih, Noah A. Smith, Luke Zettlemoyer, and Tao Yu. One embedder, any task: Instruction-finetuned text embeddings. In Findings of the Association for Computational Linguistics: ACL 2023, pages 1102–1121, 2023. doi: 10.18653/v1/2023.findings-acl.71.DOI
  28. [28]Hugo Touvron, Louis Martin, Kevin Stone, Peter Albert, Amjad Almahairi, Yasmine Babaei, Nikolay Bashlykov, et al. Llama 2: Open foundation and fine-tuned chat models. arXiv preprint arXiv:2307.09288, 2023.arxiv.org/abs/2307.09288
  29. [29]Patrick von Platen, Suraj Patil, Anton Lozhkov, Pedro Cuenca, Nathan Lambert, Kashif Rasul, Mishig Davaadorj, Dhruv Nair, Sayak Paul, William Berman, Yiyi Xu, Steven Liu, and Thomas Wolf. Diffusers: State-of-the-art diffusion models. https://github.com/huggingface/diffusers, 2022.
  30. [30]Xun Wu, Shaohan Huang, and Furu Wei. Mixture of LoRA experts. In International Conference on Learning Representations (ICLR), 2024.arxiv.org/abs/2404.13628
  31. [31]Jiazheng Xu, Xiao Liu, Yuchen Wu, Yuxuan Tong, Qinkai Li, Ming Ding, Jie Tang, and Yuxiao Dong. ImageReward: Learning and evaluating human preferences for text-to-image generation. In Advances in Neural Information Processing Systems (NeurIPS), 2023.arxiv.org/abs/2304.05977
  32. [32]Prateek Yadav, Derek Tam, Leshem Choshen, Colin Raffel, and Mohit Bansal. TIES-Merging: Resolving interference when merging models. In Advances in Neural Information Processing Systems (NeurIPS), 2023.arxiv.org/abs/2306.01708
  33. [33]Le Yu, Bowen Yu, Haiyang Yu, Fei Huang, and Yongbin Li. Language models are super Mario: Absorbing abilities from homologous models as a free lunch. In International Conference on Machine Learning (ICML), 2024.arxiv.org/abs/2311.03099
  34. [34]Andi Zhang, Xuan Ding, Haofan Wang, Steven McDonagh, and Samuel Kaski. Rethinking inter-LoRA orthogonality in adapter merging: Insights from orthogonal Monte Carlo dropout. arXiv preprint arXiv:2510.03262, 2025.arxiv.org/abs/2510.03262
  35. [35]Ziyu Zhao, Leilei Gan, Guoyin Wang, Wangchunshu Zhou, Hongxia Yang, Kun Kuang, and Fei Wu. LoraRetriever: Input-aware LoRA retrieval and composition for mixed tasks in the wild. In Findings of the Association for Computational Linguistics: ACL 2024, pages 4447–4462, 2024. doi: 10.18653/v1/2024.findings-acl.263.
  36. [36]Peng Zheng, Ye Wang, Rui Ma, and Zuxuan Wu. FreeLoRA: Enabling training-free LoRA fusion for autoregressive multi-subject personalization. arXiv preprint arXiv:2507.01792, 2025.arxiv.org/abs/2507.01792

Paper details

vlnc:W_n7xvfsx5
v1 · latestHistory (1)

published · Fresh — added to the Hub within the last 30 days

added ·

Usage

views · 0

downloads · 0

A view counts once per browser per day, a download each time the PDF is requested.

CC BY 4.0

Original source

  • Computer Science

Not recorded for this paper · View statement →

Looking for related papers…
Contents