Programma
I small language models (SLM) risolvono il problema di rendere l’AI più accessibile ed efficiente per chi ha risorse limitate, perché sono più piccoli, veloci e facili da personalizzare rispetto ai large language models (LLM).
Gli SLM hanno meno parametri (in genere sotto i 10 miliardi), il che riduce drasticamente i costi computazionali e il consumo energetico. Si concentrano su compiti specifici e sono addestrati su dataset più piccoli. In questo modo mantengono un equilibrio tra prestazioni ed efficienza delle risorse.
Cosa sono i Small Language Models?
I small language models sono le versioni compatte e altamente efficienti dei giganteschi large language models di cui si parla tanto. Gli LLM come GPT-4o hanno centinaia di miliardi di parametri, mentre gli SLM ne usano molti meno—tipicamente da qualche milione a pochi miliardi.
Le caratteristiche chiave degli SLM sono:
- Efficienza: gli SLM non richiedono la potenza di calcolo massiccia degli LLM. Questo li rende ideali su dispositivi con risorse limitate, come smartphone, tablet o dispositivi IoT—scopri di più in questo post su edge AI.
- Accessibilità: chi ha budget limitati può implementare gli SLM senza infrastrutture di fascia alta. Sono anche adatti a deployment on-premise, dove privacy e sicurezza dei dati sono molto importanti, perché non dipendono sempre da infrastrutture cloud.
- Personalizzazione: gli SLM sono facili da mettere a punto. Le dimensioni ridotte consentono di adattarli rapidamente a compiti di nicchia e domini specializzati. Questo li rende adatti ad applicazioni specifiche come assistenza clienti, sanità o istruzione (ne parleremo più in dettaglio tra poco!).
- Inferenza più rapida: gli SLM hanno tempi di risposta più rapidi perché hanno meno parametri da elaborare. Sono perfetti per applicazioni in tempo reale come chatbot, assistenti virtuali o qualsiasi sistema in cui sono essenziali decisioni rapide. Non devi aspettare le risposte, una grande cosa in contesti dove la bassa latenza è fondamentale.
Esempi di Small Language Models
Lo sviluppo degli SLM dal 2019 al 2024 è stato rapido, con molti nuovi modelli creati per rispondere al bisogno di un’AI più efficiente. Si è partiti con GPT-2 nel 2019 e, negli anni, i modelli sono diventati più mirati e veloci. Nel 2022, modelli come Bloom e Galactica gestivano più lingue e dati scientifici e, nel 2023, modelli come Pythia e Cerebras-GPT sono stati progettati per compiti come il coding e il ragionamento logico.
Nel 2024 sono usciti ancora più SLM, come LaMini-GPT, MobileLLaMA e TinyLlama, pensati per funzionare bene su dispositivi mobili e altri sistemi a bassa potenza. Aziende come Meta, Google e Microsoft guidano lo sviluppo di questi modelli, alcuni aperti al pubblico e altri proprietari.

