PorTAL: Portable Task Adapters per LLM

@RampLabs
INGLESE1 giorno fa · 01 lug 2026
335K
506
45
17
867

TL;DR

PorTAL è un'architettura hypernetwork agnostica rispetto al modello base che consente il trasferimento degli adattamenti alle attività degli LLM tra modelli differenti, riducendo significativamente i costi e i dati necessari per il fine-tuning.

Ricercatore: Ben Geist

Abstract

Il fine-tuning a efficienza di parametri (es. LoRA) adatta un LLM congelato a un compito, ma l'adattatore risultante è vincolato a un singolo modello base. Quando viene rilasciato un nuovo modello, l'adattamento deve essere reimparato da zero. Studiamo l'adattamento portabile del task: imparare un adattamento del task una volta, in una forma agnostica rispetto al modello base, e trasferirlo a nuovi modelli congelati riadattando solo un piccolo componente per modello. Nello specifico, impariamo un task latent agnostico rispetto al modello base z_t e un decoder della hypernetwork D_b che genera adattatori LoRA per layer per un modello base congelato. Il decoder è composto da un nucleo condiviso agnostico rispetto al modello base e da un sottile convertitore per modello base. Per eseguire il porting su un nuovo modello base, congeliamo z_t e il nucleo condiviso e riadattiamo solo il convertitore su una piccola quantità di dati.

Questa architettura, che chiamiamo PorTAL, recupera il miglioramento di accuratezza del LoRA per task sia all'interno di una famiglia di modelli che, in modo più sorprendente, attraverso famiglie di modelli. Lo illustriamo congelando un task latent e un decoder del nucleo condiviso appresi su Qwen3-1.7B e 4B, quindi riadattando solo un sottile convertitore per modello base e recuperando ~98% del guadagno di accuratezza di LoRA su un Qwen3-8B non visto, e ~94% su Gemma-3-4B. Supera di gran lunga gli attuali metodi di adattamento portabile del task: la baseline Cross-LoRA recupera solo ~14% del guadagno sul Qwen3-8B non visto, rispetto al nostro 98%. Inoltre, il riadattamento è efficiente in termini di dati: PorTAL raggiunge il plateau di accuratezza di LoRA da zero con circa la metà dei dati di calibrazione e, a parità di accuratezza, è costantemente meglio calibrato (log-loss su dati esclusi più basso) rispetto a un LoRA da zero per ogni dimensione di dati. Ciò riduce considerevolmente i FLOP necessari per il fine-tuning dei successivi modelli base.

1. Introduzione e Motivazione

Nuovi modelli linguistici arrivano a un ritmo sempre più accelerato: il numero di modelli fondazionali notevoli rilasciati all'anno è passato da 2 nel 2020 a 9 nel 2021, 32 nel 2022 e 149 nel 2023 [1], e nel 2024-2025 la cadenza dei rilasci SOTA si è talmente compressa che il modello SOTA ha mantenuto la vetta della classifica pubblica per una media di ~35 giorni, in calo rispetto a quasi un anno per GPT-4 [2].

Adattare un modello a un compito, tuttavia, è un costo per modello che non si ammortizza su questi rilasci. Un fine-tuning (completo o LoRA) è vincolato allo spazio dei pesi di un modello base; quando arriva il modello successivo, l'adattamento deve essere rifatto sul nuovo modello base. I metodi a efficienza di parametri hanno abbassato il costo unitario (un LoRA su un modello da 7B costa circa $1-3k contro ~$12k per un fine-tuning completo [3]) ma non la sua struttura: si paga ancora per la cura dei dati + un ciclo di training + valutazione una volta per (compito, modello), e il costo del fine-tuning completo scala comunque con la dimensione crescente del modello [4].

Il risultato è che il costo di mantenere un portfolio di capacità fine-tunate sul modello di frontiera corrente scala approssimativamente in modo inverso al tempo tra i rilasci del modello. Il ri-tuning per modello diventa il costo dominante e sempre crescente per mantenere un sistema specializzato, mentre si acquisisce anche l'intelligenza grezza di ogni modello base più recente e più intelligente.

