Nel continuo susseguirsi di annunci, quello dei nuovi modelli llama 3 di Meta non può passare inosservato, in primis perché con il rilascio di llama 2 Meta aveva aperto all’idea che sia possibile avere modelli addestrati da una big corporation americana che si possono usare “on-prem” senza dipendere da un servizio cloud come avviene nel caso di OpenAI (e più tardi di Gemini). L’altro aspetto centrale di questa classe di modelli è sicuramente la possibilità prevista dalla licenza di essere impiegati in applicazioni commerciali.
Le due versioni di Llama 3: 8B e 70B
Llama 3 è stato rilasciato in due versioni: 8B e 70B, rispettivamente otto e settanta miliardi di parametri. Si vocifera poi che sarà rilasciata una versione da 400B del modello con performance attese paragonabili a GPT4.
L’annuncio è accompagnato con un servizio basato su Llama 3 chiamato Meta AI (servizio non ancora disponibile in Italia).
L’addestramento del modello
È sicuramente notevole la dimensione del dataset usato per addestrare il modello: 15 tera token di dati, circa trenta volte rispetto al dataset usato per addestrare GPT-3.5, anche se pare che una porzione significativa di questi dati sia sintetica. È comunque un fatto che l’addestramento è stato realizzato con un cluster con 24.000 GPU sottolineando, se ce ne fosse ancora bisogno, come l’addestramento di questi mega modelli non è un compito a disposizione di tutti.
Eseguire Llama 3: l’efficienza del modello
Il modo più rapido di eseguire Llama 3 è quello di usare ollama:
Il modello 8B è molto efficiente e sembra decisamente migliore della versione precedente, anche se nella deduzione logica non sembra essere ancora all’altezza nonostante una forma molto convincente nell’esporre il ragionamento.
Il problema classico “un mattone pesa un chilo più mezzo mattone, quanto pesa un mattone?” Che vede in 2kg la risposta produce un ragionamento decisamente fallace con una conclusione che non avevo ancora ottenuto: 1,5kg, finora avevo ottenuto da molti modelli 0,5kg.
L’esecuzione del modello è decisamente efficiente, molto più efficiente del suo predecessore, così come la capacità dialettica.
Misurare le prestazioni di Llama 3: benchmark e confronti con altri modelli
Sulla pagina del modello di Llama 3 sono riportati i risultati dei benchmark standard usati per confrontare i modelli. Senza sorprese il modello sembra funzionare meglio se confrontato con modelli della stessa classe. Ma quanto sono affidabili queste valutazioni?
Se osserviamo la LMSYS Chat leaderboard troviamo Llama 3 8B in diciottesima posizione, sopra GPT-3.5-Turbo- 0613 in posizione numero 24.
La mia personale esperienza è però differente, l’impressione che si ha è che GPT-3.5 sia più capace nel ragionamento:
La risposta è corretta così come la derivazione che porta alla conclusione.
Anche se proviamo Llama 3 70B otteniamo qualche volta la risposta attesa:
All’esecuzione precedente il modello diceva che il peso è di 0,5kg!
La difficoltà nel confrontare modelli differenti
Da sviluppatore AI che sta accumulando conoscenza empirica, l’impressione che mi sono fatto è che sia veramente difficile confrontare modelli differenti. La verifica mediante benchmark rischia di non riflettere i molti aspetti da considerare, un modello può ottenere risultati ottimi nel confronto su benchmark ma comportarsi in modo non ottimale per prompt specifici.
Nel caso di Llama 3 sembra che la deduzione logica mediante il linguaggio sia piuttosto aleatoria: a parità di prompt ho ottenuto tre risposte differenti con numerose giustificazioni. È quindi importante valutare l’impiego di questi modelli con la tipologia di prompt che si intende impiegare, Llama 3 8B si comporta in modo sorprendente sia in termini di performance che di qualità di linguaggio (anche in italiano), ma le capacità logico deduttive non mi hanno colpito particolarmente e sicuramente GPT-3.5 è decisamente superiore e consistente nella qualità delle risposte a parità di prompt.
Conclusioni
Llama 3 è decisamente un passo avanti nel mondo dei modelli LLM disponibili, la qualità e le prestazioni rispetto al predecessore sono decisamente ottime. Il modello Llama 3 70B presenta comportamenti più consistenti con una migliore capacità di manipolazione del linguaggio, ma l’esecuzione richiede investimenti più onerosi rispetto alla controparte 8B che funziona egregiamente anche sul mio portatile.
Resta difficile posizionare la sua qualità in relazione ad altri modelli, a tutt’oggi quando propongo prompt come quello usato ottengo risultati contrastanti con i numeri dei benchmark, evidenziando un chiaro problema nella capacità di misurare i reali comportamenti di questi modelli e, almeno a oggi, le valutazioni qualitative possono contribuire a verificare che il comportamento rispetto a certi prompt del modello sia in linea con le attese. Sembra quasi che ciascun modello abbia un “carattere” e il loro confronto assomigli sempre di più al confronto di esseri umani: non si riesce a fare una valutazione assoluta, piuttosto si possono confrontare punti di forza e debolezza a seconda dei vari aspetti che vengono valutati.
In ogni caso lo sviluppo di modelli aperti sta evidentemente contribuendo a migliorare lo stato dell’arte e forniscono sempre più spesso alternative valide per alcune applicazioni rispetto ai servizi cloud only con modelli più complessi.