LLM (ChatGPT, Gemini, Mistral…..) sono arrivati alla massima espansione? cosa ci sarà dopo? Diamo uno sguardo ai nuovi modelli LCM!!

 

I Large Language Model (LLM) attualmente presentano diversi problemi e limitazioni, nonostante i loro successi.
Questi problemi possono essere raggruppati in alcune aree principali, come evidenziato nelle fonti:

  • Necessità di grandi quantità di dati: Gli LLM richiedono enormi quantità di dati per l’addestramento, e la disponibilità di tali dati sta diventando un problema. Si sta persino ricorrendo a modelli che generano dati sintetici da utilizzare per addestrare altri modelli. Questo perché si ritiene che tutti i dati testuali digitalizzabili siano già stati utilizzati per addestrare gli LLM.
  • Alto consumo energetico: Gli LLM sono estremamente energivori e richiedono una grande quantità di potenza computazionale. Questo problema sta diventando così rilevante da spingere a considerare la costruzione di centrali nucleari accanto ai data center per alimentare i calcoli necessari.
  • Difficoltà di scalabilità: La dipendenza dagli LLM da grandi quantità di dati e la loro intensità di calcolo rendono difficile la scalabilità. Non è chiaro come gli LLM possano essere migliorati ulteriormente, dato che l’approccio attuale di aggiungere semplicemente più dati e più potenza computazionale sembra aver raggiunto un limite.
  • Mancanza di ragionamento esplicito e pianificazione: Gli LLM mancano della capacità di ragionare esplicitamente e pianificare a livelli multipli di astrazione, una caratteristica cruciale dell’intelligenza umana. Non operano ad un livello di astrazione superiore, ma a livello di token, senza una reale comprensione dei concetti sottostanti. Il cervello umano, invece, pianifica a livello di concetti, prima di esprimere le idee a parole o in altri formati. Questa differenza porta a output che possono mancare di coerenza e di una reale comprensione del significato.
  • Approccio sequenziale token per token: Gli LLM elaborano il linguaggio token per token, il che può risultare inefficiente e computazionalmente costoso, soprattutto per testi lunghi. Questo approccio richiede di riconsiderare ogni token precedente ogni volta che si genera un nuovo token. L’elaborazione è sequenziale e non permette di operare a livello di concetti, rendendo difficile la gestione di contesti lunghi e output di lunga durata.
  • Difficoltà nella generazione di output coerenti di lunga durata: A causa della loro natura sequenziale e della mancanza di una comprensione semantica profonda, gli LLM possono avere difficoltà a generare testi lunghi e coerenti. Si nota che, pur imparando implicitamente rappresentazioni gerarchiche, i modelli con architetture esplicite sono più adatti a creare output coerenti di lunga durata.
  • Limitazioni nella comprensione interlinguistica: Gli LLM, sebbene spesso addestrati su testi multilingue, tendono ad essere centrati sull’inglese. Ciò significa che potrebbero non avere una comprensione ugualmente profonda di altre lingue.
  • Difficoltà con l’astrazione: Gli LLM non riescono a raggiungere lo stesso livello di astrazione del cervello umano. Essi operano manipolando simboli (token), senza una vera comprensione del concetto dietro i simboli.
  • Modelli basati su decoder e Transformer: Molti LLM sono basati su decoder e Transformer. Nonostante il successo di questi modelli, si pone l’accento sul fatto che tutti seguono la stessa architettura sottostante, con poche variazioni che riguardano ottimizzazioni e grandezza dei parametri, ma non nell’approccio generale.

In sintesi, gli LLM presentano sfide significative legate alla necessità di grandi quantità di dati, al consumo energetico, alla scalabilità, alla mancanza di ragionamento esplicito e alla loro natura di operare a livello di token.

Queste limitazioni aprono la strada alla ricerca di nuove architetture e approcci, come i Large Concept Model (LCM), che cercano di superare queste sfide.

 

Un Large Concept Model (LCM) è un nuovo tipo di architettura per modelli di linguaggio che si differenzia dai Large Language Model (LLM) tradizionali.
 Invece di operare a livello di token, un LCM opera a un livello semantico superiore, utilizzando concetti come unità di base.
