Angolo di Anderson

La Lotta per la Personalizzazione Zero-Shot nell’Intelligenza Artificiale Generativa

mm
Aggiungi Unite.AI alle tue fonti preferite su Google
Timothy Chalomet replaces Jack Nicholson in The Shining (1980), thanks to the new HyperLoRA system. Source: https://arxiv.org/pdf/2503.16944

Se desideri inserirti in uno strumento di generazione di immagini o video popolare – ma non sei già abbastanza famoso perchÃĐ il modello di base ti riconosca – dovrai addestrare un modello di adattamento di basso rango (LoRA) utilizzando una raccolta delle tue foto. Una volta creato, questo modello LoRA personalizzato consente al modello generativo di includere la tua identità nelle uscite future.

Questo ÃĻ comunemente chiamato personalizzazione nel settore di ricerca sulla sintesi di immagini e video. È emerso per la prima volta alcuni mesi dopo l’avvento di Stable Diffusion nell’estate del 2022, con il progetto DreamBooth di Google Research, che offriva modelli di personalizzazione ad alta capacità, in uno schema closed-source che ÃĻ stato successivamente adattato dagli appassionati e rilasciato alla comunità.

I modelli LoRA sono seguiti rapidamente e hanno offerto un addestramento piÃđ semplice e dimensioni dei file molto piÃđ leggere, con un costo minimo o nullo in termini di qualità, dominando rapidamente la scena della personalizzazione per Stable Diffusion e suoi successori, come ad esempio Flux, e ora nuovi modelli di video generativi come Hunyuan Video e Wan 2.1.

Ripeti e Ripeti

Il problema ÃĻ che, come abbiamo notato in precedenza, ogni volta che esce un nuovo modello, ÃĻ necessario addestrare una nuova generazione di LoRA, il che rappresenta una notevole frizione per i produttori di LoRA, che potrebbero addestrare una serie di modelli personalizzati solo per scoprire che un aggiornamento del modello o un modello piÃđ popolare significa che devono ricominciare da capo.

Pertanto, gli approcci di personalizzazione zero-shot sono diventati una forte corrente nella letteratura recente. In questo scenario, invece di dover curare un set di dati e addestrare un sottomodello, ÃĻ sufficiente fornire una o piÃđ foto del soggetto da iniettare nella generazione, e il sistema interpreta queste fonti di input in un output combinato.

In basso vediamo che, oltre al face-swapping, un sistema di questo tipo (qui utilizzando PuLID) puÃē anche incorporare valori ID nel trasferimento di stile:

Esempi di trasferimento di ID facciale utilizzando il sistema PuLID. Fonte: https://github.com/ToTheBeginning/PuLID?tab=readme-ov-file

Esempi di trasferimento di ID facciale utilizzando il sistema PuLID. Fonte: https://github.com/ToTheBeginning/PuLID?tab=readme-ov-file

Mentre sostituire un sistema laborioso e fragile come LoRA con un adattatore generico ÃĻ un’idea grande (e popolare), ÃĻ anche una sfida; l’attenzione estrema ai dettagli e la copertura ottenuta nel processo di addestramento LoRA ÃĻ molto difficile da imitare in un modello di adattatore di un colpo, che deve eguagliare il livello di dettaglio e flessibilità di LoRA senza il vantaggio precedente di analizzare un set completo di immagini di identità.

HyperLoRA

Con questo in mente, c’ÃĻ un interessante nuovo paper di ByteDance che propone un sistema che genera effettivamente codice LoRA on-the-fly, che ÃĻ attualmente unico tra le soluzioni zero-shot:

A sinistra, immagini di input. A destra, una gamma flessibile di output basata sulle immagini di input, producendo efficacemente deepfake di attori Anthony Hopkins e Anne Hathaway. Fonte: https://arxiv.org/pdf/2503.16944

A sinistra, immagini di input. A destra, una gamma flessibile di output basata sulle immagini di input, producendo efficacemente deepfake di attori Anthony Hopkins e Anne Hathaway. Fonte: https://arxiv.org/pdf/2503.16944

