La tua guida definitiva alle abbreviazioni Chat GPT e altre.

Your ultimate guide to Chat GPT and other abbreviations.

Sembra che tutti siano impazziti per ChatGPT, diventato un fenomeno culturale. Se non sei ancora a bordo del treno ChatGPT, questo articolo potrebbe aiutarti a capire meglio il contesto e l’eccitazione intorno a questa innovazione.

Cosa significano tutte queste abbreviazioni – ML, AI, AGI?

ML (machine learning) è un approccio alla risoluzione di problemi computazionali difficili: invece di codificare usando un linguaggio di programmazione, si costruisce un algoritmo che “impara” la soluzione dai campioni di dati.

AI (intelligenza artificiale) è un campo della scienza informatica che si occupa di problemi (ad esempio, la classificazione delle immagini, il lavoro con il linguaggio umano) che sono difficili da risolvere usando la programmazione tradizionale. ML e AI vanno di pari passo, con ML che è uno strumento per risolvere i problemi formulati in AI.

AGI (intelligenza artificiale generale) – è il termine corretto per ciò che la cultura popolare solitamente intende per AI – la capacità dei computer di raggiungere capacità intellettuali simili a quelle umane e di ragionamento ampio. È ancora il Santo Graal per i ricercatori che lavorano nel campo dell’AI.

Cos’è una rete neurale?

Una rete neurale artificiale (ANN) è una classe di algoritmi di ML e di strutture dati (o modelli in breve) così chiamati perché sono stati ispirati dalla struttura del tessuto neurale biologico. Ma questo non riproduce completamente tutti i meccanismi biologici ad esso alla base. Piuttosto, le ANN sono funzioni matematiche complesse che si basano su idee della biologia delle specie viventi.

Quando leggo “il modello ha 2 miliardi di parametri” cosa significa?

Le reti neurali sono strutture stratificate composte da unità uniformi interconnesse tra loro in una rete. Il modo in cui queste unità sono interconnesse è chiamato architettura. Ogni connessione ha un numero associato chiamato peso e i pesi memorizzano le informazioni che il modello apprende dai dati. Quindi, quando si legge “il modello ha 2 miliardi di parametri”, significa che ci sono 2 miliardi di connessioni (e pesi) nel modello, e indica approssimativamente la capacità informativa della rete neurale.

Cosa significa Deep Learning?

Le reti neurali sono state studiate sin dagli anni ’80 ma hanno avuto un vero impatto quando l’industria dei giochi per computer ha introdotto a buon mercato supercomputer personali noti come unità di elaborazione grafica (GPU). I ricercatori hanno adattato questo hardware per il processo di formazione della rete neurale e hanno ottenuto risultati impressionanti. Una delle prime architetture di deep learning, la rete neurale convoluzionale (CNN), è stata in grado di effettuare una sofisticata riconoscimento delle immagini che era difficile con gli algoritmi classici di visione artificiale. Da allora, ML con reti neurali è stato rinominato come deep learning, con “deep” che si riferisce alle complesse architetture NN che le reti sono in grado di esplorare.

Dove posso trovare maggiori dettagli su come funziona questa tecnologia?

Consiglio i video di Grant Sanderson disponibili sul suo canale di matematica animata.

Cosa significa il Large Language Model?

Per lavorare con il linguaggio umano utilizzando i computer, il linguaggio deve essere definito matematicamente. Questo approccio dovrebbe essere sufficientemente generico da includere le peculiarità di ogni lingua. Nel 2003 i ricercatori hanno scoperto come rappresentare il linguaggio con le reti neurali e lo hanno chiamato il modello di lingua neurale probabilistico o LM in breve. Questo funziona come il testo predittivo su un telefono cellulare – dato un certo sequenza di parole (o token), il modello può prevedere le possibili parole successive con le rispettive probabilità. Continuando questo processo utilizzando le parole precedentemente generate come input (questo è l’autoregressione) – il modello può generare testo nella lingua per cui è stato addestrato.

