Modelli di linguaggio multimodali spiegati Taratura delle istruzioni visive

Modelli di linguaggio multimodali - Taratura delle istruzioni visive

Un’introduzione alle idee e agli approcci di base per passare da LLM unimodali a multimodali

LLM ha mostrato risultati promettenti sia nell’apprendimento zero-shot che nell’apprendimento few-shot su molti compiti di linguaggio naturale. Tuttavia, LLM è svantaggiato quando si tratta di compiti che richiedono ragionamento visivo. Nel frattempo, modelli di visione di grandi dimensioni, come SAM, hanno raggiunto lo stesso livello di progresso nella percezione come LLM nel ragionamento testuale.

Foto di Anne Nygård su Unsplash

L’unione di LLM con la capacità di ragionamento percettivo si sta muovendo verso un campo emergente chiamato MLLM. Questo campo ha un forte argomento per migliorare la robustezza di LLM poiché impariamo in modo multisensoriale, con ciascun sensore complementare all’altro. Per quanto riguarda l’esperienza dell’utente, la multimodalità può portare a un livello più elevato di concisione. Gli utenti saranno in grado di esprimere più efficacemente la loro intenzione fornendo semplicemente un’immagine come input al modello invece di descriverla come un lungo paragrafo.

Un’immagine vale più di mille parole – Henrik Ibsen

Come esempio per questi entusiasmanti casi d’uso emergenti, MiniGPT-4 [1] crea siti web basati su istruzioni scritte a mano o genera ricette dettagliate osservando foto di cibi appetitosi. Allo stesso modo, MM-ReAct [2] incorpora informazioni visive sotto forma di didascalie delle immagini, didascalie dense, etichettatura delle immagini, ecc., all’interno del prompt da alimentare al LLM. Con questa tecnica, un LLM esistente può essere potenziato per comprendere battute e meme condizionati visivamente, ragionamento matematico e testuale visivo e comprensione spaziale e delle coordinate, pianificazione visiva e previsione.

Questa sarebbe una serie di articoli che coprono l’apprendimento multimodale zero-shot attraverso il tuning delle istruzioni e l’apprendimento few-shot utilizzando l’apprendimento in contesto multimodale. Successivamente, CoT multimodale e ragionamento visivo.

In questo articolo, spiegherò cosa significa il tuning delle istruzioni nel contesto della multimodalità e, nel prossimo post, discuterò dell’apprendimento few-shot per MLLM utilizzando l’apprendimento in contesto.

Apprendimento zero-shot multimodale utilizzando il tuning delle istruzioni

LLM messi a punto mostrano prestazioni limitate su compiti non visti, soprattutto sotto cambiamenti di distribuzione. Tuttavia, per generalizzare meglio su questi compiti successivi, possiamo utilizzare il fine-tuning delle istruzioni. Il fine-tuning delle istruzioni è una tecnica per affinare un LLM pre-addestrato con un dataset di istruzioni utilizzando l’apprendimento per rinforzo. Al contrario, era comune pre-addestrare LLM con un compito di mascheramento su un dataset a uso generale come C4 e poi affinarlo su un dataset specifico per il compito come traduzione (Bart) [5], generazione di codice (CodeT5) [4] e parsing (ReportQL, HydraNet)[6, 7].

L'obiettivo del pre-addestramento per T5. [3]

Il tuning delle istruzioni apprende una comprensione generalizzata di come seguire le istruzioni per raggiungere un compito anziché adattarlo a un compito specifico. Ciò conferisce al modello capacità di generalizzazione più elevate in un contesto in cui sono state fornite istruzioni sufficienti per ogni compito.

Confronto tra il tuning delle istruzioni, il pre-addestramento e il prompting. [20]

D’altra parte, l’affinamento di un modello di linguaggio richiede molto dati, il che rende l’approccio meno applicabile quando i dati specifici del dominio sono limitati. Sebbene i dati sintetici per il fine-tuning sembrino promettenti, molte ricerche hanno rivelato che l’approccio è soggetto a pregiudizi e manca di generalizzazione a campioni non visti [8]. Il prompting migliora le prestazioni nell’apprendimento few-shot, soprattutto in regimi a bassa quantità di dati.

Generazione di dataset di istruzioni multimodali

