Messaggio da portare a casa: Janus è un modello di comprensione e generazione multimodale semplice, unificato ed estensibile che disaccoppia la comprensione multimodale e la codifica visiva generata, attenuando i potenziali conflitti tra i due compiti. Può essere esteso per incorporare ulteriori modalità di input in futuro. Janus-Pro si basa su queste fondamenta ottimizzando la strategia di addestramento (aumentando il numero di fasi di addestramento, regolando i rapporti tra i dati, ecc.), aggiungendo altri dati (utilizzando anche dati sintetici, ecc.) e aumentando le dimensioni del modello (fino a 7 miliardi di parametri), il che porta a progressi nelle capacità di comprensione multimodale e di aderenza alle istruzioni da testo a immagine del modello.
Janus-Pro è una versione avanzata del precedente lavoro Janus, che include in particolare (1) una strategia di addestramento ottimizzata, (2) dati di addestramento più ampi e (3) modelli di dimensioni maggiori. Grazie a questi miglioramenti, Janus-Pro compie progressi significativi nelle capacità di comprensione multimodale e di aderenza alle istruzioni testo-immagine, migliorando al contempo la stabilità della generazione testo-immagine. Prima di esaminare l'Janus-Pro, passiamo in rassegna Janus.
Recensione di Janus
Il predecessore Janus è un framework autoregressivo per la comprensione e la generazione multimodale unificata, utilizzato per disaccoppiare la codifica visiva per la comprensione e la generazione multimodale unificata. Per la comprensione multimodale, il progetto segue tipicamente LLaVA, utilizzando i codificatori visivi come ponte per consentire ai modelli linguistici di grandi dimensioni di comprendere le immagini. Per la generazione, di solito si basa su modelli di diffusione e alcuni si basano su metodi autoregressivi. Alcuni approcci tentano di utilizzare un singolo trasformatore per cercare di unificare i compiti di comprensione e generazione multimodale, che in genere utilizza un singolo codificatore visivo per elaborare gli input di entrambi i compiti.
Tuttavia, esistono differenze nelle rappresentazioni richieste per i compiti di comprensione e generazione multimodale. Nel compito di comprensione multimodale, l'encoder visivo mira a estrarre informazioni semantiche di alto livello (per esempio, categorie di oggetti o attributi visivi), e l'output comporta non solo l'estrazione di informazioni dall'immagine, ma anche un complesso ragionamento semantico, con l'encoder che si concentra principalmente su rappresentazioni semantiche ad alta dimensione. Il compito di generazione si occupa principalmente di generare dettagli locali e di mantenere la coerenza globale dell'immagine, richiedendo quindi rappresentazioni codificate a bassa dimensione delle strutture spaziali e dei dettagli della texture. Unificare le rappresentazioni di entrambi i compiti nello stesso spazio può portare a conflitti.
Janus contiene due percorsi di codifica visiva indipendenti per la comprensione e la generazione multimodale e offre due vantaggi: 1) attenua i conflitti derivanti dai diversi requisiti di granularità della comprensione e della generazione multimodale e 2) è flessibile e scalabile, disaccoppiando in modo che sia i compiti di comprensione che quelli di generazione possano essere codificati utilizzando tecniche di codifica all'avanguardia specifiche per i loro domini e, in futuro, potranno essere alimentati con nuvole di punti, segnali EEG o dati audio ed elaborati utilizzando un trasformatore unificato.
Per la comprensione del testo, questo viene convertito in ID discreti utilizzando il Tokenizer integrato di LLM;
Per la comprensione multimodale, le caratteristiche semantiche ad alta dimensione delle immagini vengono estratte utilizzando i codificatori SigLIP (nota dell'autore: Cosmos utilizza anche i codificatori SigLIP nella sezione Guardrails), e le caratteristiche estratte vengono mappate nello spazio delle caratteristiche testuali di LLM utilizzando Adaptor (MLP a 2 strati);
Il lato lungo è stato regolato a 384 pixel e il lato corto è stato riempito a 384 pixel utilizzando RGB(127, 127, 127);
Per la generazione visiva, l'immagine è stata convertita in ID discreti utilizzando il VQ Tokenizer e ogni ID è stato mappato nello spazio delle caratteristiche testuali dell'LLM utilizzando l'Adaptor (MLP a 2 strati);
I bordi corti sono stati ridimensionati a 384 pixel e i bordi lunghi sono stati ritagliati a 384 pixel;
L'addestramento complessivo è stato eseguito utilizzando 16 nodi, ciascuno contenente 8 GPU Nvidia A100;
Per entrambi i compiti di generazione visiva e di comprensione multimodale, le sequenze di caratteristiche dell'immagine e le sequenze di caratteristiche del testo sono collegate insieme come input al LLM (nel testo viene utilizzato DeepSeek-LLM 1.3B);
La testa di predizione incorporata dell'LLM viene utilizzata per le predizioni del testo sia nel compito di comprensione del testo puro che in quello di comprensione multimodale, mentre una testa di predizione inizializzata in modo casuale viene utilizzata per le predizioni delle immagini nel compito di generazione visiva. L'intero modello aderisce a una struttura autoregressiva senza la necessità di maschere di attenzione appositamente progettate.
Formazione Janus è suddiviso in 3 fasi:
Fase 1
Adattatore treno e testina immagine per creare connessioni tra elementi linguistici e visivi nello spazio di incorporazione, consentendo al LLM di comprendere le entità nell'immagine e di avere capacità iniziali di generazione visiva;
Per la comprensione multimodale, utilizzare 1,25 milioni di dati di didascalie accoppiate immagine-testo da SHareGPT4V nel formato: ;
Per la generazione visiva, utilizzando 1,2 milioni di campioni da ImageNet1k nel formato: ;
Fase 2
Preformazione unificatautilizzando un corpus multimodale per il pre-training unificato per l'apprendimento della comprensione e della generazione multimodale. In questa fase vengono utilizzati dati di testo, dati di comprensione multimodale e dati di generazione visiva. Semplice addestramento alla generazione visiva utilizzando ImageNet-1k, seguito dall'uso di dati generici da testo a immagine per migliorare la generazione visiva nel dominio aperto del modello;
Dati di testo: Corpus pre-addestrato DeepSeek-LLM;
Dati interlacciati immagine-testo: I dataset WikiHow e WIT;
Dati delle didascalie delle immagini: Immagini provenienti da più fonti e didascalia di alcune immagini utilizzando modelli multimodali open source, con dati formattati come coppie di domande e risposte, ad esempio Descrivi l'immagine in dettaglio.
Dati tabellari e grafici: dati tabellari e grafici corrispondenti di DeepSeek-VL nel formato ;
Dati generati visivamente: coppie immagine-didascalia da più set di dati e 2 milioni di dati interni;
Durante l'addestramento, solo la prima frase della didascalia viene utilizzata in modo casuale con una probabilità di 25%;
I campioni di ImageNet compaiono solo nei 120K passi iniziali di addestramento, mentre le immagini di altri set di dati compaiono nei 60K passi successivi;
Fase 3
Messa a punto supervisionatain cui i modelli pre-addestrati vengono messi a punto utilizzando i dati di messa a punto delle istruzioni per migliorare la loro capacità di seguire le istruzioni e il dialogo. Messa a punto di tutti i parametri, tranne il codificatore di generazione. Mascherare le indicazioni del sistema e dell'utente durante la supervisione delle risposte. Per garantire che Janus sia in grado di comprendere e generare in modo multimodale, i modelli non vengono messi a punto separatamente per compiti specifici. Al contrario, utilizziamo un mix di dati di dialogo di solo testo, dati di comprensione multimodale e dati di generazione visiva per garantire la versatilità in una varietà di scenari;
Comprensione del testo: utilizza dati provenienti da fonti specifiche;
Comprensione multimodale: utilizzo di dati provenienti da più fonti per la messa a punto dell'istruzione;
Generazione visiva: utilizzando un sottoinsieme di coppie immagine-testo da alcuni set di dati della Fase II e 4 milioni di dati interni;
Il formato dei dati è: Utente: \n Assistente: ;
Obiettivi della formazione
Janus è un modello autoregressivo addestrato utilizzando una funzione di perdita di tipo cross-entropy; per i compiti di comprensione del testo e di comprensione multimodale, la perdita è calcolata sulla sequenza di testo. Per i compiti di generazione visiva, la perdita è calcolata solo sulla sequenza di immagini. Per mantenere il progetto semplice, non vengono assegnati pesi di perdita diversi ai vari compiti.
Ragionamento
Utilizzando il metodo di predizione dell'elemento lessicale successivo, per la comprensione del testo semplice e per la comprensione multimodale, gli elementi lessicali vengono campionati in modo sequenziale dalla distribuzione di predizione. Per la generazione di immagini, viene utilizzato un bootstrap senza classificatore.
Possibili estensioni
Per la comprensione multimodale, 1) si potrebbe scegliere un codificatore visivo più forte e 2) si potrebbero utilizzare tecniche dinamiche ad alta risoluzione;
Per la generazione di visioni, 1) si potrebbero scegliere codificatori a grana più fine, 2) utilizzare funzioni di perdita specificamente progettate per la generazione di visioni e 3) combinare attenzione causale e metodi paralleli;
Più modalità, con la possibilità di integrare nuvole di punti 3D, tattili, EEG e altri input per le modalità di perdita;
Aggiornamento Janus-Pro
Con dati di addestramento limitati e una capacità del modello relativamente piccola (1B), Janus è carente in alcuni aspetti, come la scarsa rappresentazione della generazione di immagini in presenza di indicazioni brevi e la qualità incoerente della generazione da testo a immagine.L'architettura di Janus-Pro è la stessa di Janus, come si può vedere nella figura seguente:
Miglioramenti principali
Strategia di formazione
Fase 1: Aumentare il numero di fasi di addestramento e addestrare completamente su ImageNet;
Fase 2: non si usa più ImageNet, ma si usano direttamente i normali dati testo-immagine per l'addestramento;
Fase 3: modificare i rapporti dei set di dati nel processo di messa a punto, cambiando il rapporto tra dati multimodali, dati di testo semplice e dati di testo-immagine da 7:3:10 a 5:1:4;
Scala dati
Comprensione multimodale
Fase 2: aggiunta di 90 milioni di campioni, tra cui YFCC per la didascalia delle immagini e Doc-matrix per la comprensione di tabelle e grafici;
Fase 3: Aggiunta di set di dati supplementari di DeepSeek-VL2, come la comprensione di MEME;
Generazione visiva: i dati del mondo reale possono essere di scarsa qualità, con conseguente instabilità della generazione di testo-immagine e scarsa resa estetica; Janus-Pro utilizza 72 milioni di campioni di dati estetici sintetici, con una fase di pre-addestramento uniforme (Fase 2) con un rapporto 1:1 tra dati reali e dati sintetici;
Modello in scala
Scala dei parametri del modello a 7 miliardi di parametri;
Dettagli sperimentali
Rispetto a Janus, i dettagli degli esperimenti Janus-Pro sono sostanzialmente gli stessi. Al contrario, il modello a parametri più ampi ha utilizzato più nodi del cluster (da 16 a 32).
Janus-Pro iperparametri di formazione
Insufficiente
Per la comprensione multimodale, la risoluzione dell'input è limitata a 384×384, il che influisce sulle prestazioni dei compiti visivi a grana fine. Per la generazione da testo a immagine, la bassa risoluzione comporta una mancanza di dettagli nei risultati generati.