TinyLlama: un modello da 1,1B addestrato su 3 trilioni di token

Progetto community di SUTD: TinyLlama 1.0 rilasciato il 4 gennaio 2024, 1,1B parametri, architettura Llama 2 compatibile, training su 3T token, licenza Apache 2.0.

Open SourceAI Open SourceTinyLlamaSLMLLMAICommunity

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.

Link: github.com/jzhang38/TinyLlama

Vuoi supporto? Sei sotto attacco? Stato dei servizi
Vuoi supporto? Sei sotto attacco? Stato dei servizi