La nostra risposta è pagare per l'adattamento del compito una volta e ammortizzarlo su ogni futuro modello base. Ispirati dalla Platonic Representation Hypothesis [5], apprendiamo l'adattamento in una forma agnostica rispetto al modello base e lo trasportiamo a ogni nuovo modello riadattando solo una mappa leggera per modello base su una manciata di esempi.

2. Lavori correlati

Il nostro contributo combina idee da tre filoni di ricerca, che esaminiamo qui.

Generazione LoRA su singolo modello base tramite hypernetwork

Text-to-LoRA [6], in-context SHINE [7] e Profile-to-PEFT [8] ammortizzano l'adattamento per compito o per utente in un unico forward pass, ma mirano a un modello base fisso e generalizzano su compiti o utenti, non su modelli (Text-to-LoRA lascia esplicitamente aperto il trasferimento cross-modello).

Generazione LoRA cross-architettura

LoRAGen [9] utilizza un embedding strutturale (latent + moduli/layer embedding) per emettere LoRA per modelli base diversi, ma viene addestrato ricostruendo LoRA esistenti; condividiamo la forma del decoder ma addestriamo end-to-end sulla perdita del compito e, crucialmente, congeliamo un task latent condiviso e un nucleo condiviso, riadattando solo un sottile convertitore per modello base per raggiungere un modello base non visto.

Trasferimento LoRA cross-modello

Cross-LoRA [10], LoRA-X [11] e CAST [12] mirano allo stesso nostro obiettivo, ma traducendo un adattatore già addestrato tramite allineamento del sottospazio o della varietà di attivazione. Noi invece impariamo un latent agnostico rispetto al modello base e ricalibriamo il convertitore per modello base. Troviamo che questo piccolo passo di calibrazione sia importante. Cross-LoRA, che trasferisce un adattatore esistente senza riadattamento, recupera solo ~14% del miglioramento di LoRA sul 8B non visto, contro il nostro ~98% (§6.2).

In breve, la generazione LoRA su singolo modello base, la generazione cross-architettura e il trasferimento cross-modello hanno tutti un precedente nella letteratura. Il nostro contributo li combina in un'unica ricetta che apprende un task latent e un nucleo condivisi, li congela e riadatta solo un sottile convertitore per modello base per raggiungere un nuovo modello base. Inquadriamo questo come una risposta al costo di manutenzione per una cadenza di rilascio di modelli accelerata e mostriamo che domina empiricamente la linea di trasferimento cross-modello.

3. Background: LoRA e LoRA hypernetwork

LoRA [13]. Per una matrice di pesi congelata, LoRA apprende un aggiornamento a basso rango costruito da due piccole matrici A e B di rango r ; solo queste due matrici si addestrano:

ΔW=α/r B A, A ∈ R^(r×d_in), B ∈ R^(d_out×r), r ≪ d, y = Wx + α/r B(Ax)

Hypernetwork LoRA. Invece di addestrare A e B direttamente, una hypernetwork le genera da un input di condizionamento. Text-to-LoRA [6] addestra una hypernetwork per emettere un LoRA completo per un singolo modello base da un embedding di descrizione del compito, end-to-end attraverso il modello base congelato. Questo addestra una hypernetwork invece di un LoRA separato per ogni compito, ma rimane su un singolo modello base, generalizzando su compiti, non su modelli. Il nostro design prende in prestito l'idea della generazione LoRA tramite hypernetwork ma mira a un obiettivo diverso, il trasferimento cross-modello base di una rappresentazione del compito condivisa e appresa.

4. Metodo

Design. Il nostro obiettivo è un adattamento del compito che viene appreso una volta e portato a basso costo su nuovi modelli congelati. Dividiamo il generatore di adattatori in due parti: un grande decoder del nucleo agnostico rispetto al modello base, condiviso tra tutti i modelli, che emette fattori a basso rango a una larghezza del nucleo fissa d_c; e un sottile convertitore per modello base che condiziona gli input del nucleo condiviso e proietta i suoi output alle dimensioni di un modello specifico. Addestriamo su uno o più modelli base congelati, quindi eseguiamo il porting su un modello non visto riadattando solo questo piccolo convertitore per modello base.