Il paper afferma:

‘Le tecniche basate sull’adattatore come IP-Adapter congelano i parametri del modello di base e utilizzano un’architettura plug-in per abilitare l’inferenza zero-shot, ma spesso esibiscono una mancanza di naturalità e autenticità, che non devono essere trascurate nei compiti di sintesi del ritratto.

‘[Noi] introduciamo un metodo di generazione adattivo efficiente in termini di parametri, chiamato HyperLoRA, che utilizza una rete plug-in adattiva per generare pesi LoRA, combinando le prestazioni superiori di LoRA con la capacità zero-shot dello schema di adattatore.

‘Attraverso la nostra struttura di rete e strategia di addestramento progettate con cura, raggiungiamo la generazione personalizzata di ritratti con alta fotorealtà, fedeltà e editabilità, supportando sia input di immagini singole che multiple.’

Il sistema piÃđ utile, una volta addestrato, puÃē essere utilizzato con l’esistente ControlNet, abilitando un alto livello di specificità nella generazione:

Timothy Chalomet fa un'apparizione inaspettatamente allegra in The Shining (1980), basata su tre foto di input in HyperLoRA.

Timothy Chalomet fa un’apparizione inaspettatamente allegra in ‘The Shining’ (1980), basata su tre foto di input in HyperLoRA, con una maschera ControlNet che definisce l’output (in concerto con un prompt di testo).

Per quanto riguarda la possibilità che il nuovo sistema sarà reso disponibile agli utenti finali, ByteDance ha un ragionevole record in questo senso, avendo rilasciato il potente framework di sincronizzazione labiale LatentSync e avendo appena rilasciato anche il framework InfiniteYou.

Negativamente, il paper non dà alcun indizio di un’intenzione di rilascio, e le risorse di addestramento necessarie per ricreare il lavoro sono cosÃŽ esorbitanti che sarebbe difficile per la comunità degli appassionati ricrearlo (come ha fatto con DreamBooth).

Il nuovo paper ÃĻ intitolato HyperLoRA: Generazione Adattiva Efficientemente Parametrizzata per la Sintesi del Ritratto, e proviene da sette ricercatori di ByteDance e del dipartimento di Creazione Intelligente di ByteDance.

Metodo

Il nuovo metodo utilizza il modello di diffusione latente Stable Diffusion (LDM) SDXL come modello di base, sebbene i principi sembrino applicabili ai modelli di diffusione in generale (tuttavia, le richieste di addestramento – vedi sotto – potrebbero rendere difficile applicarli ai modelli di video generativi).

Il processo di addestramento per HyperLoRA ÃĻ suddiviso in tre fasi, ciascuna progettata per isolare e preservare informazioni specifiche nei pesi appresi. L’obiettivo di questa procedura ÃĻ quello di prevenire che le caratteristiche relative all’identità vengano inquinate da elementi irrilevanti come abbigliamento o sfondo, allo stesso tempo raggiungendo una convergenza rapida e stabile.

Schema concettuale per HyperLoRA. Il modello ÃĻ suddiviso in 'Hyper ID-LoRA' per le caratteristiche di identità e 'Hyper Base-LoRA' per lo sfondo e l'abbigliamento. Questa separazione riduce la perdita di caratteristiche. Durante l'addestramento, la base SDXL e gli encoder sono congelati, e vengono aggiornati solo i moduli HyperLoRA. Al momento dell'inferenza, solo ID-LoRA ÃĻ richiesto per generare immagini personalizzate.

Schema concettuale per HyperLoRA. Il modello ÃĻ suddiviso in ‘Hyper ID-LoRA’ per le caratteristiche di identità e ‘Hyper Base-LoRA’ per lo sfondo e l’abbigliamento. Questa separazione riduce la perdita di caratteristiche. Durante l’addestramento, la base SDXL e gli encoder sono congelati, e vengono aggiornati solo i moduli HyperLoRA. Al momento dell’inferenza, solo ID-LoRA ÃĻ richiesto per generare immagini personalizzate.