Uno dei principali problemi nell’estendere l’ottimizzazione delle istruzioni alla multimodalità è la mancanza di dati. Per fornire un dataset di istruzioni multimodale, i ricercatori adattano o creano nuovi benchmark. Zhu et al. [9] nel loro lavoro “MiniGPT-4: Migliorare la comprensione visione-linguaggio con modelli di linguaggio avanzati di grandi dimensioni”, hanno scoperto che l’utilizzo di dataset di immagini e testo disponibili pubblicamente porta a prestazioni subottimali. Argomentano che la mancanza di coerenza, ripetizione e frasi frammentate influisce sulle prestazioni dei modelli di linguaggio nel dialogo. Pertanto, MiniGPT-4 utilizza un processo di allineamento a due fasi. Nella prima fase, generano una descrizione dettagliata dell’immagine utilizzando un’interrogazione al modello derivata dalla prima fase di pre-addestramento. Progettano un’interrogazione specifica per casi d’uso conversazionali per generare descrizioni.

###Umano: <Img><ImageFeature></Img> Descrivi questa immagine in dettaglio. Fornisci il maggior numero possibile di dettagli. Dì tutto ciò che vedi.###Assistente:

Le caratteristiche dell’immagine qui incorporano le caratteristiche da uno strato di proiezione lineare. Quando la lunghezza dell’output è inferiore a una soglia di 80 token, precedono la conversazione con continua:

###Umano: Continua ###Assistente:

Seguendo questo approccio, hanno generato descrizioni complete per circa 5.000 immagini del dataset Conceptual Caption [10].

Il dataset generato è ancora rumoroso e necessita di post-elaborazione. Gli autori hanno utilizzato ChatGPT per eliminare problemi come frasi incoerenti e ripetizione di parole.

Correggi l'errore nel paragrafo dato. Rimuovi frasi ripetute, caratteri senza senso, frasi non in inglese, ecc. Rimuovi ripetizioni superflue. Riscrivi eventuali frasi incomplete. Restituisci direttamente i risultati senza spiegazioni. Restituisci direttamente il paragrafo di input se è già corretto senza spiegazioni.

Per verificare la correttezza, hanno valutato manualmente la descrizione dell’immagine e perfezionato le didascalie generate. Infine, hanno selezionato quasi 3.500 coppie generate su 5.000 che soddisfacevano i loro criteri di qualità.

Contrariamente a MiniGPT-4, Liu et al. [11] si sono affidati solo a ChatGPT/GPT-4 per fornire un dataset di istruzioni multimodale. Il contesto di ChatGPT include una rappresentazione simbolica composta da didascalie e bounding box.

Tipo di contesto 1: DidascalieUn gruppo di persone in piedi fuori da un veicolo nero con vari bagagli.I bagagli circondano un veicolo in un parcheggio sotterraneo.Le persone cercano di sistemare tutti i loro bagagli in un SUV.L'auto di grandi dimensioni è parcheggiata nel garage pubblico, in fase di imballaggio per un viaggio.Alcune persone con i bagagli vicino a un furgone che li sta trasportando.Tipo di contesto 2: Bounding boxperson: [0.681, 0.242, 0.774, 0.694], person: [0.63, 0.222, 0.686, 0.516], person: [0.444, 0.233,0.487, 0.34], zaino: [0.384, 0.696, 0.485, 0.914], zaino: [0.755, 0.413, 0.846, 0.692],valigia: [0.758, 0.413, 0.845, 0.69], valigia: [0.1, 0.497, 0.173, 0.579], bicicletta: [0.282, 0.363,0.327, 0.442], auto: [0.786, 0.25, 0.848, 0.322], auto: [0.783, 0.27, 0.827, 0.335], auto: [0.86, 0.254,0.891, 0.3], auto: [0.261, 0.101, 0.787, 0.626]

Le didascalie descrivono la scena da diverse prospettive, mentre le bounding box forniscono informazioni spaziali sugli oggetti. Utilizzando questo contesto, generano 3 tipi di dataset di istruzioni. In primo luogo, la conversazione, che implica la generazione di un insieme di domande diverse poste sul contenuto delle immagini. La prompt tiene conto anche del limitare le domande a quelle che possono essere risposte con sicurezza, date le informazioni di contesto.

