Un esperimento di training prolungato
TinyLlama nasce come progetto di ricerca community avviato nel settembre 2023 da Zhang Peiyuan e collaboratori dello StatNLP Research Group della Singapore University of Technology and Design (SUTD). La versione TinyLlama 1.0 viene rilasciata il 4 gennaio 2024 sotto licenza Apache 2.0.
L’obiettivo dichiarato è verificare una domanda aperta nella ricerca sugli LLM: fino a che punto un modello di piccole dimensioni, addestrato ben oltre i punti di “ottimalità compute” previsti dalle scaling law di Chinchilla, continua a migliorare su benchmark downstream?
Architettura e training
TinyLlama ha 1,1 miliardi di parametri e adotta un’architettura compatibile con Llama 2: stesso tokenizer, stessi hyperparametri strutturali di base, stesse scelte di normalizzazione e attention. Questa compatibilità è intenzionale e permette di riutilizzare l’intero ecosistema tooling di Llama — inferenza, quantizzazione, fine-tuning, deployment — senza adattamenti.
Il training è effettuato su circa 3 trilioni di token, combinando due dataset pubblici: SlimPajama — versione deduplicata e ripulita di RedPajama — e StarCoderData, il corpus di codice usato anche da StarCoder. Per un modello di queste dimensioni, 3T token rappresentano un regime di training molto estensivo.
Il risultato empirico
I benchmark pubblicati dagli autori mostrano che TinyLlama continua a migliorare le prestazioni anche nella parte finale del training, confermando che modelli piccoli non “saturano” così rapidamente come suggerito dalle scaling law originali. Il risultato è rilevante dal punto di vista pratico: modelli compatti, se addestrati abbastanza a lungo, possono raggiungere prestazioni utili in contesti edge, mobili o con vincoli di memoria.
Licenza e uso
La licenza Apache 2.0 e la compatibilità con Llama 2 rendono TinyLlama facilmente integrabile nei flussi di lavoro esistenti. Il modello è disponibile anche in varianti chat fine-tuned e quantizzate, ed è spesso usato come baseline nei confronti su small language model.