Questo significa che, anziché elaborare le parole singolarmente o in sequenza, un LCM elabora intere frasi o segmenti di discorso come concetti.
Ecco alcuni punti chiave che definiscono un LCM, secondo le fonti:
● Ragionamento a livello concettuale: Un LCM non si concentra sulla manipolazione di token, ma sull’elaborazione del significato sottostante, operando a un livello di astrazione più elevato. Un concetto è rappresentato da una frase codificata come un embedding.
Indipendenza dalla lingua e dalla modalità: L’elaborazione dei concetti avviene in modo indipendente dalla lingua o dalla modalità di input. Questo permette a un LCM di essere addestrato su tutte le lingue e modalità contemporaneamente. Il ragionamento avviene su concetti che sono astratti e indipendenti dalla modalità con cui vengono espressi.
Struttura gerarchica esplicita: Gli LCM sono progettati per una migliore leggibilità di output di lunga durata e facilitano le modifiche interattive da parte dell’utente.
Gestione di contesti lunghi: Gli LCM sono più efficienti nella gestione di contesti lunghi e output di lunga durata rispetto ai LLM. Gli LCM operano su sequenze di concetti che sono più corte rispetto alle sequenze di token utilizzate dai LLM.
Utilizzo di SONAR: Molti LCM si basano su uno spazio di embedding di frasi chiamato SONAR per codificare e decodificare i concetti. SONAR è un modello di embedding di frasi che supporta input e output in 200 lingue, input vocale in 76 lingue e output vocale in inglese.
Architetture basate sulla diffusione: Alcuni LCM utilizzano architetture basate sulla diffusione, come One-Tower e Two-Tower LCM, per generare i concetti.
Queste architetture prevedono un processo di denoising, dove si parte da un embedding “rumoroso” per arrivare a quello originale.
Quantizzazione dei concetti: Esistono anche LCM che utilizzano la quantizzazione dei concetti per operare su unità discrete, simile a token ma più astratte.
In sintesi, un LCM è un modello che opera su concetti astratti e non su token, permettendo una maggiore astrazione, generalizzazione e capacità di gestire contesti lunghi, ed è potenzialmente meno energivoro e più efficiente computazionalmente rispetto a un LLM.

Meta ha prodotto  il primo paper e codice open su github (GitHub – facebookresearch/large_concept_model: Large Concept Models: Language modeling in a sentence representation space) in cui si vede  che a parità del numero di parametri di addestramento si hanno risultati migliori con minor dispendio di calcolo (e quindi di energia), nativamente multilanguage e multimodale
Ecco una spiegazione sintetica delle differenze tra LLM (Large Language Models), LCM (Large Contextual Models) e CAN (Creative Adversarial Networks):


1. Large Language Models (LLM)

  • Definizione: Modelli di intelligenza artificiale addestrati su enormi quantità di dati testuali per comprendere, generare e manipolare il linguaggio naturale.
  • Caratteristiche principali:
    • Sono ottimizzati per il linguaggio (scrittura, traduzione, generazione di testo coerente).
    • Utilizzano il contesto circostante nelle frasi per produrre risultati rilevanti.
    • Applicazioni: Chatbot, assistenti virtuali, analisi sentimentale, traduzione automatica.
  • Esempi: GPT (di OpenAI), BERT, T5.
  • Limiti: Non sono progettati per comprendere a fondo contesti complessi o per un ragionamento su scala globale oltre il contesto immediato.

2. Large Contextual Models (LCM)

  • Definizione: Modelli che mettono enfasi su un ragionamento più contestuale e globale, prendendo in considerazione molteplici fattori esterni rispetto al semplice linguaggio.
  • Caratteristiche principali:
    • Ottimizzati per prendere decisioni basate su contesti multilivello, ad esempio integrando testo, immagini, audio, o relazioni logiche avanzate.
    • Ideali per compiti che richiedono una comprensione “del mondo reale”.
    • Applicazioni: Sistemi di raccomandazione avanzati, modellazione predittiva complessa, pianificazione strategica.
  • Esempi: Modelli combinati per riconoscimento multimodale come CLIP, GPT-4 Vision.

3. Creative Adversarial Networks (CAN)

  • Definizione: Variante delle reti neurali generative avversarie (GAN – Generative Adversarial Networks) progettate per creare arte o design “creativi” e innovativi.
  • Caratteristiche principali:
    • Usano due reti (generatore e discriminatore): il generatore produce contenuti, e il discriminatore valuta se i contenuti sono sufficientemente “creativi”.
    • Diverse dalle GAN standard: incoraggiano il generatore a uscire dal dominio degli stili pre-addestrati e a creare nuove varianti estetiche.
    • Applicazioni: Generazione di opere d’arte digitali, musica, design innovativi.
  • Esempi: Sistemi sviluppati per produrre arte astratta o contenuti audiovisivi basati su creatività algoritmica.

Sintesi delle differenze LLM/LCM/CAN

Modello Focus principale Ambito d’uso Punto di forza
LLM Linguaggio naturale Generazione e comprensione testo Gestione di enormi quantità di dati testuali
LCM Contesto e ragionamento globale Decisioni complesse, sistemi multimodali Considerazione multilivello del contesto
CAN Creatività generativa Arte, design, innovazione Produzione di contenuti creativi e unici

 

Ovviamente  essendo LCM Meta  un primo rilascio avrà ampio margine di miglioramento, ove gli LLM attualmente sono già al limite (dati di addestramento non più disponibili, potenza di calcolo elevata etc).

F.P.

Un test con la versione sperimentale di una IA sulle problematiche etiche: una automobile a guida autonoma si comporterebbe come un umano?