La prima fase si concentra interamente sull’apprendimento di un ‘Base-LoRA’ (in basso a sinistra nell’immagine dello schema sopra), che cattura dettagli non relativi all’identità.

Per imporre questa separazione, i ricercatori hanno deliberatamente sfocato il viso nelle immagini di addestramento, permettendo al modello di concentrarsi su cose come lo sfondo, l’illuminazione e la posa – ma non sull’identità. Questa fase di “riscaldamento” agisce come un filtro, rimuovendo le distrazioni a basso livello prima che l’apprendimento dell’identità inizi.

Nella seconda fase, viene introdotto un ‘ID-LoRA’ (in alto a sinistra nell’immagine dello schema sopra). Qui, l’identità facciale viene codificata utilizzando due percorsi paralleli: un CLIP Vision Transformer (CLIP ViT) per le caratteristiche strutturali e l’encoder InsightFace AntelopeV2 per rappresentazioni di identità piÃđ astratte.

Approccio Transizionale

Le caratteristiche CLIP aiutano il modello a convergere rapidamente, ma rischiano di sovrapprendimento, mentre le embeddings Antelope sono piÃđ stabili ma piÃđ lenti nell’addestramento. Pertanto, il sistema inizia a fare affidamento piÃđ pesantemente su CLIP e gradualmente introduce Antelope, per evitare instabilità.

Nell’ultima fase, gli strati di attenzione guidati da CLIP vengono congelati interamente. Solo i moduli di attenzione collegati ad AntelopeV2 continuano l’addestramento, permettendo al modello di raffinare la conservazione dell’identità senza degradare la fedeltà o la generalità dei componenti appresi in precedenza.

Questo schema a fasi ÃĻ essenzialmente un tentativo di disentanglement. Le caratteristiche di identità e non di identità vengono separate e raffinate indipendentemente. È una risposta metodica ai modi di fallimento usuali della personalizzazione: deriva dell’identità, bassa editabilità e sovrapprendimento a caratteristiche incidentali.

Mentre Pesi

Dopo che CLIP ViT e AntelopeV2 hanno estratto caratteristiche strutturali e di identità specifiche da un ritratto dato, le caratteristiche ottenute vengono passate attraverso un perceiver resampler (derivato dal progetto IP-Adapter) – un modulo basato su transformer che mappa le caratteristiche in un insieme compatto di coefficienti.

Due resamplers separati vengono utilizzati: uno per generare pesi Base-LoRA (che codificano sfondo e elementi non relativi all’identità) e un altro per pesi ID-LoRA (che si concentrano sull’identità facciale).

Schema per la struttura della rete HyperLoRA.

Schema per la struttura della rete HyperLoRA.

I coefficienti di output vengono quindi combinati linearmente con un insieme di matrici di base LoRA apprese, producendo pesi LoRA completi senza la necessità di fine-tuning del modello di base.

Questo approccio consente al sistema di generare pesi personalizzati interamente on-the-fly, utilizzando solo encoder di immagini e proiezioni leggere, sfruttando ancora la capacità di LoRA di modificare il comportamento del modello di base direttamente.

Dati e Test

Per addestrare HyperLoRA, i ricercatori hanno utilizzato un subset di 4,4 milioni di immagini di visi dal set di dati LAION-2B (ora meglio noto come fonte di dati per i modelli Stable Diffusion originali del 2022).

InsightFace ÃĻ stato utilizzato per filtrare i visi non ritratti e le immagini multiple. Le immagini sono state quindi annotate con il sistema di captioning BLIP-2.

In termini di data augmentation, le immagini sono state ritagliate casualmente intorno al viso, ma sempre concentrate sulla regione del viso.

I ranghi LoRA hanno dovuto adattarsi alla memoria disponibile nell’ambiente di addestramento. Pertanto, il rango LoRA per ID-LoRA ÃĻ stato impostato su 8 e il rango per Base-LoRA su 4, mentre ÃĻ stata utilizzata l’accumulazione del gradiente a otto passi per simulare una dimensione del batch piÃđ grande di quanto fosse possibile sull’hardware.

