{Madi.studio}

Come funziona l'intelligenza artificiale? Indovina la parola dopo, e tutto il resto è costruito intorno

6 min di lettura
AI
Guide
Dimitri

Autore: Dimitri

Frontend developer

Un modello di linguaggio fa una cosa sola: indovina il pezzo di parola che viene dopo. Chat, ricerche e task sono programmi costruiti intorno, e capirlo cambia cosa gli chiedi.

Una macchina da scrivere scolpita in materiale bianco opaco, vista frontale al centro di un fondo chiaro e vuoto, con un foglio bianco inserito nel rullo e un solo tasto della tastiera acceso da un tenue bagliore ambra

Un modello come quello dietro ChatGPT fa una cosa sola: dato un testo, calcola quale pezzo di parola ha più probabilità di venire dopo, lo aggiunge, e ricomincia. Tutto il resto, la chat, le ricerche sul web, il codice che scrive, i task che sembra eseguire, è costruito intorno a questo meccanismo da programmi normali, spesso scritti da gente come me.

Lo dico subito perché è la cosa che spiego più spesso ai clienti quando integro un modello in un prodotto, ed è quella che cambia di più le aspettative. Non c'è una mente che capisce la richiesta e poi decide. C'è una funzione enorme che continua il testo, e un sistema attorno che prende quel testo e lo trasforma in azioni.

testo = richiesta
finché il modello non scrive il segnale di fine:
    probabilità = modello(testo)      # una probabilità per ogni token possibile
    token = scegli(probabilità)       # con un po' di caso: è la "temperatura"
    testo = testo + token

Ogni parola che leggi in una risposta è passata di lì.

Da dove viene: reti neurali vecchie, un'idea del 2017 e una quantità enorme di testo

Le reti neurali esistono da decenni: funzioni con milioni, oggi miliardi, di numeri regolabili, i parametri, che si aggiustano a forza di esempi. Per anni hanno funzionato bene sulle immagini e male sul linguaggio, perché una frase ha dipendenze a distanza: il soggetto all'inizio decide il verbo alla fine.

La svolta è un'architettura del 2017 chiamata transformer. Il meccanismo centrale si chiama attenzione: per ogni pezzo di testo, il modello calcola quanto deve guardare ciascuno degli altri pezzi. Il pronome guarda il nome a cui si riferisce, il verbo guarda il soggetto. Nessuno glielo programma: lo impara.

L'addestramento è brutale nella sua semplicità. Si prende una quantità enorme di testo, si nasconde la parola successiva, si chiede al modello di indovinarla e si correggono i parametri in base all'errore. Miliardi di volte. Alla fine, per indovinare bene la parola dopo, il modello ha dovuto imparare grammatica, fatti, stile, un po' di logica. Non perché qualcuno glieli abbia insegnati: perché servivano a sbagliare meno.

Il modello base che esce da lì completa testo e basta. Per farlo rispondere come un assistente c'è una seconda fase, molto più corta, in cui gli si mostrano esempi di domanda e risposta e si premiano le risposte che le persone preferiscono. È lì che nasce la forma chat.

La tua richiesta entra come numeri, non come parole

Quando scrivi «riassumi questa mail», il testo viene spezzato in token: frammenti di parola, a volte una parola intera, a volte una sillaba o un segno di punteggiatura. Ogni token diventa una lista di numeri, e da quel momento il modello lavora solo su numeri.

Per questo alcune cose che a noi sembrano banali per lui sono difficili. Contare le lettere di una parola, per esempio: il modello non vede le lettere, vede i token. E per questo la lunghezza di quello che gli dai ha un costo: più token in ingresso, più calcolo. Chi integra un modello paga a token, non a richiesta, ed è la prima voce che finisce nel preventivo di un progetto con l'AI dentro.

Il modello non esegue nessun task: scrive, e un programma attorno agisce

