Contesto lungo

Gemini 1.5 Flash è dotato di una finestra contestuale da 1 milione di token e Gemini 1.5 Pro è dotato di una finestra contestuale da 2 milioni di token. In passato, i modelli linguistici di grandi dimensioni (LLM) erano notevolmente limitati dalla quantità di testo (o token) che potevano essere passati al modello contemporaneamente. La finestra contestuale lunga di Gemini 1.5, con un recupero quasi perfetto (> 99%), consente di accedere a molti nuovi casi d'uso e paradigmi per gli sviluppatori.

Il codice che già utilizzi per casi come la generazione di contenuti o gli input multimodali funzionerà immediatamente con un contesto lungo.

In questa guida vengono esplorate brevemente le nozioni di base della finestra di contesto, il modo in cui gli sviluppatori devono considerare il contesto lungo, vari casi d'uso reali per il contesto lungo e i modi per ottimizzare l'utilizzo del contesto lungo.

Che cos'è una finestra contestuale?

Il modo di base per utilizzare i modelli Gemini 1.5 è trasmettere informazioni (contesto) al modello, che successivamente genererà una risposta. Un'analogia per la finestra di contesto è la memoria a breve termine. La memoria a breve termine di una persona può memorizzare una quantità limitata di informazioni e lo stesso vale per i modelli generativi.

Puoi scoprire di più su come funzionano i modelli "in background" nei nostri modelli generativi. .

Iniziare a utilizzare il contesto lungo

La maggior parte dei modelli generativi creati negli ultimi anni era in grado di di elaborare 8000 token alla volta. I modelli più recenti hanno fatto un ulteriore passo avanti accettando 32.000 token o 128.000 token. Gemini 1.5 è il primo modello in grado di accettare 1 milione di token e ora 2 milioni di token con Gemini 1.5 Pro.

In pratica, 1 milione di token avrà il seguente aspetto:

  • 50.000 righe di codice (con gli 80 caratteri standard per riga)
  • Tutti i messaggi che hai inviato negli ultimi 5 anni
  • 8 romanzi inglesi di media durata
  • Trascrizioni di oltre 200 puntate di podcast di durata media

Anche se i modelli possono acquisire sempre più contesto, gran parte della saggezza convenzionale sull'utilizzo dei modelli linguistici di grandi dimensioni presuppone questa limitazione intrinseca del modello, che a partire dal 2024 non è più valida.

Ecco alcune strategie comuni per gestire la limitazione delle piccole finestre di contesto:

  • Rimozione arbitraria di vecchi messaggi/testo dalla finestra del contesto man mano che viene inserito nuovo testo
  • Riassumere i contenuti precedenti e sostituirli con il riepilogo quando la finestra di contesto è quasi piena
  • Utilizzo della RAG con la ricerca semantica per spostare i dati dalla finestra di contesto in un database vettoriale
  • Utilizzo di filtri deterministici o generativi per rimuovere determinati testi/ caratteri dai prompt per risparmiare token

Sebbene molti di questi siano ancora pertinenti in determinati casi, ora il punto di partenza predefinito è inserire tutti i token nella finestra di contesto. Poiché I modelli Gemini 1.5 sono stati costruiti appositamente con una lunga finestra contestuale, più in grado di apprendere nel contesto. Ad esempio, con solo istruzioni materiali (una grammatica di riferimento di 500 pagine, un dizionario e ≈ 400 paralleli extra frasi) tutte fornite nel contesto, Gemini 1.5 Pro e Gemini 1.5 Flash sono in grado di imparare a tradurre dall'inglese al kalamang, una lingua papuana con meno di 200 parlanti e quindi praticamente nessuna presenza online, con una qualità simile a quella di una persona che ha imparato utilizzando gli stessi materiali.

Questo esempio sottolinea come puoi iniziare a pensare a cosa è possibile fare con il contesto lungo e le funzionalità di apprendimento contestuale di Gemini 1.5.

Casi d'uso con contesto lungo