I ricercatori hanno addestrato i moduli Base-LoRA, ID-LoRA (CLIP) e ID-LoRA (embedding di identità) sequenzialmente per 20.000, 15.000 e 55.000 iterazioni, rispettivamente. Durante l’addestramento di ID-LoRA, hanno campionato da tre scenari di condizionamento con probabilità di 0,9, 0,05 e 0,05.

Il sistema ÃĻ stato implementato utilizzando PyTorch e Diffusers, e l’intero processo di addestramento ÃĻ durato circa dieci giorni su 16 GPU NVIDIA A100*.

Test ComfyUI

Gli autori hanno costruito flussi di lavoro nella piattaforma di sintesi ComfyUI per confrontare HyperLoRA con tre metodi rivali: InstantID; il già menzionato IP-Adapter, nella forma del framework IP-Adapter-FaceID-Portrait; e il sopra citato PuLID. Sono stati utilizzati semi coerenti, prompt e metodi di campionamento in tutti i framework.

Gli autori notano che i metodi basati sull’adattatore (piuttosto che su LoRA) richiedono generalmente scale di guida della classificazione (CFG) piÃđ basse, mentre LoRA (incluso HyperLoRA) ÃĻ piÃđ permissivo in questo senso.

Pertanto, i ricercatori hanno utilizzato la variante di checkpoint fine-tuned open-source SDXL LEOSAM’s Hello World in tutti i test. Per i test quantitativi, ÃĻ stato utilizzato il set di dati di immagini Unsplash-50.

Metri

Per una benchmark di fedeltà, gli autori hanno misurato la somiglianza facciale utilizzando distanze cosine tra le embeddings di immagini CLIP (CLIP-I) e le embeddings di identità (ID Sim) estratte tramite CurricularFace, un modello non utilizzato durante l’addestramento.

Ogni metodo ha generato quattro ritratti ad alta risoluzione per identità nel set di test, con risultati poi mediati.

L’editabilità ÃĻ stata valutata sia confrontando i punteggi CLIP-I tra output con e senza i moduli di identità (per vedere quanto i vincoli di identità alteravano l’immagine); sia misurando l’allineamento dell’immagine del testo CLIP (CLIP-T) su dieci variazioni di prompt che coprono stili di capelli, accessori, abbigliamento e sfasati.

Gli autori hanno incluso il modello di base Arc2Face nei confronti – un modello di base addestrato su didascalie fisse e regioni facciali ritagliate.

Per HyperLoRA, due varianti sono state testate: una che utilizza solo il modulo ID-LoRA e un’altra che utilizza sia ID-LoRA che Base-LoRA, con quest’ultimo pesato a 0,4. Mentre Base-LoRA ha migliorato la fedeltà, ha leggermente limitato l’editabilità.

Risultati del confronto quantitativo iniziale.

Risultati del confronto quantitativo iniziale.

Tra i test quantitativi, gli autori commentano:

‘Base-LoRA aiuta a migliorare la fedeltà ma limita l’editabilità. Sebbene il nostro design decolli le caratteristiche dell’immagine in diversi LoRA, ÃĻ difficile evitare di farle trapelare a vicenda. Pertanto, possiamo regolare il peso di Base-LoRA per adattarlo a diversi scenari di applicazione.

‘Il nostro HyperLoRA (Full e ID) raggiunge la migliore e la seconda migliore fedeltà del viso, mentre InstantID mostra superiorità nella somiglianza dell’ID del viso ma fedeltà del viso piÃđ bassa.

‘Entrambe queste metriche dovrebbero essere considerate insieme per valutare la fedeltà, poichÃĐ la somiglianza dell’ID del viso ÃĻ piÃđ astratta e la fedeltà del viso riflette piÃđ dettagli.’

Nei test qualitativi, le varie compensazioni coinvolte nella proposta essenziale vengono in primo piano (si prega di notare che non abbiamo spazio per riprodurre tutte le immagini per i risultati qualitativi e si rimanda il lettore al paper di origine per ulteriori immagini ad alta risoluzione):

