Con questo post inauguro la rubrica di YouTube digest, in cui prendo le live più interessanti che ho visto nelle scorse settimane e cerco di sintetizzare i concetti più importanti espressi nella live stessa. In questo episodio diamo uno sguardo alla live del canale di Piero Savastano dal titolo “Rifacciamo SearchGPT da zero con lo Stregatto”, in cui viene trattata la funzionalità SearchGPT, una funzionalità già implementata da ChatGPT e Perplexity.
Questa tecnica permette di cercare online contenuti inerenti il prompt utente e usarlo per arricchire la base dati dal quale il modello attinge per fornire una risposta.
Introduzione
Lo Stregatto è un progetto open source ideato da Piero Savastano. La sua intuizione è quella di voler costruire per il mondo della generative AI quello che WordPress rappresenta per il mondo degli sviluppatori web: una piattaforma che aiuti ad astrarre dal livello sottostante (librerie come LangChain) col quale costruire plugin ed applicazioni web LLM based.
La live è nasce dall’annuncio di OpenAI dell’introduzione di SearchGPT, la funzionalità che permette a chatGPT di fare ricerche sul web e utilizzare i risultati di tali ricerche all’interno del language model.
La lunga live (oltre 5 ore) è l’occasione di presentare lo Stregatto e dimostrare che con le funzionalità messe a disposizione della piattaforma è possibile ricreare le stesse funzionalità ed avere a disposizione un SearchGPT open source.
Cronologia degli Eventi Principali
Introduzione e Avvio della Discussione
- Inizio della Discussione Vai al punto sul video: Si avvia una
conversazione informale tra Piero e Luca. Piero esprime
l’intenzione di rompere gli schemi e mostrare le capacità di
sviluppo di un sistema come ChatGPT Search, menzionando anche
Perplexity come player nel settore. Si introduce l’idea di una
collaborazione e di dimostrare competenze nel campo. - Differenza tra Language Model e World Model Vai al punto sul video: Piero spiega la differenza tra un language model,
addestrato su grandi quantità di testo, e un world model,
sottolineando che il primo non ha una conoscenza del mondo reale in
tempo reale. - Ringraziamento alla Community del “Gatto” Vai al punto sul video: Piero ringrazia la community del “Gatto” per la
disponibilità dell’hardware e riconosce la competenza e
l’importanza della partecipazione di tutti. Critica
l’atteggiamento arrendevole nei confronti delle nuove tecnologie,
specialmente nell’ambito dell’IA.
Tecniche e Concetti Chiave sui Modelli di IA
- Spiegazione del Language Model “Stregatto” Vai al punto sul video: Viene spiegato il funzionamento dello Stregatto come un
language model che opera su token in un ciclo continuo per
completare il testo. - Introduzione del concetto di RAG (Retrieval Augmented
Generation) Vai al punto sul video: Si introduce la tecnica RAG come
metodo per migliorare le risposte dei language model, prendendo
spunto dall’esperienza di uno studente che cerca informazioni nelle
proprie conoscenze per rispondere a una domanda. - Discussione sull’Intelligenza dei Language Model Vai al punto sul video: Viene aperto un dibattito sull’intelligenza dei language
model e sulla loro relazione con creatività, ragionamento e verità.
Si parla dell’hype attorno al settore dell’IA e degli investimenti
finanziari. - Addestramento degli LLM e il Ruolo delle GPU Vai al punto sul video: Antonio spiega come vengono addestrati gli LLM con forza
bruta e con l’uso di GPU, sottolineando l’inefficienza
dell’utilizzo di queste ultime per tale scopo. Si ipotizza
l’avvento di hardware dedicato per l’addestramento (esic) come già
successo nel mondo del bitcoin mining. - Fine Tuning e Inferenza Vai al punto sul video: Si spiega la
differenza tra il training di un modello che avviene raramente e il
fine tuning, più frequente e il processo di inferenza ovvero l’uso
dei LLM. Si sottolinea l’inefficienza delle GPU anche per
l’inferenza.
Hardware e Ottimizzazione
- NPU (Neural Processing Unit) e Consumo Energetico Vai al punto sul video: Si parla delle NPU come alternative più efficienti delle
GPU per l’inferenza, con un significativo risparmio
energetico. - Modelli a 1 Bit e a Virgola Mobile Vai al punto sul video:
Viene introdotto il concetto di modelli a 1 bit come alternativa ai
modelli a virgola mobile, con l’obiettivo di ottimizzare
l’efficienza. - Spiegazione del Cambiamento di Fase delle Reti Neurali
Vai al punto sul video: Si discute come la scalabilità delle reti neurali
abbia portato a un cambiamento di fase nel loro comportamento.
Costruzione di un Sistema Basato su Language Model
- Componenti per Costruire un Sistema simile Vai al punto sul video: Luca descrive le principali componenti necessarie per
costruire un sistema basato su language model: speech-to-text,
database (tradizionale o vettoriale), e il modello
linguistico. - Spiegazione del Database Vettoriale Vai al punto sul video:
Nicola spiega il concetto di database vettoriale, evidenziando come
memorizza e indicizza il testo attraverso embedding. Vengono
menzionate diverse tipologie di DB vettoriali tra cui
quadrant. - Confronto tra DB Vettoriali e DB a Grafi Vai al punto sul video: Si confrontano le caratteristiche e le problematiche dei
DB vettoriali e dei DB a grafo, sottolineando che l’uno non è
necessariamente meglio dell’altro in tutti i casi.
Coinvolgimento della Community e Opportunità
- Invito a Partecipare e Costruire in Prima Persona Vai al punto sul video: Viene ribadita l’importanza di non farsi “prendere in
giro” dalle grandi aziende e di costruire questi sistemi in prima
persona, come un gioco di costruzioni (tipo LEGO), sottolineando il
potenziale di protagonismo anche nel contesto italiano. - Introduzione della Scuola “Profession AI” Vai al punto sul video: Viene menzionata la scuola “Profession AI” come esempio
di realtà che promuove il talento italiano nel settore dell’IA, con
la partecipazione di Giuseppe e lo sviluppo di progetti basati sullo
Stregatto. - Citazione sul Caso d’Uso dello Stregatto in Ambito
Formativo Vai al punto sul video: Giuseppe, proprietario di una scuola
online, descrive come ha utilizzato l’intelligenza artificiale e lo
Stregatto per migliorare l’esperienza formativa degli studenti,
evidenziando la sperimentazione di diversi approcci.
Coding Live e Sviluppo di Plugin (SearchGPT)
- Inizio del Coding Live Vai al punto sul video: Piero annuncia
l’inizio della sessione di coding live, con l’obiettivo di creare
un setup minimale del gatto con un plugin personalizzato, con la
creazione di un docker. - Spiegazione e installazione dello Stregatto Vai al punto sul video: Piero introduce e installa lo Stregatto, evidenziando la
sua natura di web server e spiegando i suoi endpoint. - Introduzione ai Plugin dello Stregatto Vai al punto sul video: Viene spiegata la struttura dei plugin e il loro
utilizzo come framework per costruire con il linguaggio
naturale. - Modifica del Plugin per l’Output di Risposta Vai al punto sul video: Il plugin viene modificato per sovrascrivere
completamente la risposta del gatto, dimostrando la possibilità di
personalizzare il comportamento del sistema. - Accesso alla Memoria e al Language Model Vai al punto sul video: Vengono spiegate le modalità di accesso alla memoria e
al language model tramite il plugin. - Test del Plugin Modificato Vai al punto sul video: Il
plugin modificato viene testato, dimostrando la sua capacità di
aggiungere una risposta personalizzata a quella originale del
language model.
Nuovi Ospiti e Integrazioni
- Arrivo di Nuovi Ospiti: Andrea e Silvio Vai al punto sul video: Luca e Piero introducono Andrea, autore del primo plugin
ufficiale per lo Stregatto, e Silvio, un personaggio molto noto
nella community italiana. - Integrazione dell’API di ricerca Google Vai al punto sul video: Piero inizia a integrare l’API di ricerca Google
all’interno del plugin. - Discussione su Come Migliorare il Sistema Vai al punto sul video: I partecipanti, Luca, Andrea, Massimo, Marco, Emanuele
discutono come migliorare il sistema, introducendo il tema della
citazione delle fonti e della gestione del contesto.
Opportunità di Business nell’IA
- Intervento di Emiliano sull’Impresa nel Mondo dell’IA
Vai al punto sul video: Emiliano discute sulle opportunità di
business nel mondo dell’IA, sottolineando l’importanza della
verticalizzazione e dell’innovazione per non essere sopraffatti dai
grandi player. - Verticalizzazione dei Tool di IA e Economia dei Dati
Vai al punto sul video: Massimo approfondisce la questione della
verticalizzazione degli strumenti di IA e di dove i dati vengono
reperiti, sottolineando l’importanza di un approccio critico e
consapevole nell’utilizzo di dati spesso non pubblici. - Microsoft Azure e il Vendor Lock-In Vai al punto sul video:
Si discute l’attrattiva di servizi come Microsoft Azure, ma si
mette in guardia dal rischio di vendor lock-in. - Strumenti Generalisti vs Soluzioni Verticali Vai al punto sul video: Viene evidenziata la differenza tra strumenti
generalisti come ChatGPT e la necessità di soluzioni verticali per
casi specifici.
Sviluppo e Test del Nuovo Plugin SearchGPT
- Importanza dell’Interfaccia Utente Vai al punto sul video:
Si sottolinea che l’interfaccia utente è fondamentale per
l’utilizzo degli strumenti di intelligenza artificiale. - Spiegazione del codice e recupero dei risultati della
query Vai al punto sul video: Piero spiega nel dettaglio il codice
che consente di effettuare una query al motore di ricerca e
recuperare i risultati e il testo da essi ricavato. - Integrazione delle Fonti Nel Prompt Vai al punto sul video:
Piero integra le fonti ricavate dal motore di ricerca nel prompt del
language model. - Discussione sulla Qualità della Risposta Vai al punto sul video: I partecipanti discutono dei problemi di risposta del
language model. - Correzione e Test del Nuovo Plugin Vai al punto sul video:
Piero corregge i problemi nel codice e testa il plugin con il nuovo
prompt, con la partecipazione di Carina.
Discussioni Finali e Conclusioni
- Discussione su un Uso Ansiogeno del Sistema Vai al punto sul video: Viene introdotta l’idea di un utilizzo “ansiogeno”
del sistema, in cui la risposta del sistema viene fornita con un
tono un po’ preoccupante e ansioso. - Dibattito sulla Apertura di un’Agenzia di IA Vai al punto sul video: Si discute sulla fattibilità e sulla sostenibilità
economica dell’apertura di una agenzia di IA. - Analisi dell’Utilizzo della IA in Contesti Specifici
Vai al punto sul video: Si discutono vari casi d’uso concreti per
questi sistemi, tra cui il customer support e l’integrazione di
knowledge base specifiche. - Verticalizzazione, il futuro Vai al punto sul video: Viene
sottolineata l’importanza della verticalizzazione e della
customizzazione come strada per non essere spazzati via dai grandi
player e raggiungere contesti specifici.
Chi è intervenuto nella live
- Piero Savastano: È l’organizzatore e principale relatore. Guida
la discussione, spiega i concetti tecnici e programma il plugin in
diretta. Appassionato di tecnologia, con un approccio pratico e
orientato all’azione, promuove la costruzione di soluzioni IA
“fatte in casa” e l’importanza della community. - Luca: Collaboratore di Piero, contribuisce alla
discussione con punti di vista tecnici e funzionali, ponendo domande
pertinenti e fornendo supporto pratico. - Nicola: Esperto di database vettoriali e di tecniche
RAG. Apporta una conoscenza approfondita su questi temi, spiegando i
concetti chiave e le implicazioni pratiche. - Antonio: Esperto di elettronica ed hardware, fornisce
una prospettiva sul funzionamento delle reti neurali,
sull’efficienza delle GPU e sulle possibili evoluzioni nel campo
dell’hardware dedicato. - Giuseppe: Esperto di programmazione web e educazione
online, descrive come utilizza l’IA e lo Stregatto nei suoi corsi,
fornendo un esempio concreto di applicazione pratica. - Emiliano: Imprenditore e divulgatore, condivide una
visione orientata al business e alle opportunità di mercato nel
settore dell’IA, sottolineando l’importanza della
verticalizzazione. - Massimo: Appassionato di intelligenza artificiale e
divulgatore, fornisce spunti di riflessione sulle implicazioni
economiche e sulla gestione dei dati nel settore. - Marco: Partecipante attivo alla discussione, apporta
punti di vista tecnici e funzionali, offrendo idee per migliorare il
sistema e sottolineando il ruolo della community. - Andrea: Autore del primo plugin ufficiale per lo
Stregatto, apporta un contributo tecnico e pratico
all’iniziativa. - Silvio: Personaggio noto nella community, si unisce alla
sessione fornendo un contributo dinamico e leggero. - Carina: Partecipante che segue la discussione con
entusiasmo, anche se non direttamente coinvolta nello sviluppo,
apporta una prospettiva diversa e stimolante. - Elvis: Utente che partecipa alla discussione, portando
una prospettiva più pratica e meno tecnica focalizzata sugli use
case. - Filippo: Utente che pone una domanda a Piero e
contribuisce alla discussione. - Samuele: Utente che partecipa alla discussione con
spunti e suggerimenti tecnici, evidenziando la sua conoscenza del
progetto.