Fonte: Lu et al., 2024
Gli SLM sono usati in molti settori perché sono leggeri, veloci e non richiedono molte risorse per l’esecuzione. Ecco alcuni di questi modelli con i loro parametri e le caratteristiche principali:
|
Nome modello |
Parametri |
Open source |
Caratteristiche principali |
|
Qwen2 |
0.5B, 1B, 7B |
Sì |
Scalabile, adatto a vari compiti |
|
Mistral Nemo 12B |
12B |
Sì |
Compiti NLP complessi, deployment locale |
|
Llama 3.1 8B |
8B |
Sì* |
Equilibrio tra potenza ed efficienza |
|
Pythia |
160M - 2.8B |
Sì |
Focalizzato su ragionamento e coding |
|
Cerebras-GPT |
111M - 2.7B |
Sì |
Efficiente dal punto di vista computazionale, segue le scaling laws di Chinchilla |
|
Phi-3.5 |
3.8B |
Sì** |
Contesto lungo (128K token), multilingue |
|
StableLM-zephyr |
3B |
Sì |
Inferenza rapida, efficiente per sistemi edge |
|
TinyLlama |
1.1B |
Sì |
Efficiente per dispositivi mobili ed edge |
|
MobileLLaMA |
1.4B |
Sì |
Ottimizzato per dispositivi mobili e a bassa potenza |
|
LaMini-GPT |
774M - 1.5B |
Sì |
Multilingue, compiti di instruction-following |
|
Gemma2 |
9B, 27B |
Sì |
Deployment locale, applicazioni in tempo reale |
|
MiniCPM |
1B - 4B |
Sì |
Prestazioni bilanciate, ottimizzato per inglese e cinese |
|
OpenELM |
270M - 3B |
Sì |
Multitasking, bassa latenza, a basso consumo |
|
DCLM |
1B |
Sì |
Ragionamento di buon senso, deduzione logica |
|
Fox |
1.6B |
Sì |
Ottimizzato per la velocità nelle applicazioni mobili |
*Con restrizioni d’uso
**Solo per scopi di ricerca
Scopri di più su questi modelli in questo articolo dedicato che ho scritto sui migliori small language models.
Come funzionano gli SLM
Vediamo come funzionano i small language models.
Predizione della parola successiva
Come gli LLM, anche gli SLM funzionano predicendo la parola successiva in una sequenza di testo. Gli SLM usano i pattern del testo su cui sono stati addestrati per indovinare cosa viene dopo. È un concetto semplice ma potente alla base di tutti i modelli linguistici.
Per esempio, dato l’input: "Nella serie di Harry Potter, il migliore amico del protagonista si chiama Ron..." Uno SLM analizzerebbe questo contesto e predirebbe la parola più probabile—in questo caso, "Weasley".
Architettura transformer
L’architettura transformer è la chiave di come LLM e SLM comprendono e generano linguaggio. I transformer possono essere intesi come il cervello dei modelli linguistici. Usano il meccanismo di self-attention per capire quali parole in una frase sono più rilevanti tra loro. Questo aiuta il modello a comprendere il contesto—per esempio, a riconoscere se “Paris” si riferisce alla città o alla persona che conosci dal lavoro.
Equilibrio tra dimensioni e prestazioni
La forza degli SLM sta nella capacità di bilanciare dimensioni e prestazioni. Usano molti meno parametri rispetto agli LLM, in genere da milioni a pochi miliardi, contro le centinaia di miliardi degli LLM.
Con meno parametri, gli SLM richiedono meno potenza di calcolo e meno dati per l’addestramento, il che li rende più accessibili se hai risorse limitate. Le dimensioni compatte fanno sì che elaborino input e generino output più velocemente, cosa molto importante per applicazioni in tempo reale come tastiere mobili o assistenti vocali.
Gli SLM potrebbero non essere versatili o profondi quanto i modelli grandi, ma gestiscono bene compiti specifici. Per esempio, uno SLM addestrato ad analizzare testi legali può fare meglio di un LLM generale in quell’ambito.
Come si creano gli SLM: tecniche e approcci
Gli SLM usano tecniche come distillazione, pruning e quantizzazione per diventare più piccoli, veloci ed efficienti.
Distillazione
È una tecnica per creare SLM trasferendo conoscenza da un modello grande "insegnante" a un modello più piccolo "studente". L’obiettivo è comprimere nello studente ciò che il modello insegnante ha imparato, senza perdere troppo in prestazioni.
Questo processo fa sì che gli SLM mantengano gran parte dell’accuratezza dei modelli più grandi pur essendo molto più gestibili in termini di dimensioni e calcolo. Con questa tecnica, il modello piccolo impara non solo le predizioni finali dell’insegnante, ma anche pattern e sfumature sottostanti.

Esistono diversi metodi di knowledge distillation:
- Basata sulla risposta: il modello studente impara a replicare lo strato di output finale del modello insegnante, spesso usando "soft target" per informazioni più sfumate.
- Basata sulle feature: si concentra sulla replica degli strati intermedi del modello insegnante, aiutando lo studente a estrarre pattern simili dai dati.
- Basata sulle relazioni: addestra lo studente a comprendere le relazioni tra diverse parti del modello insegnante, emulando processi di ragionamento complessi.

Pruning
Il pruning è un po’ come potare ciò che non serve. Durante il pruning, si rimuovono parti del modello meno importanti—come neuroni o parametri che contribuiscono poco alle prestazioni complessive. Questa tecnica aiuta a ridurre il modello senza incidere in modo significativo sull’accuratezza. Tuttavia, può essere delicato: se si esagera, si rischia di tagliare troppo e danneggiare le prestazioni.

Il pruning può ridurre significativamente le dimensioni del modello mantenendo gran parte delle prestazioni originali, rendendolo una tecnica efficace per creare SLM.
Quantizzazione
La quantizzazione consiste nell’usare meno bit per memorizzare i numeri del modello. Normalmente, un modello può usare numeri a 32 bit, ma con questo metodo si riducono a valori a 8 bit, molto più piccoli. Così il modello occupa meno spazio e gira più veloce. La cosa migliore è che, anche se i numeri sono meno precisi, il modello funziona comunque bene, con un impatto minimo sull’accuratezza.
Immagina di archiviare valori di temperatura in un’app meteo. Li salveresti con alta precisione (come numeri a 32 bit), più del necessario. Riducendo la precisione a 8 bit, potresti perdere qualche dettaglio, ma l’app resterà utile funzionando più velocemente e usando meno memoria.
È particolarmente utile per distribuire l’AI su dispositivi con memoria e potenza di calcolo limitate, come smartphone o dispositivi edge.