messaggi = [ {"ruolo":"sistema", "contenuto": f"""Sei un assistente visivo di intelligenza artificiale e stai guardando un'immagine singola. Ciò che vedi sono fornite con cinque frasi che descrivono la stessa immagine che stai guardando. Rispondi a tutte le domande come se stessi guardando l'immagine.Progettare una conversazione tra te e una persona che chiede informazioni su questa foto. Le risposte dovrebbero essere formulate in un tono che un assistente visivo di intelligenza artificiale sta guardando l'immagine e rispondendo alle domande. Fai domande diverse e dai risposte corrispondenti.Includi domande che riguardano il contenuto visivo dell'immagine, compresi i tipi di oggetti, il conteggio degli oggetti, le azioni degli oggetti, le posizioni degli oggetti, le posizioni relative tra gli oggetti, ecc. Includi solo domande che hanno risposte definite:(1) si può vedere nel'immagine il contenuto che la domanda richiede e si può rispondere con sicurezza;(2) si può determinare con sicurezza dall'immagine che non è presente nell'immagine. Non fare domande che non possono essere risposte con sicurezza.Includi anche domande complesse che sono rilevanti per il contenuto dell'immagine, ad esempio, chiedere informazioni di base sugli oggetti nell'immagine, chiedere di discutere eventi che si verificano nell'immagine, ecc. Di nuovo, non fare domande sui dettagli incerti. Fornisci risposte dettagliate quando rispondi a domande complesse. Ad esempio, fornisci esempi dettagliati o passaggi di ragionamento per rendere il contenuto più convincente e ben organizzato. Puoi includere più paragrafi se necessario."""}]for campione in campioni_pochi_esempi:messaggi.append({"ruolo":"utente", "contenuto":campione[‘contesto’]})messaggi.append({"ruolo":"assistente", "contenuto":campione[‘risposta’]} )messaggi.append({"ruolo":"utente", "contenuto":‘\n’.join(query)})

Il prossimo tipo, chiamato “descrizione dettagliata”, mira a generare una spiegazione completa per un’immagine. Date un’immagine, vengono estratte casualmente una domanda da un elenco di domande predefinite per generare una descrizione dettagliata.

• "Descrivi l'immagine seguente in dettaglio"• "Fornisci una descrizione dettagliata dell'immagine data"• "Offri una spiegazione approfondita dell'immagine che vedi"• "Condividi un resoconto completo dell'immagine presentata"• "Offri un'analisi approfondita dell'immagine"• "Spiega gli aspetti vari dell'immagine che hai davanti"• "Chiarisci i contenuti dell'immagine visualizzata con grande dettaglio"• "Caratterizza l'immagine utilizzando una descrizione ben dettagliata"• "Analizza gli elementi dell'immagine in modo dettagliato"• "Esamina i dettagli importanti dell'immagine"• "Rappresenta l'immagine con una narrazione descrittiva e ricca"• "Racconta i contenuti dell'immagine con precisione"• "Analizza l'immagine in modo completo e dettagliato"• "Illustra l'immagine attraverso una spiegazione descrittiva"• "Esamina l'immagine da vicino e condividi i suoi dettagli"• "Scrivi una descrizione esaustiva dell'immagine data"

Infine, il “ragionamento complesso” si riferisce a rispondere a domande approfondite che richiedono un processo di ragionamento passo dopo passo che segue la logica. A tal fine, viene utilizzato un prompt simile a “conversazione”, ma con maggiore enfasi sul ragionamento.

Sei un assistente visivo AI in grado di analizzare un'immagine singola. Ricevi cinque frasi che descrivono la stessa immagine che stai osservando. Inoltre, vengono fornite posizioni specifiche degli oggetti all'interno dell'immagine, insieme alle coordinate dettagliate. Queste coordinate sono nella forma di bounding box, rappresentate come (x1, y1, x2, y2) con numeri decimali compresi tra 0 e 1. Questi valori corrispondono a x in alto a sinistra, y in alto a sinistra, x in basso a destra e y in basso a destra. Il compito consiste nell'utilizzare la didascalia fornita e le informazioni sulla bounding box per creare una domanda plausibile sull'immagine e fornire la risposta in dettaglio. Crea domande complesse che vanno oltre la descrizione della scena. Per rispondere a queste domande, è necessario prima comprendere il contenuto visivo, quindi, basandosi sulla conoscenza di base o sul ragionamento, spiegare perché le cose stanno accadendo in quel modo o fornire guide e aiuto alla richiesta dell'utente. Rendi la domanda sfidante non includendo i dettagli del contenuto visivo nella domanda in modo che l'utente debba ragionarci prima. Invece di menzionare direttamente le coordinate della bounding box, utilizza questi dati per spiegare la scena utilizzando il linguaggio naturale. Includi dettagli come il conteggio degli oggetti, la posizione degli oggetti, la posizione relativa tra gli oggetti. Quando si utilizzano le informazioni dalla didascalia e dalle coordinate, spiega direttamente la scena e non menzionare che la fonte delle informazioni è la didascalia o la bounding box. Rispondi sempre come se stessi guardando direttamente l'immagine.