Ciò ammortizza l'adattamento appreso in una rappresentazione condivisa e rende ogni nuovo modello base economico da supportare. Per costruzione, il latent condiviso e il nucleo contengono la maggior parte dei parametri e assorbono sia la rappresentazione del compito che la maggior parte della sua mappatura nello spazio dell'adattatore; solo un piccolo convertitore rimane specifico del modello. Definiamo i componenti di seguito.

Configurazione. Sia un modello base congelato b con layer transformer = 1, …, L_b con matrici di peso per layer W_ℓ, m ai moduli adattati m ∈ {q_proj, v_proj} (estendiamo m a tutte le proiezioni di attenzione e MLP nella variante a modulo completo). Sia θ_b che denota i parametri del modello base congelato.

Task latent. Ogni compito t è mappato a un task latent appreso z_t, un vettore agnostico rispetto al modello base di dimensione d_z = 256.

Decoder. La nostra hypernetwork D_b è composta da un decoder del nucleo agnostico rispetto al modello base e un sottile convertitore per modello base; mappa il task latent z_t e un embedding per layer e_ℓ ai fattori LoRA di ogni modulo:

(A_ℓ,m, B_ℓ,m) = D_b(z_t, e_ℓ, m), A_ℓ,m ∈ R^(r×d_in_ℓ), B_ℓ,m ∈ R^(d_out_ℓ,m×r)

Internamente, condizioniamo un singolo tronco condiviso con FiLM. Il tronco prende l'embedding per layer e_ℓ come input, mentre il task latent z_t scala e sposta le sue caratteristiche nascoste. Questo produce uno stato nascosto per layer:

h_ℓ = φ( W_2 [ (1 + γ(z_t)) ⊙ ψ(W_1[z_t; e_ℓ]) + β(z_t) ] )

Teste per modulo mappano quindi questo stato nascosto a fattori di larghezza del nucleo:

Â_ℓ,m = Headᵃ_m(h_ℓ) ∈ R^(r×d_c), B̂_ℓ,m = Headᴮ_m(h_ℓ) ∈ R^(d_c×r)

Infine, un allineatore li proietta alle dimensioni del modello base tramite mappe lineari per modulo:

A_ℓ,m = Â_ℓ,m P_in_b, B_ℓ,m = P_out_b B̂_ℓ,m

L'adattatore generato viene iniettato come un delta LoRA standard:

y_ℓ,m = W_ℓ,m x + α/r B_ℓ,m (A_ℓ,m x)

Training. Addestriamo {z_t} e D_b mantenendo i parametri del modello base θ_b congelati. Minimizziamo la NLL della continuazione gold (perdita solo sui token di risposta):

Il training multi-task utilizza passi per compito bilanciati con normalizzazione della perdita EMA per evitare che i compiti difficili collassino al caso.

Ramp Labs - inline image

GIF

Training multi-modello base. Quando addestriamo su più modelli base contemporaneamente, un modello base piccolo può dominare il gradiente del latent condiviso. Applichiamo il bilanciamento della norma del gradiente su z_t, ridimensionando il gradiente accumulato di ogni modello base a norma uguale prima del passo dell'ottimizzatore, in modo che ogni modello base contribuisca equamente alla rappresentazione condivisa.

Porting. Dato un modello base non visto b', congeliamo il decoder del nucleo e {z_t} e riadattiamo solo il convertitore per modello base {e_ℓ , P_in, P_out } su un piccolo set di calibrazione:

Ramp Labs - inline image

GIF

5. Configurazione sperimentale

Compiti (14, scelta multipla standard). TruthfulQA, RTE, CB, COPA, WiC, WSC (SuperGLUE + TruthfulQA; margine di miglioramento maggiore) e BoolQ, ARC-Easy, ARC-Challenge, HellaSwag, OpenBookQA, WinoGrande, CommonsenseQA, SciQ (valutazione più ampia/più grande).