Sebbene il caso d'uso standard per la maggior parte dei modelli generativi sia ancora l'input di testo, la famiglia di modelli Gemini 1.5 consente un nuovo paradigma di casi d'uso multimodali. Questi possono comprendere in modo nativo testo, video, audio e immagini. Sono accompagnato dall'API Vertex AI per Gemini che accetta tipi di file multimodali per la praticità.

Testo nel formato lungo

Il testo si è dimostrato il livello di intelligenza alla base di gran parte delle slancio per gli LLM. Come accennato in precedenza, gran parte dei limiti pratici a causa della mancanza di una finestra di contesto abbastanza grande per attività di machine learning. Ciò ha portato alla rapida adozione della Retrieval Augmented Generation (RAG) e di altre tecniche che forniscono dinamicamente al modello informazioni contestuali pertinenti. Ora, con finestre contestuali sempre più grandi (attualmente fino a 2 milioni su Gemini 1.5 Pro), sono disponibili nuove tecniche che sbloccano nuovi casi d'uso.

Alcuni casi d'uso emergenti e standard per i contesti lunghi basati su testo includono:

  • Riassumere grandi corpora di testo
    • Le precedenti opzioni di riassunto con modelli di contesto più piccoli richiedevano una finestra scorrevole o un'altra tecnica per mantenere lo stato delle sezioni precedenti man mano che i nuovi token vengono passati al modello
  • Domande e risposte
    • In passato, questo era possibile solo con RAG, data la quantità limitata di contesto e il basso richiamo fattuale dei modelli
  • Flussi di lavoro agenti
    • Il testo è alla base del modo in cui gli agenti mantengono lo stato di ciò che hanno fatto e cosa devono fare. non avere informazioni sufficienti sul mondo e l'obiettivo dell'agente è una limitazione dell'affidabilità degli agenti

L'apprendimento contestuale di Many-shot è una delle le funzionalità uniche sbloccate dai modelli di contesto lungo. La ricerca ha dimostrato il comune "colpo singolo" o "scatto multiplo" di esempio, in cui viene presentato uno o alcuni esempi di un'attività, per poi scalarla centinaia, migliaia o anche centinaia di migliaia di esempi, possono nuove capacità dei modelli. È stato dimostrato che questo approccio con molti esempi ha un rendimento simile ai modelli ottimizzati per un'attività specifica. Per casi d'uso In cui le prestazioni di un modello Gemini non sono ancora sufficienti per una produzione un'implementazione, puoi provare l'approccio many-shot. Come vedrai più avanti nella sezione sull'ottimizzazione del contesto lungo, la memorizzazione nella cache del contesto rende questo tipo di carico di lavoro con token di input elevato molto più economicamente fattibile e, in alcuni casi, anche con una latenza inferiore.

Video nel formato lungo

L'utilità dei contenuti video è stata a lungo limitata dalla scarsa accessibilità del mezzo stesso. Era difficile scorrere i contenuti, spesso le trascrizioni non riuscivano per catturare tutte le sfumature di un video e la maggior parte degli strumenti non elabora immagini, testo audio insieme. Con Gemini 1.5, le funzionalità di testo con contesto lungo si traducono nella capacità di ragionare e rispondere a domande su input multimodali con un rendimento costante. Gemini 1.5 Flash, quando testato per trovare l'ago in un problema con una serie di video con 1 milione di token, ha ottenuto un recupero del video superiore al 99,8% nella finestra contestuale e 1.5 Pro ha raggiunto prestazioni all'avanguardia sul benchmark Video-MME.

Di seguito sono riportati alcuni casi d'uso emergenti e standard per il contesto lungo dei video:

  • Domande e risposte sul video
  • Memoria video, come mostrato con Project Astra di Google
  • Sottotitoli dei video
  • I sistemi di consigli sui video, arricchendo i metadati esistenti con nuove informazioni multimodali
  • Personalizzazione dei video, analizzando un corpus di dati e metadati associati ai video, per poi rimuovere le parti dei video non pertinenti per lo spettatore
  • Moderazione dei contenuti video
  • Elaborazione video in tempo reale