Utilizzando questo approccio, sono stati generati un totale di 158K dataset multimodali di lingua-immagine, di cui 58k campioni di conversazioni, 23k campioni di descrizione dettagliata e 77k campioni di ragionamento complesso.

Un’altra linea di lavoro per fornire un dataset di istruzioni multimodali è applicare modelli di istruzioni a dataset già disponibili di lingua-immagine. MultiInstruct di Xu et al. [12] utilizza benchmark già disponibili per più di 47 compiti da 54 dataset per creare un nuovo dataset di istruzioni multimodali per consentire ai LLM di apprendere abilità fondamentali come il riconoscimento degli oggetti, la comprensione delle relazioni visive, il collegamento testo-immagine, e così via.

11 categorie principali sono coperte nel dataset MultiInstruct. [12]

Come potresti immaginare, alcuni di questi benchmark potrebbero sovrapporsi l’uno con l’altro, quindi gli autori hanno considerato la possibilità di scomporre compiti complessi in compiti più semplici.

Ad esempio, Grounding visivo richiede al modello di generare una didascalia per una determinata regione nell’immagine. Abbiamo derivato due compiti aggiuntivi correlati a questa abilità complessa: Selezione di didascalia ancorata, che è una competenza più semplice che richiede al modello di selezionare la didascalia corrispondente tra più candidati per la regione data, e Selezione di ancoraggio visivo, che richiede al modello di selezionare la regione corrispondente tra le regioni candidate fornite in base a una didascalia data [12].

In seguito, sono stati assegnati 2-3 annotatori umani per ogni compito per scrivere 5 istruzioni specifiche per il compito sia per l’addestramento che per la valutazione. Le istruzioni sono formulate in un formato unificato di <TESTO>, <REGIONE> e <OPZIONE>. Qui, <TESTO> è un segnaposto per l’istruzione, <REGIONE> è il segnaposto per le informazioni specifiche della regione e <OPZIONE> viene utilizzato solo nei compiti di classificazione [12].

Otter [13], d’altra parte, parte da MMC4 con la motivazione di utilizzare il contesto nel dataset. MMC4 è composto da coppie immagine-testo derivate da pagine web e “contesto” come il testo rimanente della pagina. Esempi simili vengono raggruppati per formare un insieme di esempi contestuali.

Formato dei dati nei dataset MMC4 e MIMIC-IT. [13]

In breve, i metodi comuni nella letteratura per fornire dataset di istruzioni multimodali sono l’autoistruzione, che prevede l’utilizzo di una rete pre-addestrata per generare dati di istruzioni. Al contrario, altri hanno adattato benchmark già esistenti nell’apprendimento visivo e multimodale.

Andando avanti, dopo l’adattamento del dataset e la generazione del dataset di istruzioni visive per il fine-tuning di LLMs, è necessario creare un’interfaccia per iniettare multimodalità a LLMs.

Adattamento di LLMs per prompt multimodali

Poiché è sfidante e costoso apportare modifiche significative all’architettura di LLMs e addestrarli da zero, possiamo vedere la predominanza di metodi simili al fine-tuning efficiente dei parametri [14] per iniettare l’incorporamento visivo.

Il prompt soft insieme a un layer di proiezione è uno dei metodi PEFT utilizzati in MiniGPT-4 [11] per l’incorporamento di informazioni visive. MiniGPT-4 sfrutta Vicuna come decodificatore di linguaggio e utilizza un ViT accoppiato con un Q-Former pre-addestrato.

Il prompt soft, in generale, si riferisce alla preposizione di un tensore addestrabile all’incorporamento di input del modello da ottimizzare utilizzando la retropropagazione per un compito specifico. Questo tensore può avere una lunghezza di circa 1 a 150 token.