Metrica. Log-verosimiglianza normalizzata per lunghezza sulle scelte (acc_norm); riportiamo anche il log-loss su dati esclusi (NLL media per token della continuazione gold). I §6.1–6.3 utilizzano la selezione best-epoch su dati esclusi (valutazione per epoca) mentre il §6.4 utilizza la valutazione final-epoch. Tutte sono medie su 3 seed ± deviazione standard.

Dati. Fino a 2.000 esempi/compito — un limite massimo applicato sia al training di origine che al riadattamento del convertitore per modello base. I §6.1–6.3 si addestrano sui pieni 2.000/compito; lo studio sull'efficienza dei dati (§6.4) mostra che ne bastano molti meno. I set di valutazione vanno da 56 (CB) a 1.000 (BoolQ/WinoGrande/CSQA/SciQ); ~7.200 esempi di valutazione in totale sulla suite di 14 compiti.

Modelli. Modelli base visti: Qwen3-1.7B, Qwen3-4B. Modelli base non visti: Qwen3-8B e Gemma-3-4B. Baseline LoRA per compito: rango 16 su q/k/v/o + MLP. LoRA Hypernet/PorTAL (§6.1–6.3): rango 8 su q/v.

Esperimenti riportati. (i) LoRA Hypernet vs LoRA per compito; (ii) portabilità a modelli base non visti all'interno e tra famiglie; (iii) efficienza dei dati del riadattamento del convertitore.

6. Risultati

6.1 Modello base sorgente

Metodo

Acc_norm media (14 compiti)

Base

0.627

LoRA per compito

0.765 ± 0.003

LoRA Hypernet

(training congiunto z_4B, D_4B)

0.757 ± 0.003

Confermiamo prima che un task latent z appreso e un decoder, addestrati congiuntamente sul modello base sorgente, possono eguagliare i LoRA per compito addestrati indipendentemente sullo stesso modello base. Il LoRA Hypernet generato recupera ~94% del miglioramento medio del LoRA per compito e lo eguaglia o supera su 6/14 compiti (RTE, CB, COPA, WiC, ARC-Easy, CommonsenseQA).

6.2 Portabilità all'interno della famiglia

Metodo (su 8B non visto)

Acc_norm media

Miglioramento recuperato

Base-8B

0.667

LoRA 8B per compito

0.795 ± 0.004

100%

Trasferimento Cross-LoRA

0.685 ± 0.001

~14%

LoRA Hypernet (training congiunto z_8B, D_8B)

0.785 ± 0.002

~92%

PorTAL

(z_(1.7B+4B) congelato, riadattamento D_8B)

0.792 ± 0.004

~98%

Testiamo quindi direttamente la portabilità. Congeliamo il latent e il decoder del nucleo, appresi congiuntamente su Qwen3-1.7B e 4B, e riadattiamo solo il sottile convertitore su un modello base non visto. Su un Qwen3-8B non visto, questo recupera ~98% del miglioramento del LoRA per compito, molto al di sopra del ~14% recuperato da Cross-LoRA, il metodo di trasferimento cross-modello comparabile. È interessante notare che l'addestramento congiunto del latent e del decoder su Qwen3-8B raggiunge 0.785 (~92%), statisticamente alla pari con il latent portato, ma leggermente inferiore. Attribuiamo le prestazioni leggermente superiori di PorTAL a una lieve regolarizzazione attraverso i molteplici modelli base visti.

6.3 Portabilità tra famiglie

Destinazione non vista

Base

LoRA per compito

PorTAL

Miglioramento recuperato

Gemma-3-4B

0.595

0.778 ± 0.004

0.767 ± 0.004

~94%

Testiamo quindi il trasferimento tra famiglie. Congeliamo il latent e il decoder del nucleo addestrati su Qwen3-1.7B e 4B e riadattiamo il convertitore su Gemma-3-4B. Questo recupera ~94% del miglioramento del LoRA da zero. Il trasferimento tra famiglie è quasi senza perdite.