Quando lavori con i video, è importante considerare come vengono elaborati in token, il che influisce su fatturazione e limiti di utilizzo. Puoi scoprire di più sulla creazione di prompt con file video in la Guida alla richiesta.

Contenuti audio nel formato lungo

I modelli Gemini 1.5 sono stati i primi modelli linguistici di grandi dimensioni multimodali nativi in grado di comprendere l'audio. In passato, il tipico flusso di lavoro degli sviluppatori comporta l'unione di più modelli specifici di dominio, come un modello di conversione della voce in testo e un modello di conversione da testo a testo per elaborare l'audio. Ciò ha comportato una latenza aggiuntiva necessaria per l'esecuzione di più richieste di andata e ritorno e una riduzione delle prestazioni solitamente attribuita alle architetture disconnesse della configurazione di più modelli.

Nelle valutazioni standard degli stack audio, Gemini 1.5 Pro è in grado di trovare il audio nascosto nel 100% dei test e Gemini 1.5 Flash è in grado di trovarlo in 98,7% dei test. Gemini 1.5 Flash accetta fino a 9,5 ore di audio in una singola richiesta e Gemini 1.5 Pro può accettare fino a 19 ore di audio utilizzando la finestra contestuale da 2 milioni di token. Inoltre, in base a un set di test di clip audio di 15 minuti, Gemini 1.5 Pro archivia un tasso di errore di parole (WER) di circa il 5,5%, molto inferiore persino a quello specializzato di conversione della voce in testo, senza la complessità aggiuntiva di un'ulteriore segmentazione dell'input e pre-elaborazione.

Ecco alcuni casi d'uso emergenti e standard per il contesto audio:

  • Trascrizione e traduzione in tempo reale
  • Domande e risposte relative a podcast / video
  • Trascrizione e riepilogo delle riunioni
  • Assistenti vocali

Puoi scoprire di più sui prompt con file audio nella sezione Richieste di .

Ottimizzazioni per i contesti lunghi

L'ottimizzazione principale quando si lavora con il contesto lungo e i modelli Gemini 1.5 è l'utilizzo della cache del contesto. Oltre all'impossibilità precedente di elaborare molti token in una singola richiesta, l'altro vincolo principale era il costo. Se hai un'app "chatta con i tuoi dati" in cui un utente carica 10 PDF, un video e alcuni documenti di lavoro, in passato avresti dovuto utilizzare uno strumento/un framework di generazione di dati aumentati per il recupero (RAG) più complesso per elaborare queste richieste e pagare una cifra significativa per i token spostati nella finestra di contesto. Ora puoi memorizzare nella cache i file caricati dall'utente e pagare per archiviarli su base oraria. Il costo di input/output per richiesta è inferiore al costo di input/output standard, quindi se l'utente chatta abbastanza con i suoi dati, si tratta di un enorme risparmio per te come sviluppatore.

Limiti di contesto lunghi

In varie sezioni di questa guida, abbiamo parlato di come i modelli Gemini 1.5 ottengono prestazioni elevate in varie valutazioni di recupero "need-in-a-haystack". Questi considera la configurazione più basilare, in cui c'è un solo ago che stai cercando. Se potresti avere più "aghi" o informazioni specifiche che stai cercando, il modello non funziona con la stessa accuratezza. Il rendimento può variare notevolmente a seconda del contesto. È importante tenerlo presente perché esiste un compromesso intrinseco tra il recupero delle informazioni giuste e il costo. Puoi ottenere circa il 99% con una singola query, ma devi pagare il costo del token di input ogni volta che invii la query. Quindi, per 100 informazioni da recuperare, se avessi bisogno di un rendimento del 99%, avresti probabilmente dovranno inviare 100 richieste. Questo è un buon esempio di come la memorizzazione nella cache del contesto può ridurre notevolmente il costo associato all'utilizzo dei modelli Gemini mantenendo elevate le prestazioni.

Passaggi successivi