Quando leggo sui modelli di lingua, incontro spesso il termine “transformer”. Che cos’è?

Rappresentare sequenze di elementi era un problema difficile per le reti neurali. Ci sono stati diversi tentativi per risolvere il problema (principalmente intorno a variazioni di reti neurali ricorrenti), che hanno prodotto alcune idee importanti (ad esempio, l’embedding delle parole, l’architettura codificatore-decodificatore e il meccanismo di attenzione). Nel 2017 un gruppo di ricercatori di Google ha proposto una nuova architettura NN che hanno chiamato un transformer. Ha combinato tutte queste idee con una implementazione pratica efficace. È stato progettato per risolvere il problema della traduzione del linguaggio (da qui il nome), ma si è dimostrato efficiente per catturare le proprietà statistiche di qualsiasi sequenza di dati.

Perché tutti parlano di OpenAI?

OpenAI ha sperimentato i transformer per costruire un modello neurale di linguaggio probabilistico. I risultati dei loro esperimenti sono chiamati modelli GPT (generative pre-trained transformer). Pre-trained significa che stavano addestrando la rete neurale trasformatore su un grande corpus di testi estratti da Internet e poi prendendo la sua parte di decodifica per la rappresentazione del linguaggio e la generazione di testo. Ci sono state diverse generazioni di GPT:

  • GPT-1: un modello sperimentale iniziale per convalidare l’approccio
  • GPT-2: ha dimostrato la capacità di generare testi in linguaggio umano coerenti e il learning zero-shot – la capacità di generalizzare a domini per i quali non è mai stato specificamente addestrato (ad esempio, la traduzione linguistica e la sintesi del testo, per citarne alcuni)
  • GPT-3 è stata una scalatura dell’architettura (1,5 miliardi di parametri del GPT-2 contro i 175 miliardi del più grande GPT-3) ed è stata addestrata su un corpo di testo più grande e vario. La sua caratteristica più importante è la capacità di produrre testi in una vasta gamma di domini vedendo solo pochi esempi nella prompt (da qui il termine few short learning) senza alcun sintonizzazione fine o pre-addestramento.
  • GPT-4: un modello ancora più grande (le caratteristiche esatte non sono divulgate), set di dati di addestramento più grandi e multimodalità (il testo è aumentato con dati immagine).

Dato il numero enorme di parametri che i modelli GPT hanno (infatti, sono necessari un enorme cluster di elaborazione con centinaia o migliaia di GPU per addestrare e servire questi modelli), sono stati chiamati Large Language Models (LLM).

Qual è la differenza tra GPT-3 e ChatGPT

Il GPT-3 originale è ancora un motore di previsione delle parole e quindi è principalmente di interesse per i ricercatori di intelligenza artificiale e i linguisti computazionali. Dato un certo seme iniziale o prompt, può generare testo all’infinito, il che ha poco senso pratico. Il team di OpenAI ha continuato a sperimentare con il modello, cercando di sintonizzarlo per trattare i prompt come istruzioni da eseguire. Hanno alimentato un grande set di dati di dialoghi curati dall’uomo e hanno inventato un nuovo approccio (RLHF – reinforcement learning from human feedback) per accelerare significativamente questo processo con un altro network neurale come agente di convalida (tipico nella ricerca di intelligenza artificiale). Hanno rilasciato un modello chiamato InstructGPT come MVP basato su una versione più piccola di GPT-3 e a novembre 2022 hanno rilasciato una versione completa chiamata ChatGPT. Con il suo semplice chatbot e l’interfaccia utente web, ha cambiato il mondo IT.

Qual è il problema dell’allineamento del modello linguistico?

Dato che i LLM sono solo sofisticate macchine statistiche, il processo di generazione potrebbe andare in una direzione inaspettata e spiacevole. Questo tipo di risultato viene talvolta chiamato allucinazione dell’IA, ma dal punto di vista algoritmico è comunque valido, sebbene inaspettato, dagli utenti umani.