6.4 Efficienza dei dati

PorTAL ammortizza l'adattamento del compito: un latent e un nucleo appresi una volta sui modelli base visti dovrebbero rendere economico l'adattamento di ogni modello successivo, quindi il porting su un nuovo modello base necessita di molti meno dati rispetto all'addestramento di un LoRA da zero. Lo mostriamo sul Qwen3-8B non visto, spazzando la dimensione del set per compito per PorTAL q/v r8, PorTAL full r8 e LoRA full r16 per compito. Per PorTAL questo set è il set di calibrazione su cui riadatta il convertitore; per il LoRA da zero è il set di training.

Medie grezze sui 14 compiti, acc base-8B 0.667 / log-loss 3.819:

Ramp Labs - inline image
Ramp Labs - inline image

In entrambi i grafici, le curve sono una media mobile su una finestra di 3, e le stelle segnano dove ogni metodo raggiunge per la prima volta il picco del LoRA per compito.

PorTAL è sostanzialmente più efficiente in termini di dati. Eguaglia la migliore accuratezza del LoRA per compito utilizzando circa la metà dei dati e lo supera costantemente nell'intervallo di dati elevati. Poiché il modello base congelato domina il costo per passo, raggiungere il plateau con la metà dei dati dimezza approssimativamente i FLOP di adattamento. PorTAL è anche meglio calibrato, con un log-loss su dati esclusi più basso rispetto al LoRA da zero per ogni dimensione di dati.

Nota: Confrontiamo con LoRA full r16 in tutto lo studio perché abbiamo scoperto che è la configurazione LoRA per compito più forte nel nostro spazzamento.

7. Lavori futuri

Competizione del gradiente sui compiti difficili. Con la selezione best-epoch, la maggior parte dei compiti raggiunge il miglioramento di LoRA, ma alcuni compiti di senso comune e conoscenza più difficili sono sotto-addestrati, i peggiori sono OpenBookQA (~42% del miglioramento), WinoGrande (~57%) e HellaSwag (~61%). Questi sono i compiti più distinti e, poiché il decoder di rango 8 è condiviso sull'intera suite, i loro gradienti sono superati dagli altri e rimangono sotto-addestrati. Ipotizziamo che la causa principale sia l'ottimizzazione, non l'espressività limitata dell'adattatore, poiché né un adattatore di rango 16 più grande né un task latent più grande hanno aiutato. Nei lavori futuri, speriamo di perseguire una migliore ottimizzazione multi-task, come capacità per compito o curriculum, o un piccolo residuo per compito sopra il decoder condiviso.

Variante con descrizione testuale ammortizzata. Un'estensione naturale sostituisce il task latent libero per compito con un encoder su una descrizione del compito, z_t = E(emb(desc_t)), in modo che un compito completamente nuovo possa essere adattato zero-shot dalla sua sola descrizione (alla maniera di Text-to-LoRA), senza training per compito. Lasciamo uno studio completo a lavori futuri.

Altre direzioni. Compiti più grandi e di istruzione/generazione oltre alla scelta multipla; e teoria su quando un latent congelato è sufficiente rispetto a quando è richiesto un adattamento specifico del modello base.

Vuoi rimanere aggiornato sui nostri prossimi esperimenti di AI? Iscriviti qui e seguici su @RampLabs. Stiamo anche assumendo per vari ruoli in Ramp.

