Basi dell'Intelligenza Artificiale Generativa in Python
Una guida completa per comprendere e implementare l'Intelligenza Artificiale Generativa e i Modelli Linguistici di Grande Dimensione (LLM). Questo corso copre il passaggio dalle fondamenta teoriche allo sviluppo pratico basato su Python, inclusi GAN, modelli di diffusione, transformer, fine-tuning e il deployment in produzione.
Lezioni
Panoramica del corso
📚 Riepilogo del contenuto
Una guida completa per comprendere e implementare l'Intelligenza Artificiale Generativa e i Modelli Linguistici di Grande Dimensione (LLM). Questo corso copre il passaggio dalle fondamenta teoriche allo sviluppo pratico basato su Python, includendo GAN, modelli di diffusione, trasformatori, fine-tuning e distribuzione in produzione.
Padroneggia i principi fondamentali e le applicazioni pratiche dei moderni LLM e delle tecniche generative con Python.
Autore: Carlos Rodriguez
Ringraziamenti: Grazie particolari all'autore sua moglie Jill, ai suoi genitori e ai revisori tecnici Morgan Boyce, Eric Rui e Samira Shaikh (autrice della prefazione).
🎯 Obiettivi didattici
- Distinguere tra i paradigmi classici dell'apprendimento automatico (discriminativi) e i modelli di Intelligenza Artificiale Generativa.
- Identificare le architetture fondamentali dell'Intelligenza Artificiale Generativa, incluse GAN, modelli di diffusione e trasformatori.
- Spiegare il ruolo e l'evoluzione dei Modelli Linguistici di Grande Dimensione (LLM) nell'ambito più ampio dell'intelligenza artificiale.
- Distinguere le caratteristiche uniche e i paradigmi architetturali di GAN, diffusori e trasformatori.
- Analizzare gli avanzamenti e i limiti di ciascun tipo di modello, compresi problemi specifici come il collasso della modalità o la velocità di campionamento.
- Implementare un flusso di lavoro Stable Diffusion e valutare gli output generati utilizzando logit e probabilità basate su CLIP.
- Tracciare l'evoluzione del NLP dai metodi basati sul conteggio iniziali e sui RNN fino alle moderne rappresentazioni distribuite e al transfer learning.
- Spiegare i meccanismi tecnici dell'attenzione multi-testa (MHA), dell'attenzione autonoma, della maschera e della rete feed-forward (FFN).
- Implementare un'architettura completa di trasformatore, inclusi tokenizzazione dei dati, codifica posizionale e funzioni di addestramento/inferenza.
- Mappare le funzionalità di prototipazione (es. Google Colab) a ambienti pronti per la produzione utilizzando Docker e VS Code.
🔹 Lezione 1: Fondamenti e paradigmi dell'Intelligenza Artificiale Generativa
Panoramica: Questa lezione stabilisce il cambiamento fondamentale dai paradigmi tradizionali dell'apprendimento automatico all'era dell'Intelligenza Artificiale Generativa. Esplora l'evoluzione architetturale — dalle GAN ai Trasformatori — e introduce i Modelli Linguistici di Grande Dimensione (LLM) come pilastro dell'intelligenza sintetica e della generazione di contenuti.
Risultati apprendimento:
- Distinguere tra i paradigmi classici (discriminativi) dell'apprendimento automatico e i modelli di Intelligenza Artificiale Generativa.
- Identificare le architetture fondamentali dell'Intelligenza Artificiale Generativa, incluse GAN, modelli di diffusione e trasformatori.
- Spiegare il ruolo e l'evoluzione dei Modelli Linguistici di Grande Dimensione (LLM) nell'ambito più ampio dell'intelligenza artificiale.
🔹 Lezione 2: Indagine architetturale: GAN, Diffusori e Trasformatori
Panoramica: Questa lezione fornisce un'indagine approfondita sui tre pilastri architetturali principali dell'Intelligenza Artificiale Generativa: Reti Neuronalii Generative Avversarie (GAN), Modelli di Diffusione e Trasformatori. Gli studenti esploreranno la disintegrazione tecnica di questi metodi, i loro progressi evolutivi, i limiti intrinseci e le applicazioni pratiche nella generazione e valutazione delle immagini utilizzando metriche CLIP in ambienti Jupyter/Colab.
Risultati apprendimento:
- Distinguere le caratteristiche uniche e i paradigmi architetturali di GAN, diffusori e trasformatori.
- Analizzare gli avanzamenti e i limiti di ciascun tipo di modello, compresi problemi specifici come il collasso della modalità o la velocità di campionamento.
- Implementare un flusso di lavoro Stable Diffusion e valutare gli output generati utilizzando logit e probabilità basate su CLIP.
🔹 Lezione 3: Evoluzione del NLP e architettura del Trasformatore
Panoramica: Questa lezione traccia la storia del Processamento del Linguaggio Naturale, dai metodi statistici iniziali all'innovativo architettura del Trasformatore. Copre il passaggio dai modelli sequenziali basati su RNN a meccanismi paralleli basati sull'attenzione autonoma, descrivendo in dettaglio i componenti specifici del Trasformatore originale (Encoder/Decoder) e l'implementazione pratica di un flusso di traduzione usando PyTorch.
Risultati apprendimento:
- Tracciare l'evoluzione del NLP dai metodi basati sul conteggio iniziali e sui RNN fino alle moderne rappresentazioni distribuite e al transfer learning.
- Spiegare i meccanismi tecnici dell'attenzione multi-testa (MHA), dell'attenzione autonoma, della maschera e della rete feed-forward (FFN).
- Implementare un'architettura completa di Trasformatore, inclusi tokenizzazione dei dati, codifica posizionale e funzioni di addestramento/inferenza.
🔹 Lezione 4: Ingegneria di produzione e implementazione responsabile dell'IA
Panoramica: Questa lezione affronta la transizione critica dall'attività di prototipazione dell'apprendimento automatico (fasi sperimentali) a implementazioni stabili e pronte per la produzione. Integra i principi dell'ingegneria di produzione — come il containerization con Docker e la mappatura degli ambienti — con gli imperativi etici dell'IA Responsabile, concentrandosi sulla mitigazione degli bias, la trasparenza e la rigorosa valutazione del modello con metriche come i punteggi CLIP e la similarità lessicale.
Risultati apprendimento:
- Mappare le funzionalità di prototipazione (es. Google Colab) a ambienti pronti per la produzione utilizzando Docker e VS Code.
- Calcolare la complessità computazionale del modello e i requisiti di memoria per determinare le necessità di hardware specializzato.
- Valutare modelli generativi utilizzando metriche quantitative (BLEU, ROUGE, METEOR) e allineamento con CLIP.
🔹 Lezione 5: Tecniche di fine-tuning e apprendimento efficiente per parametri
Panoramica: Questa lezione copre il passaggio dal raffinamento basato su prompt all'adattamento specifico per compiti tramite fine-tuning. Esplora l'Apprendimento In-Contesto (Zero-shot e Few-shot), il Generazione Aumentata da Recupero (RAG) e l'implementazione pratica del Fine-Tuning Efficiente per Parametri (PEFT) con Python. Gli studenti impareranno a creare un flusso di risposta a domande, utilizzare la classe Trainer di Hugging Face e valutare i risultati in base alla perdita durante l'addestramento e alla similarità semantica.
Risultati apprendimento:
- Distinguere tra Apprendimento In-Contesto (Zero/Few-shot), RAG e Fine-tuning.
- Implementare un flusso di lavoro di fine-tuning basato su PEFT utilizzando AdaLoRA e la classe
Trainerdi Hugging Face. - Calcolare e interpretare le metriche di prestazione del modello, incluse la perdita di addestramento e i punteggi di similarità semantica.
🔹 Lezione 6: Adattamento di dominio per grandi modelli linguistici specializzati
Panoramica: Questa lezione esplora il passaggio dei Modelli Linguistici di Grande Dimensione (LLM) da strumenti generali a esperti specializzati nel settore finanziario. Gli studenti impareranno il contesto storico dell'adattamento di dominio, padronizzeranno metodologie di addestramento fondamentali come il Modellamento Linguistico Causale (CLM) e la Predizione della Prossima Frase (NSP), e condurranno un progetto pratico di transfer learning utilizzando il Fine-Tuning Efficiente per Parametri (PEFT). Il modulo si conclude con tecniche di valutazione rigorose usando metriche ROUGE e punteggi di classificazione tradizionali (Precisione, Richiamo, F1).
Risultati apprendimento:
- Articolare la storia e l'importanza cruciale dell'adattamento di LLM generali a domini specializzati.
- Eseguire un flusso completo di transfer learning nel dominio finanziario, incluso preprocessing e tokenizzazione.
- Differenziare tra metodologie di addestramento CLM e NSP.
🔹 Lezione 7: Ingegneria avanzata di prompt e implementazione del recupero
Panoramica: Questa lezione esplora l'evoluzione dell'interazione con i Modelli Linguistici di Grande Dimensione (LLM), passando dal fine-tuning tradizionale a approcci basati su prompt. Dettaglia l'uso strategico di personalità, giochi di ruolo situazionali e l'implementazione della Generazione Aumentata da Recupero (RAG) utilizzando LlamaIndex per creare risposte AI contestualmente consapevoli, sicure e allineate al marchio.
Risultati apprendimento:
- Articolare il passaggio dal fine-tuning pesante in termini di parametri a inferenze efficienti basate su prompt.
- Progettare e implementare personalità e giochi di ruolo situazionali per guidare il comportamento e la distribuzione delle uscite del modello.
- Creare un flusso di lavoro funzionale RAG utilizzando Python e il framework LlamaIndex.