Questo progetto nasce come workshop per la Working Software 2025 a Reggio Emilia.
In questa repository si mostrano due esempi di fine-tuning di Small Language Models (SLM) usando SFT e LoRA.
Inoltre si mostra come preparare un modello per la distribuzione in GGUF e come esporlo come API con FastAPI.
Questo workshop è pensato per chi ha già familiarità con l'utilizzo di Python, conosce per sommi capi la teoria di base dietro al machine learning (Neural Networks e Backpropagation), ma non ha mai addestrato un modello.
Per iniziare, trovi le slide e l'introduzione testuale presentata durante il workshop nella cartella docs.
Partiremo dal modello SmolLM2 da 135M parametri creato da Hugging Face.
Tutti gli esempi (tranne l'ultimo, pensato per essere eseguito localmente) sono progettati per funzionare su Google Colab, senza necessità di installare nulla.
Se preferisci eseguire i notebook localmente, puoi clonare questa repository e seguire questa guida per avviare l'ambiente Jupyter su Docker. Per l'esecuzione locale è necessario avere Docker installato e disporre di una GPU compatibile con CUDA.
Nome | Descrizione | Link |
---|---|---|
Sentiment Classification | Finetuning SFT per classificare il sentiment di recensioni Amazon | Colab |
Function Calling | Finetuning con LoRA per addestrare un modello a invocare funzioni a partire da una richiesta testuale | Colab |
GGUF Conversion | Conversione in GGUF di un modello già addestrato | Colab |
GGUF Serving | Un esempio su come servire un modello GGUF con FastAPI | Progetto |
Questo corso nasce come iniziativa di formazione di Mònade.
Partecipanti:
Il corso è ispirato dal corso Smol Course di @huggingface.