I LLM grezzi richiedono un trattamento e ulteriori sintonizzazioni con convalidatori umani e RLHF, come già menzionato. Questo è per allineare i LLM con le aspettative umane e, non sorprendentemente, il processo stesso viene chiamato allineamento. Si tratta di una procedura lunga e tediosa con un notevole lavoro umano coinvolto; questo potrebbe essere considerato un controllo di qualità LLM. L’allineamento dei modelli è ciò che distingue OpenAI/Microsoft ChatGPT e GPT-4 dai loro equivalenti open source.

Perché c’è un movimento per fermare lo sviluppo futuro dei modelli linguistici?

Le reti neurali sono scatole nere (un enorme array di numeri con qualche struttura in cima). Ci sono alcuni metodi per esplorare e debuggare le loro parti interne, ma le eccezionali qualità di generalizzazione dei GPT rimangono inspiegate. Questo è il motivo principale del movimento di divieto – alcuni ricercatori pensano che stiamo giocando con il fuoco (la fantascienza ci offre scenari affascinanti di nascita di AGI e singolarità tecnologica) prima di ottenere una migliore comprensione dei processi alla base dei LLM.

Quali sono i casi d’uso pratici dei LLM?

I più popolari includono:

  • Sommario di grandi testi
  • Viceversa – generazione di testo dal sommario
  • Stile del testo (imitando un autore o un personaggio)
  • Usarlo come tutor personale
  • Risoluzione di esercizi matematici/scientifici
  • Risposta a domande sul testo
  • Generazione di codice di programmazione da brevi descrizioni

Gli GPT sono gli unici LLM disponibili adesso?

Gli GPT sono i modelli più maturi con accesso API fornito da OpenAI e dai servizi Microsoft Azure OpenAI (se si necessita di una sottoscrizione privata). Ma questa è la frontiera dell’IA e molte cose interessanti sono successe dall’uscita di ChatGPT. Google ha costruito il suo modello PaLM-2; Meta ha open-sourced i propri modelli LLaMA per i ricercatori, il che ha stimolato molti aggiustamenti e miglioramenti (ad esempio, Alpaca di Stanford) e l’ottimizzazione (ora è possibile eseguire LLM sul proprio laptop e persino smartphone).

Huggingface fornisce BLOOM e StarCoder e HuggingChat – che sono completamente open source, senza la limitazione solo per la ricerca LLaMA. Databricks ha addestrato il proprio modello Dolly completamente open source. Lmsys.org sta offrendo il proprio Vicuna LLM. Il team di ricerca sull’apprendimento profondo di Nvidia sta sviluppando il proprio modello Megatron-LM. L’iniziativa GPT4All merita anche di essere menzionata.

Tuttavia, tutte queste alternative open source sono ancora dietro alle maggiori tecnologie di OpenAI (soprattutto dal punto di vista dell’allineamento), ma il divario si sta rapidamente riducendo.

Come posso utilizzare questa tecnologia?

Il modo più semplice è utilizzare il servizio pubblico di OpenAI o il loro playground API di piattaforma, che offre un accesso a un livello inferiore ai modelli e un maggiore controllo sulle funzioni interne della rete (specificare il contesto del sistema, regolare i parametri di generazione, ecc.). Tuttavia, è necessario esaminare attentamente i loro accordi di servizio poiché utilizzano le interazioni dell’utente per ulteriori miglioramenti e addestramento del modello. In alternativa, è possibile scegliere i servizi Microsoft Azure OpenAI, che forniscono la stessa API e gli stessi strumenti ma con istanze di modello private.

Se sei più avventuroso, puoi provare i modelli LLM ospitati da HuggingFace, ma dovrai essere più esperto in Python e strumenti di data science. Denis Shipilov è un architetto di soluzioni esperto con una vasta gamma di competenze dalla progettazione di sistemi distribuiti ai progetti correlati a BigData e Data Science.