Stiamo utilizzando  AI  per problematiche IT   con buoni risultati sia per la programmazione (software) che per il debug ma anche per gli studi di fattibilità, perchè di fatto anche se non risolve il problema, riesce a velocizzare di molto il  processo creativo e di test e permette di intervenire e correggere o meglio raggiungere  il nostro obiettivo (che abbiamo descritto con il classico prompt che viene inserito nella AI).
Quindi  chiacchierando con un amico che aveva appena acquistato una Tesla sulla opportunità di attivare in futuro la guida autonoma, ho fatto  un piccolo test con una AI attualmente più evoluta (2.0 sperimental, che implementa la tecnica del ragionamento), e vi riporto il testo della chat.

Prompt:
sei davanti ad una scelta importante mentre stai guidando una automobile: un bambino esce davanti alla auto che stai guidando correndo da destra inseguendo una palla, se sterzi a sinistra investirai un gruppo di anziani fermo sulla sinistra. Che fai?

Risposta.

Mi trovo di fronte a un dilemma tragico, una situazione in cui qualsiasi decisione causerà danni e potenzialmente la perdita di vite umane. Non esiste una “soluzione” giusta, solo una scelta che minimizza i danni nel minor tempo possibile. Ecco come cercherei di analizzare e affrontare la situazione, tenendo presente che in frazioni di secondo la realtà potrebbe presentare ulteriori variabili:

  1. Frenata di emergenza: La prima e più immediata reazione deve essere una frenata di emergenza, premendo il pedale del freno con tutta la forza possibile e attivando l’ABS (se presente). Questo tentativo mira a ridurre al massimo la velocità dell’auto, sperando di fermarsi in tempo o di ridurre l’impatto.

  2. Valutazione rapida delle distanze e delle velocità: Contemporaneamente alla frenata, cercherei di valutare la distanza tra la mia auto, il bambino e il gruppo di anziani, oltre alla velocità relativa di tutti gli elementi. Questa valutazione, per quanto rapida e imprecisa possa essere in una situazione di emergenza, è cruciale per la decisione successiva.

  3. Sterzata (se inevitabile): Se la frenata non è sufficiente a evitare l’impatto, la sterzata diventa inevitabile. Qui si presenta il dilemma morale:

    • Sterzare a sinistra (verso gli anziani): Questa opzione comporterebbe un impatto con un gruppo di persone presumibilmente più fragili di un bambino. Le conseguenze sarebbero potenzialmente devastanti, con un alto rischio di lesioni gravi o mortali.
    • Sterzare a destra (verso il bambino): Questa opzione, purtroppo, comporterebbe l’investimento del bambino. La speranza, in questo caso, è che la velocità ridotta dalla frenata e un’eventuale manovra di evitamento successiva (ad esempio, sterzare leggermente a destra dopo l’impatto per evitare di passare completamente sopra il bambino) possano minimizzare le conseguenze.
  4. Considerazioni aggiuntive:

    • Presenza di altre vie di fuga: Cercherei disperatamente altre vie di fuga, come un marciapiede, un’area verde o uno spazio tra gli ostacoli, anche a costo di danneggiare il veicolo.
    • Suono del clacson: Suonare il clacson potrebbe, in alcuni casi, allertare il bambino o gli anziani, dando loro una frazione di secondo per reagire.

La scelta più probabile, in una situazione del genere, sarebbe quella di cercare di minimizzare il danno scegliendo l’ostacolo “singolo” (il bambino) rispetto al gruppo, con l’obiettivo di ridurre al massimo la velocità prima dell’impatto e di effettuare manovre di emergenza per limitare le conseguenze.

È importante sottolineare che questa è una risposta teorica a una situazione di emergenza. In una situazione reale, la reazione sarebbe influenzata da innumerevoli fattori, tra cui lo stress, il panico, le capacità di guida del singolo e le condizioni specifiche del contesto.

Prevenzione:

La migliore risposta a questa domanda è la prevenzione. Guidare con prudenza, rispettare i limiti di velocità, prestare sempre la massima attenzione alla strada e alle possibili situazioni di pericolo (soprattutto in zone residenziali, vicino a scuole o parchi) sono fondamentali per evitare di trovarsi in situazioni del genere.

Spero che questa risposta sia utile, anche se affrontare un simile dilemma è estremamente complesso e doloroso.

Considerazioni
Il tempo che ha impiegato a generare la risposta è stato breve compatibile con una situazione di emergenza.
Un umano non avrebbe fatto in tempo a fare tutti quei ragionamenti e probabilmente avrebbe agito d’istinto (suonando, frenando etc) e sarebbe stato  poco lucido (il bambino assomiglia a suo figlio?, l’anziano assomiglia ad un suo genitore?) ed imparziale.
La AI avrebbe avuto sotto controllo e soprattutto misurandoli la velocità, distanza e avrebbe potuto fare valutazioni e previsioni più precise (quanto sterzare, etc) in base anche alla evoluzione  della situazione e probabilmente non arrivare ad una situazione così critica.

Alla fine abbiamo convenuto che la auto  con guida autonoma avrebbe avuto migliori chance di fare meno danni e causare tragedie
E voi che ne pensate? Vi fidereste ad adottare  la guida autonoma?
FP