def modello_soft_prompted(input_ids):    x = Embed(input_ids)    x = concat([soft_prompt, x], dim=seq)    return modello(x)

Un’altra variante del prompt soft è il prefix-tuning. A differenza dell’approccio precedente, il tensore addestrabile viene preposto agli stati nascosti di tutti i livelli. Poiché manipoliamo direttamente tutti i livelli, Li e Liang [15] hanno riscontrato instabilità nell’ottimizzazione del tensore preposto. Pertanto, utilizzano un FFN intermedio prima di preporre direttamente il tensore alla rete.

def blocco_transformer_per_prefix_tuning(x):    soft_prompt = FFN(soft_prompt)    x = concat([soft_prompt, x], dim=seq)    return blocco_transformer(x)
L'architettura di MiniGPT-4. [9]

Tornando a MiniGPT-4, gli autori iniettano l’output dell’encoder di visione pre-addestrato come prompt soft per Vicuna tramite un FFN. Durante la loro prima fase di addestramento, sia l’encoder di visione che i decoder di linguaggio sono congelati, mentre viene addestrato solo uno strato di proiezione.

@registry.register_model("mini_gpt4")class MiniGPT4(Blip2Base):    def __init__(...):        self.llama_proj = nn.Linear(            self.Qformer.config.hidden_size, self.llama_model.config.hidden_size    )  def encode_img(self, image):          ...      with self.maybe_autocast():          image_embeds = self.ln_vision(self.visual_encoder(image)).to(device)          image_atts = torch.ones(image_embeds.size()[:-1], dtype=torch.long).to(device)            query_tokens = self.query_tokens.expand(image_embeds.shape[0], -1, -1)          query_output = self.Qformer.bert(              query_embeds=query_tokens,              encoder_hidden_states=image_embeds,              encoder_attention_mask=image_atts,              return_dict=True,          )          inputs_llama = self.llama_proj(query_output.last_hidden_state)          atts_llama = torch.ones(inputs_llama.size()[:-1], dtype=torch.long).to(image.device)      return inputs_llama, atts_llama  def forward(self, samples):        image = samples["image"]        img_embeds, atts_img = self.encode_img(image)        if hasattr(samples, 'question_split'):  # VQA dataset            print('VQA Batch')            vqa_prompt = '###Human: <Img><ImageHere></Img> '            img_embeds, atts_img = self.prompt_wrap(img_embeds, atts_img, vqa_prompt)        elif self.prompt_list:            prompt = random.choice(self.prompt_list)            img_embeds, atts_img = self.prompt_wrap(img_embeds, atts_img, prompt)              ...        to_regress_embeds = self.llama_model.model.embed_tokens(to_regress_tokens.input_ids)        inputs_embeds = torch.cat([bos_embeds, img_embeds, to_regress_embeds], dim=1)        attention_mask = torch.cat([atts_bos, atts_img, to_regress_tokens.attention_mask], dim=1)        with self.maybe_autocast():            outputs = self.llama_model(                inputs_embeds=inputs_embeds,                attention_mask=attention_mask,                return_dict=True,                labels=targets,            )        loss = outputs.loss        return {"loss": loss}

Per allineare questo livello di proiezione, vengono utilizzati set di dati di coppie immagine-testo come Conceptual Caption, SBU e LAION per quasi 20.000 passi di addestramento con una dimensione del batch di 256, coprendo circa 5 milioni di campioni [9].

In modo simile, X-LLM [16] allinea più encoder congelati per singole modalità per immagini, discorsi e video e un LLM congelato utilizzando interfacce dedicate per ogni modalità. Inoltre, invece di un prompt soft, adattano Q-Former per convertire le informazioni visive in una sequenza con embedding quasi linguistici come parte del prompt.

Architettura di rete X-LLM. [16]

Q-Former di BLIP-2 viene utilizzato come interfaccia per le modalità immagine e video e deve essere adattato per convertire le modalità sopra citate in linguaggi. Ciò viene fatto nella prima fase dell’addestramento, in cui vengono utilizzate coppie immagine-didascalia e coppie video-didascalia per il pre-addestramento del modulo. Poiché queste due modalità sono vicine tra loro, viene riutilizzato il parametro dell’interfaccia dell’immagine, ma viene ulteriormente messo a punto sui dati video-testo [16]. Per l’interfaccia del discorso, viene utilizzato il meccanismo CIF introdotto in [17] per convertire le espressioni vocali in linguaggio. Tuttavia, hanno scoperto che, nonostante BLIP2 abbia utilizzato dati in inglese per il pre-addestramento, si comporta comunque bene nella seconda fase. Di conseguenza, gli autori scelgono di riutilizzare i parametri pre-addestrati di Q-Former e di addestrare solo un modello ASR basato su CIF come loro codificatore del discorso.