Riferimenti

  1. Stanford HAI — AI Index Report 2024 (conteggi rilascio modelli fondazionali). https://www.deeplearning.ai/the-batch/stanford-ai-index-report-shows-the-state-of-ai-in-2024
  2. Chiang et al. — Chatbot Arena: An Open Platform for Evaluating LLMs by Human Preference (ICML 2024). https://arxiv.org/abs/2403.04132. Statistica del turnover (~35 giorni al #1) dal dataset della Arena Leaderboard, Arena (2025). https://arena.ai/blog/arena-leaderboard-dataset/
  3. Stanford HAI — AI Index Report 2025. https://hai.stanford.edu/ai-index/2025-ai-index-report
  4. Alloc Labs — The Hidden Cost of LLM Fine-Tuning. https://www.alloclabs.com/blog/hidden-cost-llm-finetuning
  5. Huh et al. — The Platonic Representation Hypothesis (2024). https://arxiv.org/abs/2405.07987
  6. Charakorn et al. — Text-to-LoRA: Instant Transformer Adaptation (ICML 2025). https://openreview.net/forum?id=zWskCdu3QA
  7. Liu et al. — SHINE: A Scalable In-Context Hypernetwork for Mapping Context to LoRA (2026). https://arxiv.org/abs/2602.06358
  8. Tan et al. — Instant Personalized LLM Adaptation via Hypernetwork (Profile-to-PEFT) (2025). https://arxiv.org/abs/2510.16282
  9. Huang et al. — LoRAGen: Structure-Aware LoRA Weight Generation. https://openreview.net/pdf?id=mrafO7aTYj
  10. Xia et al. — Cross-LoRA: A Data-Free LoRA Transfer Framework across Heterogeneous LLMs (2025). https://arxiv.org/abs/2508.05232
  11. Farhadzadeh et al. — LoRA-X: Bridging Foundation Models with Training-Free Cross-Model Adaptation (2025). https://arxiv.org/abs/2501.16559
  12. Al Kari — CAST: Activation Manifold Projection (Cartridge Activation Space Transfer) (2025). https://arxiv.org/abs/2510.17902
  13. Hu et al. — LoRA: Low-Rank Adaptation of Large Language Models (2021). https://arxiv.org/abs/2106.09685

Appendice

A. Training e iperparametri

Impostazione

Valore

Ottimizzatore

AdamW

LR (decoder / latent)

1e-3 / 2e-3

Epoche / batch size

5 / 4

Bilanciamento multi-task

passi per compito bilanciati + normalizzazione della perdita EMA (0.9 / 0.1) con un floor di 1e-3 per stabilità

Baseline LoRA per compito

peft, rango 16, alpha 32, lr 1e-4, 5 epoche (selezione best-epoch), moduli q/k/v/o + MLP

Inizializzazione

Teste B e FiLM γ, β inizializzati a zero, quindi l'adattatore generato è l'identità (ΔW = 0) all'inizio

Hardware

singolo NVIDIA B200 (per esecuzione)

B. Metriche

Riportiamo il miglioramento recuperato mentre i precedenti articoli sul trasferimento cross-modello (Cross-LoRA, CAST) riportano invece la ritenzione. Per un metodo m, modello base non adattato b e LoRA da zero per compito L:

miglioramento recuperato = (acc_m - acc_b) / (acc_L - acc_b), ritenzione = (acc_m / acc_L).

La ritenzione è vicina al 100% ogni volta che c'è poco margine di miglioramento, il regime in cui operano quegli articoli (il loro LoRA addestrato aggiunge solo ~1% rispetto al modello base), quindi non è discriminante. Valutiamo in un contesto con margine di miglioramento maggiore e quindi utilizziamo il miglioramento recuperato. Per comparabilità, in termini di ritenzione, la reimplementazione di Cross-LoRA ottiene ~86% (all'interno della banda 85-95% riportata da CAST) mentre recupera solo ~14% del miglioramento, mentre il nostro porting ottiene ~99% di ritenzione / ~98% di miglioramento recuperato.

Cita questo lavoro

APA

Geist, B. (2026). PorTAL: Portable Task Adapters for LLMs. Ramp Labs. https://labs.ramp.com/research

BibTeX

text
1@techreport{portal2026ramplabs,
2 author = {Geist, Ben},
3 title = {PorTAL: Portable Task Adapters for LLMs},
4 year = {2026},
5 month = {June},
6 institution = {Ramp Labs},
7 url = {https://labs.ramp.com/research}
8}

Turn one viral article into a full content workflow

Collect the source, decode the pattern, create assets, draft the story, and distribute from one AI workspace.

Explore YouMind

Altri pattern da decodificare

Articoli virali recenti

Esplora altri articoli virali