Reti Neurali, LLM e Transformers
Descrizione
Come siamo arrivati alla moderna AI con risultati generativi della qualità di Dall-E e ChatGPT? Questo corso avanzato ripercorre l’intera filiera tecnologica delle Reti Neurali e dei Trasformatori per presentare come effettivamente funziona la AI basata sul Deep Learning.
Al termine del corso, sarà possibile sia utilizzare i modelli basati su trasformatori di OpenAI e su HuggingFace, che progettare la creazione autonoma di una propria Rete Neurale specializzata, senza appoggiarsi a sistemi esterni.
Prerequisiti
Conoscenza di programmazione in Python 3.8
Conoscenza di Pandas, NumPy, MatplotLib
Conoscenze di concetti di Machine Learning Supervisionato (Classificazioni e Regressioni)
Conoscenza base di Reti Neurali
Contenuti
Giorno 1
Introduzioni alle Reti Neurali. TLU, Percettrone, Layer Densi di Percettroni
Elementi di algoritmi di Gradient Descent, BackPropagation. Funzioni di Attivazione.
Introduzione a Keras e Tensor Flow. Creazione e addestramento di Reti Neurali non-Deep. Semplici problemi di classificazione e regressione. Concetti di Validazione e Training della rete.
Introduzioni alle Deep Neural Network. Problema dell’annullamento del gradiente. Inizializzazioni, Attivazioni non Saturanti, Ottimizzazioni, Regolarizzazioni, Normalizzazioni. Tecniche di stabilizzazione delle reti profonde e accelerazione del training.
Transfer Learning e Giardino dei Modelli, Riutilizzo di addestramenti precedenti.
Salvataggio dei pesi e dei modelli. Checkpoint
Giorno 2
Reti ad Apprendimento Profondo (DNN): reti ad apprendimento spaziale (CNN). Layer di Convoluzione e di Pooling. Reti a topologia complessa. ResNet.
Reti Ricorrenti RNN. Problema della memoria a breve termine. Celle GRU. Applicazioni in analisi di serie temporale e primi approcci al problema NLP di elaborazione del linguaggio naturale.
Esempi di DNN, CNN, RNN in Python e TensorFlow
Giorno 3
Architetture DNN con Attenzione. Trasformatori, Encoder e Decoder. LLM: Panoramica su BERT, GPT, T5. Utilizzo di DistilBert e applicazione di Transfer Learning per apprendimento e training specifici. Pattern di specializzazione di LLM e di riaddestramento completo di LLM. Vantaggi e svantaggi.
Utilizzo di LLM pre-trained. OpenAI, HuggingFace. Esplorazione degli ambienti e utilizzo delle librerie OpenAI, HF e LangChain in Python. Esempi di Prompting e di Chaining di Modelli. Casi d’uso per la creazione di agenti per l’assistenza, la raccomandazione, la sentiment analysis.
Esempi di architetture RAG (Retrieval Augmented Generation). Sistemi di Embedding di corpora di conoscenza specifici e/o personalizzati. Uso di database vettoriali. Integrazioni della catena di modelli con database vettoriali. Esempio di implementazione.