La quantizzazione è particolarmente efficace per distribuire modelli su dispositivi con risorse limitate perché riduce i requisiti di memoria e migliora la velocità di inferenza.
Applicazioni dei Small Language Models
Il bello degli SLM è che offrono potenti funzionalità di AI senza richiedere enormi infrastrutture o connettività internet continua, aprendo così tantissime applicazioni.
AI on-device
Pensa agli assistenti mobili—quegli assistenti vocali sul telefono che ti aiutano nella giornata. Gli SLM rendono possibile tutto questo. Consentono predizione del testo in tempo reale, comandi vocali e persino traduzioni senza dover inviare dati al cloud. Tutto avviene in locale, con risposte più rapide e interazioni più rispettose della privacy.
Per esempio, SwiftKey e Gboard utilizzano SLM per fornire suggerimenti testuali contestuali e accurati, migliorando velocità e precisione di digitazione.
Questo si estende anche alle applicazioni offline, dove l’AI può funzionare senza connessione internet, risultando utile in aree con connettività limitata.
Google Translate, ad esempio, offre funzionalità di traduzione offline alimentate da SLM, facilitando la comunicazione in zone con scarso accesso a internet.
AI personalizzata
Uno dei grandi vantaggi degli SLM è che possono essere personalizzati per compiti specifici o preferenze dell’utente. Immagina un chatbot messo a punto appositamente per il customer service della tua azienda o un’AI che sa esattamente come aiutarti in base alle interazioni precedenti. Poiché questi modelli sono più piccoli, sono molto più facili da ottimizzare e distribuire in settori diversi.
Ecco alcuni esempi:
- Sanità: gli SLM possono essere personalizzati per l’analisi di testi medici, offrendo monitoraggio in tempo reale e consigli su wearable intelligenti. Operano senza dipendere da una connettività cloud continua.
- Dispositivi smart home: SLM integrati nei sistemi domestici intelligenti possono apprendere preferenze individuali per temperatura e illuminazione, regolando automaticamente le impostazioni in base ai momenti della giornata o alle occasioni.
- Istruzione: le app educative che usano SLM possono adattarsi a stili e ritmi di apprendimento individuali, offrendo guida e supporto personalizzati agli studenti.
Internet of Things
Gli SLM lavorano silenziosamente in background su dispositivi quotidiani come il tuo sistema smart home o altri gadget. Aiutano questi dispositivi a comprenderti e risponderti direttamente senza bisogno di connessione a internet, rendendoli più veloci e intelligenti.
Altre applicazioni
Gli SLM trovano applicazione in numerosi altri ambiti:
- Traduzione linguistica in tempo reale: gli SLM rendono possibile la traduzione istantanea, fondamentale per la comunicazione globale. Alcune app di viaggio ora usano SLM per tradurre in tempo reale cartelli, menu o indicazioni vocali, aiutando a orientarsi in lingue straniere.
- Sistemi automobilistici: nelle auto, gli SLM forniscono navigazione intelligente, con aggiornamenti sul traffico in tempo reale e suggerimenti sui percorsi migliori. Migliorano anche i comandi vocali, permettendo di controllare musica, fare chiamate o inviare messaggi senza usare le mani.
- Sistemi di intrattenimento: smart TV e console di gioco usano SLM per il controllo vocale e per suggerire contenuti o giochi in base a ciò che hai visto o giocato in passato.
- Assistenza clienti: gli SLM aiutano le aziende a gestire le richieste dei clienti in modo più efficiente. I negozi al dettaglio usano SLM per rispondere su prodotti, stato degli ordini o politiche di reso, riducendo il bisogno di supporto umano.
LLM vs. SLM
Vediamo quando conviene puntare su LLM e quando gli SLM sono la scelta migliore.
Complessità del compito
Per compiti molto complessi come comprensione profonda, creazione di contenuti lunghi o risoluzione di problemi difficili, modelli grandi come GPT-4o di solito rendono meglio degli SLM. Possono gestire questi compiti perché attingono a enormi quantità di dati per fornire risposte più dettagliate. Il rovescio della medaglia è che questo livello di sofisticazione richiede molta potenza di calcolo e tempo.
|
LLM |
SLM |
|
Eccellenti nella gestione di compiti complessi, sofisticati e generali |
Più adatti a compiti adeguati e più semplici |
|
Migliore accuratezza e prestazioni su compiti diversi |
Ottimi per applicazioni specialistiche e compiti specifici di dominio |
|
Capaci di mantenere il contesto su passaggi lunghi e fornire risposte coerenti |
Possono faticare con compiti linguistici complessi e con la comprensione a lungo raggio del contesto |
Per esempio, se stai sviluppando un chatbot generico che deve gestire argomenti diversi e query complesse, un LLM è più indicato. Tuttavia, per un bot di assistenza clienti specializzato su una specifica linea di prodotti, uno SLM può essere più che sufficiente e persino superare un LLM grazie all’addestramento mirato.
Vincoli di risorse
Quando hai vincoli di risorse, qui gli SLM vincono. Richiedono molta meno potenza computazionale per l’addestramento e il deployment. Sono un’ottima opzione se lavori in ambienti con risorse limitate.
|
LLM |
SLM |
|
Richiedono notevole potenza di calcolo e memoria |
Più economici in termini di consumo di risorse |
|
Spesso necessitano di hardware specializzato come GPU per l’inferenza |
Possono girare su hardware standard e persino su dispositivi come Raspberry Pi o smartphone |
|
Costi operativi più elevati a causa della domanda di risorse |
Tempi di training più brevi, che li rendono più accessibili per deployment rapidi |
In situazioni con potenza di calcolo limitata, come su dispositivi mobili o edge computing, gli SLM sono spesso l’opzione migliore perché offrono un buon mix di prestazioni ed efficienza.
Ambiente di deployment
Se distribuisci l’AI su un server cloud dove le risorse non sono un problema, un LLM può essere la scelta giusta, soprattutto se ti servono alta accuratezza e fluidità nelle risposte. Ma se lavori su dispositivi con CPU o GPU limitate, come dispositivi IoT o applicazioni mobili, gli SLM sono perfetti.
|
LLM |
SLM |
|
Ideali per ambienti cloud con ampia potenza di calcolo disponibile |
Possono essere usati nel cloud, ma le dimensioni ridotte li rendono migliori dove le risorse sono limitate. Sono più efficienti nella gestione di compiti più piccoli |
|
Non ideali per AI on-device perché richiedono molta potenza di calcolo e dipendono da una connessione internet |
Perfetti per AI on-device, consentono uso offline e tempi di risposta più rapidi. Possono far girare assistenti mobili, riconoscimento vocale e altre app in tempo reale senza connessione |
|
Non adatti all’edge computing perché richiedono molte risorse e possono avere latenza elevata |
Ottimi per l’edge computing, dove contano risposte rapide ed efficienza. Abilitano l’AI in dispositivi IoT, smart home e altre applicazioni edge |
Quando valuti l’ambiente di deployment, è essenziale considerare fattori come connettività internet, requisiti di latenza e questioni di privacy. Per applicazioni che devono funzionare offline o con latenza minima, gli SLM distribuiti on-device o all’edge sono spesso la scelta migliore.
La scelta tra LLM e SLM dipende dalla complessità del compito, dalle risorse a disposizione e dall’ambiente di deployment. Gli LLM sono ottimi per compiti complessi che richiedono alta accuratezza, mentre gli SLM sono efficienti e funzionano in più contesti.
Conclusione
Gli SLM stanno rendendo l’AI molto più accessibile. A differenza dei large language models che richiedono enormi risorse di calcolo, gli SLM funzionano con meno. Questo significa che aziende più piccole, sviluppatori individuali e persino startup possono usarli senza server mastodontici o budget esagerati.
Per approfondire i small language models, ti consiglio queste due risorse:
FAQs
Quali sono le differenze specifiche di consumo energetico tra l'esecuzione di uno SLM e di un LLM per una tipica applicazione enterprise?
La differenza di consumo energetico tra SLM e LLM può essere sostanziale. Per una tipica applicazione enterprise, uno SLM può consumare solo il 10-20% dell’energia richiesta da un LLM. Per esempio, eseguire uno SLM per un chatbot di assistenza clienti potrebbe usare circa 50-100 kWh al mese, mentre un LLM per lo stesso compito potrebbe consumare 500-1000 kWh. Tuttavia, le cifre esatte variano in base a dimensioni del modello, pattern d’uso ed efficienza dell’hardware. Aziende come Google e OpenAI hanno riportato che l’esecuzione dei loro modelli più grandi può consumare energia equivalente a quella di diverse centinaia di abitazioni, mentre gli SLM possono spesso girare su server standard o persino su dispositivi edge con requisiti energetici significativamente inferiori.
Come si confrontano le tempistiche di sviluppo tra la creazione di SLM personalizzati e il fine-tuning di LLM esistenti per compiti specializzati?
Le tempistiche di sviluppo per SLM personalizzati rispetto al fine-tuning di LLM possono variare molto. Creare uno SLM personalizzato da zero richiede in genere più tempo, spesso 3-6 mesi per un team di data scientist esperti, perché coinvolge raccolta dati, progettazione dell’architettura, addestramento e test approfonditi. Eseguire il fine-tuning di un LLM esistente per un compito specializzato può essere molto più rapido, potenzialmente in poche settimane. Il compromesso è che LLM ottimizzati potrebbero non raggiungere lo stesso livello di efficienza o specializzazione di uno SLM costruito ad hoc. La scelta dipende spesso dallo use case specifico, dalle risorse disponibili e dalle caratteristiche prestazionali desiderate.
Quali sono le considerazioni legali ed etiche nel deployment di SLM rispetto a LLM, in particolare per quanto riguarda privacy dei dati e proprietà intellettuale?
La privacy dei dati è una preoccupazione importante: gli LLM spesso hanno moltissimi dati di training, aumentando potenzialmente il rischio di esposizione di informazioni personali. Gli SLM, essendo più focalizzati, possono usare dataset più piccoli e controllati, riducendo potenzialmente i rischi di privacy. Le questioni di proprietà intellettuale sono anch’esse critiche: gli LLM addestrati su dati eterogenei dal web potrebbero riprodurre contenuti protetti da copyright. Gli SLM, addestrati su dati più specifici, possono incorrere in meno rischi di questo tipo, ma potrebbero comunque affrontare problemi a seconda dei dati di training. Inoltre, l’interpretabilità e la spiegabilità delle decisioni del modello sono spesso più semplici con gli SLM, aspetto molto importante per applicazioni in settori regolamentati.
Come si confrontano SLM e LLM in termini di capacità multilingue, soprattutto per le lingue meno comuni?
SLM e LLM gestiscono le lingue multiple in modo diverso, soprattutto per quelle meno comuni. Gli LLM, grazie all’enorme mole di dati di training, tendono a funzionare bene in molte lingue, incluse quelle rare, ma a costo di dimensioni e complessità elevate. Gli SLM, pur essendo più piccoli, possono essere personalizzati per lingue specifiche o gruppi linguistici, talvolta superando gli LLM in quegli ambiti. Per le lingue meno diffuse, SLM addestrati ad hoc possono offrire traduzioni o testi più accurati e culturalmente adeguati, poiché si basano su dati specifici di alta qualità, a differenza dei dati più ampi ma forse meno precisi usati dagli LLM.
Quali sono le best practice per il controllo delle versioni e la governance dei modelli quando si lavora con SLM rispetto a LLM in ambienti di produzione?
Le best practice per il versionamento e la governance di SLM e LLM in produzione hanno somiglianze ma anche differenze chiave. Per entrambi è importante mantenere un buon sistema di versionamento per modelli, dati di training e impostazioni. Tuttavia, gli LLM, per dimensioni e sensibilità al fine-tuning, richiedono infrastrutture più complesse per il controllo delle versioni. Gli SLM, più piccoli, rendono più semplice gestire e distribuire versioni diverse. In tema di governance, gli LLM di solito necessitano di controlli più rigorosi a causa dell’ampiezza delle capacità e del potenziale comportamento imprevisto. Gli SLM, con usi più specifici, possono richiedere meno supervisione ma una governance più mirata. Per entrambi, verifiche regolari, monitoraggio delle prestazioni e documentazione chiara di limitazioni e usi previsti sono fondamentali per un uso responsabile dell’AI.
Ana Rojo Echeburúa è una specialista di AI e dati con un dottorato in Matematica Applicata. Le piace trasformare i dati in insight azionabili e ha una vasta esperienza nella guida di team tecnici. Ana ama collaborare da vicino con i clienti per risolvere le loro sfide di business e creare soluzioni di AI innovative. Nota per le sue capacità di problem solving e la comunicazione chiara, è appassionata di AI, in particolare di AI generativa. Ana è dedita all’apprendimento continuo e allo sviluppo etico dell’AI, oltre a semplificare problemi complessi e spiegare la tecnologia in modo accessibile.


