Strategia degli embeddings fissi

La sperimentazione utilizza un sotto‑set di AG News, con 800 esempi per l'addestramento e 200 per il test, tutti mescolati con seme 42. Gli embeddings vengono estratti da Qwen/Qwen2.5‑1.5B, un modello di grandi dimensioni configurato per la classificazione a quattro etichette. Il modello è caricato con quantizzazione a 4 bit (tipo nf4) e calcoli in bfloat16, sfruttando device_map="auto" per distribuire automaticamente le risorse.

Durante l'inferenza, il modello opera in modalità valutazione, senza gradienti, e restituisce gli stati nascosti. Viene preservato l'ultimo stato nascosto, aggregato mediante una media ponderata dal mask di attenzione, con una piccola costante (1e‑9) per garantire la stabilità numerica. I vettori risultanti vengono convertiti in float32 e spostati sulla CPU.

Procedura di tokenizzazione e batch

    • Batch size: 8
    • Padding e troncamento fino a 128 token
    • Token di padding: eostokenid, necessario per le architetture solo decoder
    • Tokenizer allineato con padtokenid del modello

Questa configurazione consente di ottenere embeddings consistenti e riproducibili, mantenendo il modello “gelato” (pesi fissi) durante tutto il processo.

Classificatore Random Forest

Sui vettori estratti, viene addestrato un RandomForestClassifier di scikit‑learn con 100 alberi e seme 42. L'addestramento richiede appena 2,866 secondi, dimostrando che il collo di bottiglia è l'estrazione dei feature (96,5 secondi). La precisione sul set di test è dell'82,0 %.

Gli embeddings e le etichette vengono separati per fase di training e test; i tempi di estrazione e di apprendimento sono misurati indipendentemente per fornire un quadro chiaro dei costi computazionali.

Confronto costi‑benefici

    • Tempo totale di estrazione: 96,5 s
    • Tempo di addestramento Random Forest: 2,866 s
    • Precisione: 82,0 %
    • Risorse richieste: GPU T4 (per l'estrazione) + CPU (per il classificatore)

Questa combinazione è ideale per scenari con budget limitato, dove l'addestramento completo di un LLM sarebbe proibitivo.

Prospettive di fine‑tuning con LoRA

Il prossimo passo previsto è sperimentare un adattamento fine del modello Qwen tramite LoRA (Low‑Rank Adaptation). LoRA permette di aggiornare solo un piccolo set di parametri a rango basso, riducendo drasticamente i requisiti di memoria e tempo rispetto al tradizionale fine‑tuning.

L'obiettivo è verificare se l'accuratezza di 82 % può essere superata senza sacrificare l'efficienza. L'ambiente consigliato per queste prove è Google Colab, con GPU T4 e le seguenti librerie:

    • bitsandbytes
    • peft
    • accelerate
    • evaluate

In ambienti Python locali, le dipendenze includono scikit‑learn, transformers e datasets.

Impatto atteso

Se LoRA riuscisse a migliorare la precisione, la scelta tra embeddings fissi e fine‑tuning dipenderebbe non solo da metriche di accuratezza ma anche da costi di calcolo, tempo di sviluppo e disponibilità di risorse hardware.

In sintesi, gli embeddings fissi combinati con un Random Forest offrono una soluzione rapida e a basso costo per la classificazione di testi su AG News, raggiungendo 82 % di accuratezza. La sperimentazione futura con LoRA potrà fornire ulteriori indicazioni su come bilanciare performance e risorse in progetti IA con budget limitati.