Vai al contenuto

Progetti di fine corso

Lo studente (o un gruppo di 2-3 persone) sceglie un progetto e lo porta a termine in tre settimane. Ogni progetto combina più moduli, produce qualcosa di usabile e va documentato in modo che un compagno possa riprodurlo seguendo il README. Le tracce sono volutamente aperte: i requisiti minimi sono il pavimento, le estensioni sono il tetto.

# Progetto Moduli Difficoltà Hardware minimo
P1 Assistente documentale locale (RAG) 02, 04, 08 ●●○ CPU, 8 GB
P2 Server di inferenza in produzione 04, 05, 09 ●●○ una VM/VPS Linux, 8 GB
P3 Agente con strumenti 04, 06, 08 ●●● CPU, 8-16 GB
P4 Inferenza su dispositivo edge 01, 03, 05 ●●○ Raspberry Pi 4/5, Android o mini PC
P5 Pipeline di conversione e valutazione 03, 05 ●●● CPU, 16 GB (GPU aiuta)
P6 Estrazione dati da documenti e immagini 06, 07 ●●○ CPU, 8-16 GB
flowchart TB
    subgraph Moduli
        direction LR
        M02[02 Primi passi] --- M03[03 GGUF e quantizzazione] --- M04[04 Server e API]
        M05[05 Prestazioni] --- M06[06 Output strutturato] --- M07[07 Multimodale]
        M08[08 Integrazione] --- M09[09 Produzione]
    end
    M02 & M04 & M08 --> P1
    M04 & M05 & M09 --> P2
    M04 & M06 & M08 --> P3
    M03 & M05 --> P4 & P5
    M06 & M07 --> P6

Come si lavora

  • Settimana 1: scelta del modello e prototipo "brutto ma funzionante" (end-to-end, anche con un solo esempio).
  • Settimana 2: misure, confronto tra alternative (modelli, quantizzazioni, parametri), scelte motivate.
  • Settimana 3: pulizia, README riproducibile, relazione, demo.

Ogni traccia riporta le tappe suggerite settimana per settimana, i modelli consigliati con le dimensioni, i criteri specifici di valutazione e le insidie più frequenti in questo tipo di progetto.

Consegna (comune a tutti)

  • Repository (Git) con README: requisiti hardware, comandi di installazione e avvio, versione di llama.cpp usata (llama version → build), modelli con repo Hugging Face, file e dimensione.
  • Script o compose.yaml che ricrea l'ambiente; niente file .gguf nel repository (vanno scaricati con llama download).
  • Relazione di 3-6 pagine: problema, architettura, scelte con le misure che le giustificano, problemi incontrati, limiti.
  • Demo di 5 minuti dal vivo o registrata.

Griglia di valutazione

Criterio Peso Cosa guardiamo
Funziona ed è riproducibile seguendo il README 30% un valutatore lo installa su una macchina pulita e ottiene lo stesso risultato
Scelte tecniche motivate (modello, quantizzazione, parametri) con misure 25% tabelle e grafici, non opinioni: t/s, RAM, accuratezza, latenza
Qualità del codice e della configurazione 20% codice leggibile, commentato, senza segreti; configurazione esplicita
Relazione e demo 15% chiarezza, onestà sui limiti, capacità di rispondere alle domande
Estensioni 10% almeno una tra quelle proposte nella traccia, o una equivalente concordata

Ogni traccia aggiunge criteri specifici che dettagliano i primi due punti per quel progetto.

Cosa fa la differenza

Tre cose ricorrenti nei progetti migliori: un set di valutazione (anche piccolo, 20-50 casi) costruito prima di scrivere codice; il confronto tra almeno due modelli con gli stessi casi; un README che un compagno ha davvero provato a seguire.