Il modulo Q-Former è accompagnato da un modulo adattatore per allineare le dimensioni degli embedding quasi linguistici e la dimensione dell’embedding del LLM [16].

Nella seconda fase, ogni modulo di interfaccia viene ulteriormente allineato al LLM congelato attraverso 14 milioni di coppie immagine-testo in cinese e il dataset AISHELL-2 e il dataset VSDial-CN come dataset di addestramento ASR.

Al contrario, Otter è stato addestrato con alcuni strati di attenzione incrociata per collegare le informazioni visive e linguistiche e stabilire un’attenzione tra esempi in contesto, lasciando congelato l’encoder di visione e il decoder di linguaggio [13].

Architettura OpenFlamingo. [18]

In Flamingo, la generazione di testo da parte del decoder LLM è condizionata agli embedding delle informazioni visive prodotte da Perceiver Resampler. Prende un numero arbitrario di caratteristiche dell’immagine o del video codificate da un modello di encoder di visione e produce un output di dimensione fissa per aiutare a ridurre la complessità del modulo di attenzione incrociata visione-testo che intercalza i blocchi LM congelati.

def gated_xattn_dense(  y, # input language features  x, # input visual features  alpha_xattn, # parametro di gating xattn - inizializzato a 0  alpha_dense, # parametro di gating f fw - inizializzato a 0):    # 1. Attenzione incrociata con gating    y = y + tanh(alpha_xattn) * attention(q=y, kv=x)    # 2. Livello di feed forward con gating (dense)    y = y + tanh(alpha_dense) * ffw(y)        # Self-attenzione regolare + FFW sul linguaggio    y = y + frozen_attention(q=y, kv=y)    y = y + frozen_ffw(y)return y # output caratteristiche del linguaggio informate visivamente

Il modulo di attenzione incrociata denso con gating menzionato utilizza il meccanismo di gating tangente iperbolica utilizzato in LSTM [19]. Controlla l’aggiunta del risultato dell’attenzione a y dalla connessione residua attraverso il parametro appreso alpha_xattn. Per quanto riguarda l’inizializzazione, l’output dell’attenzione e del ffw sono semplicemente casuali e potrebbero causare instabilità nell’addestramento. Mentre con il meccanismo di gating, alpha viene inizializzato a 0 e non ha effetti all’inizio dell’addestramento.

Per riassumere, le tracce di PEFT sono l’approccio principale nella letteratura per adattare LLM a multimodalità. In alcuni casi, gli embedding visivi sono rappresentati direttamente nel prompt o, come nel caso di Flamingo, l’architettura LLM è più manipolata per un compromesso migliore tra precisione. Questo campo è relativamente nuovo e ci sono molte linee di lavoro che non sono state ancora esplorate.

Nel prossimo post di questa serie, mi concentrerò sull’apprendimento multimodale a poche istanze utilizzando l’apprendimento in contesto.

Scriverò altri articoli in CS. Se sei appassionato/a del settore tanto quanto me ^^ e trovi i miei articoli informativi, assicurati di premere il pulsante “Segui” su VoAGI e continua la conversazione nei commenti 💬. Non esitare a contattarmi direttamente su LinkedIn!

[1] Zhu, D., Chen, J., Shen, X., Li, X., & Elhoseiny, M. (2023). Minigpt-4: Migliorare la comprensione visione-linguaggio con modelli di linguaggio avanzati di grandi dimensioni. arXiv preprint arXiv:2304.10592.

[2] Yang, Z., Li, L., Wang, J., Lin, K., Azarnasab, E., Ahmed, F., … & Wang, L. (2023). Mm-react: Sollecitazione di ChatGPT per ragionamento multimodale e azione. arXiv preprint arXiv:2303.11381.

[3] Raffel, C., Shazeer, N., Roberts, A., Lee, K., Narang, S., Matena, M., … & Liu, P. J. (2020). Esplorare i limiti del trasferimento di apprendimento con un trasformatore unificato testo-testo. The Journal of Machine Learning Research, 21(1), 5485–5551.

[4] Lewis, M., Liu, Y., Goyal, N., Ghazvininejad, M., Mohamed, A., Levy, O., … & Zettlemoyer, L. (2019). Bart: Pre-training sequenza-sequenza per la generazione, la traduzione e la comprensione del linguaggio naturale. arXiv preprint arXiv:1910.13461.

[5] Lewis, M., Liu, Y., Goyal, N., Ghazvininejad, M., Mohamed, A., Levy, O., … & Zettlemoyer, L. (2019). Bart: Pre-training sequenza-sequenza per la generazione, la traduzione e la comprensione del linguaggio naturale. arXiv preprint arXiv:1910.13461.

[6] Moezzi, S. A. R., Ghaedi, A., Rahmanian, M., Mousavi, S. Z., & Sami, A. (2023). Applicazione di deep learning nella generazione di report radiologici strutturati: una tecnica basata su trasformatore. Journal of Digital Imaging, 36(1), 80–90.

[7] Lyu, Q., Chakrabarti, K., Hathi, S., Kundu, S., Zhang, J., & Chen, Z. (2020). Hybrid ranking network per text-to-sql. arXiv preprint arXiv:2008.04759.

[8] Ravuri, S., & Vinyals, O. (2019). Punteggio di accuratezza di classificazione per modelli generativi condizionali. Advances in neural information processing systems, 32.

[9] Zhu, D., Chen, J., Shen, X., Li, X., & Elhoseiny, M. (2023). Minigpt-4: Migliorare la comprensione visione-linguaggio con modelli di linguaggio avanzati di grandi dimensioni. arXiv preprint arXiv:2304.10592.

[10] Changpinyo, S., Sharma, P., Ding, N., & Soricut, R. (2021). Conceptual 12m: Spingere il pre-training di immagini e testo su larga scala per riconoscere concetti visivi di coda lunga. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 3558–3568).

