Generative AI models learn the patterns and structure of their input training data and then generate new data that has similar characteristics. This similarity is probability-based.
A livello filosofico, i computer sono macchine che manipolano simboli di cui non comprendono il significato.
Le intelligenze generative (GenAI) sono un tipo particolare di specializzazione all’interno della ricerca legata al machine learning che fa vacilillare questa definizione.
Le GenAI sono dei sistemi predittivi che dato un input (prompt) di lunghezza variabile, emettono un output che e’ la continuazione piu’ probabile di tale input.
Tale probabilita’ e’ basata su una serie di testi con cui il sistema e’ stato allenato (Training). Piu’ questo insieme e’ vasto, piu’ la risposta dovrebbe esser pertinente (perche’ l’originalita’ si sa, e’ una delle cose piu’ difficili da ottenere).
L’aspetto che ha reso dirompente questo sistema e’ che le GenAi sono in grado di dare risposte verosimili anche a risposte che non si trovano dei testi iniziali; le GenAi pur in modo meccanico sembrano comprendere le relazioni concettuali tra le parole della domanda.
Sembrano addirittura comprendere la semantica della domanda.
Ogni tanto invece rispondono in modo poco coerente, e in tal caso si dice sono ‘allucinate’; ovviamente il primo uso degli utenti e’ stato pubblicare prese in giro eclatanti e potenzialmente foriere di cause legali milionarie…
Infine questi sistemi al momento hanno una fienstra di attenzione limitata, per cui possono prendere in considerazione solo input di dimensione massima finita.
Come funzionano? Chi lo sa!
Lo studio delle GenAI ha una sua pietra miliare nel paper del 2017 “Attention Is All You Need” che introduce il concetto di “Transformer”. Di seguito descriveremo ChatGPT2, che benché sia un modello relativamente piccolo già mostra una certa intelligenza.
Il funzionamento di questi sistemi e’ abbastanza complesso, ed e’ basato su 4 fasi:
Codifica del prompt di input (toketization)
In pratica il prompt viene codificato in una serie di token che sono gli stessi che sono stati generati durante la fase di “traning”. Questi token possono anche spezzare una parola a meta’, includere degli spazi, virgole ecc.
ChatGPT2 usa un dizionario di 50257 token, chiamati ‘code points’.Proiezione (embedding) su uno spazio vettoriale piu’ grande
Questa fase codifica l’input in una matrice che tenga conto sia della posizione che del contesto di chiamata.
ChatGPT2 per dare un’idea, ha un contesto di 1024 caratteri e 768 valori possibili.Una fase chiamata Multi-head Attention in cui l’input viene processato da una serie di matrici Q,K,V chiamate Query, Key e Value.
Tali matrici sono state calcolate durante la fase di trainingDopo essere state applicate (moltiplicate) all’input, il risultato e’ inviato ad una rete neurale a due livelli (Perceptron, quarta fase).
Dopo ogni fase, l’output viene processato nuovamente da un altro set di queste tre matrici, e ridato in pasto alla rete neurale. Il tutto per 12 volte

La spiegazione piu’ semplice della fase di attenzione che ho trovato e’ questa
The Query word can be interpreted as the word for which we are calculating Attention. The Key and Value word is the word to which we are paying attention ie. how relevant is that word to the Query word.
[…]
The dot product between the Query and Key computes the relevance between each pair of words. This relevance is then used as a “factor” to compute a weighted sum of all the Value words. That weighted sum is output as the Attention Score.
The Transformer learns embeddings etc, in such a way that words that are relevant to one another are more aligned.
(da Transformers Explained Visually by Ketan Doshi | Towards Data Science)
In soldoni questi pesi riescono a creare una correlazione forte tra termini anche distanti tra loro, e danno molta piu’ flessibilita’ al modello.
Il paper del 2017 suggeriva di effettuare un fine-tuning ulteriore del modello ottenuto; progredendo nello studio si e’ scoperto pero’ che se il modello e’ addestrato con input vasti e disparati, non e’ necessario alcun fine tuning ed e’ in grado di rispondere a qualsiasi domanda…basta chiedere!
Al momento ci sono articoli che spiegano come replicare ChatGPT 2 con un gigantesco spreadsheet o un database SQL.
Per dare un’idea di quanti parametri abbiano questi modelli, riportiamo sotto uno specchietto riassuntivo.
Dimensione dei modelli (fonte: Wikipedia)
Approfondimenti
Spreadsheets are all you need.ai – A low-code way to learn AI (spreadsheets-are-all-you-need.ai)