Confronto qualitativo. Dall'alto in basso, i prompt utilizzati sono stati: 'camicia bianca' e 'orecchie di lupo' (vedere il paper per esempi aggiuntivi).

Confronto qualitativo. Dall’alto in basso, i prompt utilizzati sono stati: ‘camicia bianca’ e ‘orecchie di lupo’ (vedere il paper per esempi aggiuntivi).

Qui gli autori commentano:

‘La pelle dei ritratti generati da IP-Adapter e InstantID ha una texture generata da AI apparente, che ÃĻ un po’ [sovrassaturata] e lontana dalla fotorealtà.

‘È un difetto comune dei metodi basati sull’adattatore. PuLID migliora questo problema indebolendo l’intrusione nel modello di base, superando IP-Adapter e InstantID, ma soffrendo ancora di sfocatura e mancanza di dettagli.

‘In contrasto, LoRA modifica direttamente i pesi del modello di base invece di introdurre moduli di attenzione extra, generando generalmente immagini altamente dettagliate e fotorealistici.’

Gli autori sostengono che poichÃĐ HyperLoRA modifica i pesi del modello di base direttamente invece di affidarsi a moduli di attenzione esterni, conserva la capacità non lineare dei metodi tradizionali basati su LoRA, offrendo potenzialmente un vantaggio in termini di fedeltà e permettendo una migliore cattura di dettagli sottili come il colore degli occhi.

Nei confronti qualitativi, il paper afferma che le disposizioni di HyperLoRA erano piÃđ coerenti e meglio allineate con i prompt, e simili a quelle prodotte da PuLID, mentre notevolmente piÃđ forti di InstantID o IP-Adapter (che occasionalmente non sono riusciti a seguire i prompt o hanno prodotto composizioni innaturali).

Ulteriori esempi di generazioni ControlNet con HyperLoRA.

Ulteriori esempi di generazioni ControlNet con HyperLoRA.

Conclusione

Il flusso costante di vari sistemi di personalizzazione one-shot negli ultimi 18 mesi ha ormai assunto una qualità di disperazione. Pochi dei contributi hanno fatto un progresso significativo sullo stato dell’arte; e quelli che hanno avanzato un po’ tendono ad avere esigenze di addestramento esorbitanti e/o esigenze di inferenza estremamente complesse o intensive in termini di risorse.

Mentre il regime di addestramento di HyperLoRA ÃĻ altrettanto impegnativo come molte altre recenti proposte, almeno si finisce con un modello che puÃē gestire la personalizzazione ad hoc fuori dalla scatola.

Dal materiale supplementare del paper, notiamo che la velocità di inferenza di HyperLoRA ÃĻ migliore di IP-Adapter, ma peggiore dei due altri metodi precedenti – e che questi numeri si basano su una GPU NVIDIA V100, che non ÃĻ hardware consumer tipico (sebbene le nuove GPU NVIDIA ‘domestiche’ possano eguagliare o superare la VRAM massima di 32 GB della V100).

Le velocità di inferenza dei metodi rivali, in millisecondi.

Le velocità di inferenza dei metodi rivali, in millisecondi.

È giusto dire che la personalizzazione zero-shot rimane un problema irrisolto da un punto di vista pratico, poichÃĐ le esigenze hardware significative di HyperLoRA sono argomentabilmente in contrasto con la sua capacità di produrre un modello di base a lungo termine veramente singolo.

 

* Rappresentando 640 GB o 1280 GB di VRAM, a seconda del modello utilizzato (questo non ÃĻ specificato)

Pubblicato per la prima volta lunedÃŽ, 24 marzo 2025

Scrittore di apprendimento automatico, specialista nel dominio della sintesi di immagini umane. Ex capo del contenuto di ricerca presso Metaphysic.ai, fino alla sua dissoluzione in DNEG's Brahma.ai.
Portfolio site: martinanderson.ai
Contact: [email protected]