APPLICAZIONI INDUSTRIALI DELL'INTELLIGENZA ARTIFICIALE
cod. 1010245

Anno accademico 2024/25
2° anno di corso - Primo semestre
Docente
Giovacchino TESI
Settore scientifico disciplinare
Informatica (INF/01)
Ambito
Attività formative affini o integrative
Tipologia attività formativa
Affine/Integrativa
48 ore
di attività frontali
6 crediti
sede:
insegnamento
in ITALIANO

Obiettivi formativi

Il corso ha come obiettivo quello di far acquisire gli strumenti metodologici per la progettazione, implementazione e gestione di sistemi di intelligenza artificiale basata sul machine learning. Intende inoltre fornire un panorama sulle architetture e modelli più utilizzati nel mondo dell'impresa rendendo lo studente in grado di seguire autonomamente gli aggiornamenti del settore.
Con riferimento agli Indicatori di Dublino:

Conoscenza e capacità di comprensione
Il corso introduce concetti di gestione dei sistemi di intelligenza artificiale, dalla loro ideazione, al laboratorio, dall'ambiente di test a quello di produzione. Il concetto di monitoraggio, indicatori etici ecc.

Capacità di applicare conoscenza e comprensione
Le conoscenze teoriche sono messe in pratica sia tramite esercizi in classe che tramite progetto finale.

Autonomia di giudizio
L'autonomia di giudizio è stimolata nel corso tramite l'interazione continua con il docente e il progetto finale le cui scelte sono delegate totalmente allo studente.

Abilità comunicative
La continua interazione con il docente e la relazione finale sul progetto sono pensati per stimolare lo studente ad utilizzare un corretto linguaggio professionale.

Capacità di apprendimento
La continua interazione con il docente oltre al progetto finale svolto in piccoli gruppi (3 persone) consente allo studente di colmare carenze conoscitive tramite il continuo confronto e la messa in pratica dei concetti acquisiti.

Prerequisiti

Buona conoscenza del linguaggio python e dei concetti di Machine Learning.
Basi di gestione dei sistemi informativi.

Contenuti dell'insegnamento

Introduzione all'AI nel mondo delle imprese.
Approfondimento si MLOps
Architetture per il serving
Gestione dei dati
Deep learning avanzato
Object classification, detection e segmentation
Deployment di sistemi in ambienti ad alto rischio
Architetture che usano il modello transformer
Uso avanzato dei foundation models
Utilizzo di agenti intelligenti con LLM
Utilizzo di architetture multiagente per risolvere task complessi

Programma esteso

1) Introduzione: utilizzo dell'AI nel mondo delle imprese

L'azienda come insieme di processi (Porter)
Settori delle imprese
Dove applicare l'intelligenza artificiale per automatizzare i processi
Sistemi intelligenti a supporto delle decisioni
Problemi tipici affrontati dall'intelligenza artificiale nell'impresa (chatbot, forecasting, markdown optimization, customer churn, ecc.)
La data science per costruire la 'parte intelligente'
DEVOps, MLOps, LLMOps (riproducibilità, affidabilità, scalabilità, manutenibilità, adattabilità)
Processo CRISP per lo sviluppo di sistemi intelligenti basati sulla data science
Sviluppo e monitoraggio
Tipici dati raccolti dalle aziende (sia fabbrica che di servizi)

2) Approfondimento su MLOps

Ciclo di vita del sistema di AI basato sul ML
Ingegneria del software per il ML
Individuazione del prodotto (MLFlow)
Versionamento degli esperimenti
Esercizi in classe

3) Architetture per il serving

Batch serving
Online serving
Uso dei container (Docker)
Uso di librerie per serving via HTTP (FastAPI e Flask)
Sicurezza e accessi
Deploy in produzione con MLFlow
Esercizi in classe

4) Gestione dei dati

Sorgenti di dati strutturate e non strutturate
Ingestion: ETL versus ELT
Big data: non sempre pandas basta
Versionamento dei dati (DVC)
Data lineage
Mascheramento, sicurezza e sensibilità
Dati artificiali per addestramento semi-supervisionato
Esercizi in classe

5) Deep learning avanzato 1

Transfer learning
Reti con topologie varie
Mixture of Experts (MOE)
Contrastive learning
Esercizi in aula

6) Deep learning avanzato 2

Embeddings e positional embeddings
Meccanismi attenzionali
Reti generative (GAN)
Physical Informed Neural Network
Esercizi in aula

7) Object classification, detection e segmentation

Principi e metriche della detection
Principi e metriche della segmentation
Use case per detection e segmentation
YOLO
Esercizi in aula

8) Deployment di sistemi in ambienti ad alto rischio

Detection di eventi rari
Importanza della spiegazione
Metodi di XAI (SHAP, GradCam, LIME)
Individuazione di risultati attendibili
Considerazioni etiche (AI Act base)
Esercizi in aula: estrazione dati da immagini (Donut)

9) Architetture che usano il modello transformer

BERT e modelli per l’analisi del linguaggio
Visual Transformer
Foundation Models e LLM
Multimodal Foundation Models
Esercizi in aula: estrazione dati da immagini (Donut)

10) Uso avanzato di Foundation Models

RAG: principio e tipi
Uso di LLM nei sistemi informatici:
Ricerca semantica in archivio
Chatbot intelligente
Generazione interrogazioni SQL (esempio di UX moderno)
Esercizi in aula: libreria LangChain

11) Utilizzo di agenti con LLM
Definizioni e principi di funzionamento
Tecniche di prompt engineering
Context-based learning
Esercizi in aula con API GPT (o altro LLM), DSpy
Casi d'uso: uso di multiagenti per risolvere task
Comunicazione tra agenti

12) Costruire comunità di agenti per risolvere task complessi
Human In The Loop (HITL)
Reinforced Learning Human Feedback (RLHF)
Esercizi in aula

Bibliografia

Slide docente e materiale online siprattutto per i tool e i framework utilizzati. Articoli di settore.

Per approfondimenti:
Machine Learning Design Pattern (Lakshmanan e altri O'Reilly)
Design Machine Learning Systems (Huygen O'Reilly)
Implementing MLOps in the Enterprise (Yaron Haviv & Noah Gift O'Reilly)
Prompt Engineering for Generative AI (James Phoenix & Mike Taylor O'Reilly)

Metodi didattici

Lezioni frontali ed esercitazioni in aula sui temi di volta in volta trattati.

Modalità verifica apprendimento

Orale più progetto.
La verifica consiste nella presentazione di un progetto sviluppato nel corso delle lezioni.
Il progetto dovrà essere corredato da una relazione tecnica che sarà discussa con il docente in sede d'esame.

Altre informazioni

- - -

Obiettivi agenda 2030 per lo sviluppo sostenibile

L'insegnamento è attinente principalmente ai seguenti indicatori della'agenda di sostenibilità 2030:
Istruzione di qualità.
Uguaglianza di genere.
Lavoro dignitoso e crescita economica.