Il prerequisito minimo obbligatorio per poter partecipare al corso è una discreta conoscenza delle funzionalità di base del linguaggio di programmazione Python e una conoscenza minima sull’invocazione dei metodi di una libreria software e la ricerca di informazioni sul funzionamento e sui parametri dei metodi di una libreria software nella documentazione online della stessa.
Per ogni modulo sono descritti di seguito i contenuti:
1) Modulo Base (MB) [2h]
Nel Modulo Base vengono introdotti tutti i concetti principali necessari per comprendere i meccanismi di base, come il meccanismo di attenzione, che hanno portato al successo dei LLM rispetto ai modelli precedenti, sono approfondite le tecniche di addestramento, le caratteristiche dei LLM e le modalità di personalizzazione dei modelli tramite l’utilizzo di basi di conoscenza esterna per il loro utilizzo in specifici domini o per la limitazione dei fenomeni di allucinazione.
I contenuti sintetici sono i seguenti:
Transformer model
Pre-training
LLM
Transfer Learning, In Context Learning, Fine Tuning, Knowledge Injection
Modelli generativi basati su LLM
2) Modulo Prompt Engineering (MP) [2h]Nel Modulo Prompt Engineering vengono introdotti tutti i concetti principali necessari per comprendere quali sono le principali tecniche e caratteristiche di realizzazione di prompt efficaci per l’esecuzione di specifici task con i LLM, come gli approcci di tipo zero-shot e few-shot learning.
I contenuti sintetici sono i seguenti:
3) Modulo Prompt Engineering Open (MPO) [2h]Nel Modulo Prompt Engineering Open vengono estese le conoscenze e competenze acquisite nel modulo MP per permettere l’utilizzo di LLM Open Source, quali ad esempio Llama-2, come alternativa ai modelli GPT. Nel modulo viene inoltre illustrata la metodologia di sviluppo che consente di eseguire (ed eventualmente personalizzare tramite, ad esempio, fine-tuning) questi modelli in locale per poterli interrogare in maniera automatizzata tramite librerie dedicate.
Il modulo prevede un’esercitazione sul setup di un LLM Open Source
NOTE:
Richiede account Google per utilizzo di Python Notebook su Colab
Richiede Token HuggingFace per scaricamento LLM
4) Modulo Information Retrieval (MIR) [2h]Nel Modulo Information Retrieval vengono introdotte in maniera dettagliata e approfondita le tecniche di rappresentazione e calcolo vettoriale utilizzate ida sistemi di Information Retrieval per rappresentare e ricercare le informazioni su base semantica.
Il modulo prevede un’introduzione teorica e pratica ai seguenti aspetti:
Vettorizzazione testi (es. TF-IDF)
Distanza vettoriali (Cosine Similarity)
Modelli KNN
Introduzione ai sistemi RAG per la ricerca di documenti
5) Modulo Retrieval Augmented Generation (MRAG) [4h]Nel Modulo Retrieval Augmented Generation viene proposta ai partecipanti una esercitazione in prima persona sullo sviluppo di un sistema di interrogazione di un LLM Open Source con accesso a una base dati personale tramite un sistema RAG. I partecipanti avranno a disposizione un notebook con il codice in linguaggio Python già predisposto per lo scaricamento in locale del modello e una serie di contenuti informativi con le specifiche e le indicazioni necessarie per sviluppare in autonomia l’esercitazione ricercando nella documentazione fornita quello che serve per implementare la soluzione al problema proposto nel testo della esercitazione.
I contenuti sintetici sono i seguenti:
Introduzione ai sistemi RAG per la generazione di testi basati su informazioni presenti in una specifica base di dati definita dall’utente
Esercitazione sulla realizzazione di un sistema RAG con LLM Open Source su piattaforma Colab
NOTE:
Richiede account Google per utilizzo di Python Notebook su Colab
Richiede Token HuggingFace per scaricamento LLM