Come funzione ChatGPT (e non solo...)
Comprendere e superare la natura statica e senza stato dei Modelli Linguistici di Grandi Dimensioni (LLM)
Questo articolo spiega come sistemi come ChatGPT utilizzano diversi metodi e componenti per simulare una conversazione e un apprendimento continuo, sottolineando che i Large Language Models (LLM) sono strumenti linguistici, non “cervelli artificiali”.
Natura statica e senza stato degli LLM
Gli LLM, come quelli usati da ChatGPT, hanno due limitazioni principali:
Come ChatGPT simula una conversazione
ChatGPT supera queste limitazioni utilizzando un sistema che comprende:
Il processo funziona così:
Questo metodo permette di simulare una conversazione, presentando al modello l'intera cronologia ad ogni interazione, come se fosse Dory del film "Alla ricerca di Nemo" che non ricorda nulla ma può considerare tutta la storia ogni volta.
Limitazioni del processo
Superare la staticità del modello
Per affrontare il problema della conoscenza statica, vengono utilizzate diverse strategie:
Qualche esempio pratico:
Esempio di conversazione continuativa: Utente: "Qual è la capitale dell'Italia?" ChatGPT: "La capitale dell'Italia è Roma." Utente: "E quale fiume la attraversa?" ChatGPT: "Il fiume che attraversa Roma è il Tevere."
In questo esempio, ChatGPT riesce a capire che "la" si riferisce a Roma, anche se non è stata menzionata nella seconda domanda. Questo avviene perché l'intero contesto della conversazione viene inviato al modello ad ogni interazione.
Esempio di limitazione della finestra di contesto: Immaginiamo una lunga conversazione sulla storia romana che raggiunge il limite della finestra di contesto (ad esempio, 8000 token). Utente: "Torniamo all'inizio della nostra conversazione. Di cosa stavamo parlando?" ChatGPT potrebbe rispondere: "Mi dispiace, ma non ho accesso all'inizio della nostra conversazione. Potrei aver perso alcune informazioni precedenti a causa della limitazione della mia finestra di contesto. Potrebbe ripetere la domanda o il tema iniziale?"
Questo esempio mostra come il modello, nonostante sembri "ricordare" le parti recenti della conversazione, in realtà non ha accesso alle informazioni oltre la sua finestra di contesto.
Esempio di aggiornamento delle conoscenze tramite RAG: Utente: "Qual è l'attuale presidente degli Stati Uniti?" ChatGPT: "L'attuale presidente degli Stati Uniti è Joe Biden."
In questo caso, se il modello base fosse stato addestrato prima dell'elezione di Biden, la risposta corretta viene fornita grazie all'uso di Retrieval-Augmented Generation (RAG), che permette al sistema di accedere a informazioni più recenti.
Esempio di function calling: Utente: "Qual è la temperatura attuale a Roma?" ChatGPT: "Mi scusi, non ho accesso diretto alle informazioni meteorologiche in tempo reale. Tuttavia, posso cercare questa informazione per lei." [Il sistema usa function calling per interrogare un servizio meteo] ChatGPT: "Ho consultato un servizio meteo aggiornato. La temperatura attuale a Roma è di 22°C."
Questo esempio mostra come il sistema possa utilizzare function calling per ottenere informazioni in tempo reale che il modello base non possiede.
Esempio di uso di database vettoriali per la memoria a lungo termine: Utente: "Ricordi cosa ti ho detto ieri sul mio cane?" ChatGPT: "Mi dispiace, ma non ho una memoria persistente delle conversazioni passate. Tuttavia, posso accedere a informazioni salvate se sono state memorizzate nel mio database. Lasciami controllare." [Il sistema interroga un database vettoriale] ChatGPT: "Ho trovato un'informazione salvata riguardo al tuo cane. Ieri mi hai detto che il tuo cane si chiama Max ed è un labrador di 5 anni."
Questo esempio illustra come i sistemi basati su LLM possano simulare una memoria a lungo termine utilizzando database vettoriali esterni.
Applicazioni pratiche
Questi metodi non si limitano a ChatGPT, ma vengono utilizzati da sviluppatori per integrare LLM in vari sistemi per automatizzare compiti come:
Conclusione
L'uso di programmi e strumenti esterni per affrontare la natura statica e senza stato degli LLM li rende molto più potenti. Tuttavia, è importante ricordare che i modelli stessi mantengono le stesse limitazioni e rimangono collezioni statiche di dati linguistici generalizzati, capaci solo di generare nuove risposte linguistiche basate su relazioni probabilistiche tra parti del linguaggio.
Consigliati da LinkedIn