Questa è la parte che chi non sviluppa fraintende di più, e la capisco: quando un assistente cerca sul web o manda una mail sembra che lo faccia lui. Non lo fa. Il modello scrive un pezzo di testo in un formato concordato, qualcosa come «chiama la funzione cerca con la parola X», e si ferma. Il programma intorno, scritto da uno sviluppatore, legge quel testo, esegue davvero la ricerca, e rimette il risultato dentro la conversazione. Poi il modello continua a scrivere.

Si chiama tool calling, ed è il motivo per cui quando lavoro su un'integrazione passo più tempo sul codice attorno che sul modello. Decidere quali strumenti dargli, come descriverglieli, cosa fare quando chiede una cosa che non esiste, come fermarlo se gira a vuoto: quello è il lavoro. Il modello è il pezzo più intelligente del sistema, e anche il meno controllabile.

Un agente è esattamente questo ciclo ripetuto: il modello scrive, il programma esegue, il risultato torna al modello, finché il modello scrive «ho finito». Niente di magico, e molto da progettare.

Non sa niente della tua azienda finché non glielo metti davanti

Il modello ha in memoria quello che ha letto in addestramento, compresso nei parametri, e nient'altro. Dei tuoi prezzi, delle tue procedure, dei tuoi ordini non sa nulla. Caricarglieli una volta per tutte vorrebbe dire riaddestrarlo, e quasi nessuno lo fa.

Quello che si fa è metterglieli davanti ogni volta: la domanda dell'utente arriva insieme ai documenti pertinenti, pescati da un archivio con una ricerca normale, e il modello risponde leggendo quelli. Si chiama RAG, retrieval augmented generation, e nella pratica il risultato dipende più dalla qualità dell'archivio e della ricerca che dal modello. Un chatbot aziendale che risponde male di solito ha un problema di documenti, non di intelligenza.

Lo spazio in cui il modello legge, la finestra di contesto, è limitato. E quello che c'è dentro sparisce a fine conversazione: la memoria degli assistenti è un altro programma attorno che salva e rimette.

Perché sbaglia con tanta sicurezza

Perché il suo lavoro è continuare un testo in modo plausibile. Se gli chiedi la sentenza che ha deciso un certo caso, produce la continuazione più probabile di quella frase, e una citazione con numero, anno e tribunale è una continuazione molto probabile. Il modello non ha un posto dove andare a controllare se quella sentenza esiste.

Le allucinazioni non sono un difetto che prima o poi verrà sistemato: sono lo stesso meccanismo visto dal lato sbagliato. Si riducono dandogli i documenti giusti, facendogli citare da dove ha preso la risposta, mettendo un controllo a valle. Non si eliminano chiedendogli nel prompt di essere accurato.

La prima cosa che faccio quando metto in piedi un sistema così è cercare le domande fuori archivio, perché è lì che inventa con lo stesso tono con cui risponde giusto. E lì va detto, nel prompt e nel codice, di rispondere che non lo sa.

Cosa cambia quando ne compri uno dentro un prodotto

Tre cose, per chi deve decidere.

  • Il modello si affitta, non si costruisce: si paga a token a chi lo fornisce, oppure se ne usa uno aperto sui propri server. Quello che compri davvero è il sistema attorno: strumenti, archivio, controlli, interfaccia. È lì che si distingue un progetto con l'AI fatto bene da una demo.
  • Il risultato dipende dai dati che gli metti davanti. Se le procedure della tua azienda stanno nella testa di due persone, non c'è modello che le sappia.
  • Va messo dove sbagliare costa poco o dove un umano rilegge: riassumere, classificare, preparare bozze, rispondere a domande su documenti che esistono. Non dove una risposta inventata finisce in un contratto.

Secondo me a chi ti propone un progetto con l'AI conviene chiedere una cosa sola: cosa succede quando sbaglia. Chi ha una risposta a quella domanda ha capito come funziona. Chi ti parla di quanto è intelligente il modello, di solito no.

Leggi anche

Torna al blog

Hai un progetto in mente?

Prenota una call gratuita di 30 minuti: parliamo del tuo progetto, senza impegno. Lavoriamo da Modena con aziende in tutta Italia.

oppure scrivici