[11] Liu, H., Li, C., Wu, Q., & Lee, Y. J. (2023). Visual instruction tuning. arXiv preprint arXiv:2304.08485.

[12] Xu, Z., Shen, Y., & Huang, L. (2022). Multiinstruct: Migliorare l’apprendimento multimodale zero-shot tramite sintonizzazione delle istruzioni. arXiv preprint arXiv:2212.10773.

[13] Li, B., Zhang, Y., Chen, L., Wang, J., Yang, J., & Liu, Z. (2023). Otter: Un modello multimodale con sintonizzazione delle istruzioni contestuali. arXiv preprint arXiv:2305.03726.

[14] Lialin, V., Deshpande, V., & Rumshisky, A. (2023). Ridimensionare per scalare: una guida per il fine-tuning efficiente dei parametri. arXiv preprint arXiv:2303.15647.

[15] Li, X. L., & Liang, P. (2021). Prefix-tuning: Ottimizzazione dei prompt continui per la generazione. Preprint di arXiv arXiv:2101.00190.

[16] Chen, F., Han, M., Zhao, H., Zhang, Q., Shi, J., Xu, S., & Xu, B. (2023). X-llm: Avvio di modelli di linguaggio avanzati tramite trattamento delle multimodalità come lingue straniere. Preprint di arXiv arXiv:2305.04160.

[17] Dong, L., & Xu, B. (2020, maggio). Cif: Integrazione e fuoco continuo per il riconoscimento vocale end-to-end. In ICASSP 2020-2020 Conferenza internazionale IEEE su acustica, discorso e elaborazione del segnale (ICASSP) (pp. 6079-6083). IEEE.

[18] Anas Awadalla, Irena Gao, Josh Gardner, Jack Hessel, Yusuf Hanafy, & Wanrong Zhu. (2023). OpenFlamingo: Un framework open-source per l’addestramento di modelli di visione-linguaggio autoregressivi di grandi dimensioni.

[19] Hochreiter, S., & Schmidhuber, J. (1997). Memoria a breve termine a lungo termine. Calcolo neurale, 9(8), 1735-1780.

[20] Wei, J., Bosma, M., Zhao, V. Y., Guu, K., Yu, A. W., Lester, B., … & Le, Q. V. (2021). I modelli di linguaggio raffinati sono studenti a zero-shot. Preprint di arXiv arXiv:2109.01652.