Intelligenza artificiale
Tutto ciò che devi sapere su Llama 3 | Il modello open-source più potente fino ad ora | Concetti all’uso
Meta ha recentemente rilasciato Llama 3, la prossima generazione del suo modello di linguaggio open source di ultima generazione (LLM). Basandosi sulle fondamenta stabilite dal suo predecessore, Llama 3 mira a migliorare le capacità che hanno posizionato Llama 2 come un significativo concorrente open-source di ChatGPT, come delineato nella recensione completa nell’articolo Llama 2: una analisi approfondita del concorrente open-source di ChatGPT.
In questo articolo discuteremo i concetti fondamentali dietro Llama 3, esploreremo la sua innovativa architettura e il processo di formazione, e forniremo indicazioni pratiche su come accedere, utilizzare e distribuire questo modello innovativo in modo responsabile. Che tu sia un ricercatore, uno sviluppatore o un appassionato di intelligenza artificiale, questo post ti fornirà le conoscenze e le risorse necessarie per sfruttare il potere di Llama 3 per i tuoi progetti e applicazioni.
L’evoluzione di Llama: da Llama 2 a Llama 3
Il CEO di Meta, Mark Zuckerberg, ha annunciato il debutto di Llama 3, l’ultimo modello di intelligenza artificiale sviluppato da Meta AI. Questo modello di ultima generazione, ora open-source, è destinato a migliorare i vari prodotti di Meta, tra cui Messenger e Instagram. Zuckerberg ha sottolineato che Llama 3 posiziona Meta AI come l’assistente di intelligenza artificiale più avanzato disponibile gratuitamente.
Prima di parlare dei dettagli di Llama 3, ripercorriamo brevemente il suo predecessore, Llama 2. Introdotta nel 2022, Llama 2 è stata un importante traguardo nel panorama dei modelli di linguaggio open-source, offrendo un modello potente ed efficiente che poteva essere eseguito su hardware consumer.
Tuttavia, se Llama 2 è stato un risultato notevole, aveva le sue limitazioni. Gli utenti hanno segnalato problemi con i rifiuti falsi (il modello rifiuta di rispondere a prompt benigni), limitata utilità e spazio per il miglioramento in aree come ragionamento e generazione di codice.
Entra Llama 3: la risposta di Meta a queste sfide e al feedback della comunità. Con Llama 3, Meta ha l’obiettivo di costruire i migliori modelli open-source paragonabili ai migliori modelli proprietari disponibili oggi, oltre a dare priorità alle pratiche di sviluppo e distribuzione responsabili.
Llama 3: architettura e formazione
Una delle innovazioni chiave in Llama 3 è il suo tokenizer, che presenta un vocabolario notevolmente ampliato di 128.256 token (rispetto ai 32.000 di Llama 2). Questo vocabolario più ampio consente una codifica del testo più efficiente, sia per l’input che per l’output, potenzialmente portando a una maggiore multilinguismo e miglioramenti delle prestazioni in generale.
Llama 3 incorpora anche Grouped-Query Attention (GQA), una tecnica di rappresentazione efficiente che migliora la scalabilità e aiuta il modello a gestire contesti più lunghi in modo più efficace. La versione 8B di Llama 3 utilizza GQA, mentre sia i modelli 8B che 70B possono elaborare sequenze fino a 8.192 token.
Dati di formazione e scalabilità
I dati di formazione utilizzati per Llama 3 sono un fattore cruciale nel suo miglioramento delle prestazioni. Meta ha curato un enorme dataset di oltre 15 trilioni di token da fonti online pubblicamente disponibili, sette volte più grande del dataset utilizzato per Llama 2. Questo dataset include anche una parte significativa (oltre il 5%) di dati di alta qualità non in inglese, coprendo più di 30 lingue, in preparazione di future applicazioni multilingue.
Per garantire la qualità dei dati, Meta ha impiegato tecniche di filtro avanzate, tra cui filtri euristici, filtri NSFW, deduplicazione semantica e classificatori di testo formati su Llama 2 per prevedere la qualità dei dati. Il team ha anche condotto esperimenti approfonditi per determinare la miscela ottimale di fonti di dati per la formazione pre-iniziale, assicurando che Llama 3 si esibisca bene in una vasta gamma di casi d’uso, tra cui trivia, STEM, coding e conoscenza storica.
La scalabilità della formazione pre-iniziale è stata un altro aspetto critico dello sviluppo di Llama 3. Meta ha sviluppato leggi di scalabilità che hanno consentito di prevedere le prestazioni dei suoi modelli più grandi su compiti chiave, come la generazione di codice, prima di effettivamente addestrarli. Ciò ha informato le decisioni sulla miscela di dati e sull’allocazione di calcolo, portando infine a una formazione più efficiente ed efficace.
I modelli più grandi di Llama 3 sono stati addestrati su due cluster di GPU personalizzati da 24.000, sfruttando una combinazione di parallelizzazione dei dati, parallelizzazione del modello e tecniche di parallelizzazione a pipeline. Lo stack di formazione avanzato di Meta ha automatizzato la rilevazione degli errori, la gestione e la manutenzione, massimizzando il tempo di attività della GPU e aumentando l’efficienza della formazione di circa tre volte rispetto a Llama 2.
Fine-tuning delle istruzioni e prestazioni
Per sbloccare il pieno potenziale di Llama 3 per le applicazioni di chat e dialogo, Meta ha innovato il suo approccio al fine-tuning delle istruzioni. Il suo metodo combina fine-tuning supervisionato (SFT), campionamento di rifiuto, ottimizzazione della politica prossimale (PPO) e ottimizzazione della preferenza diretta (DPO).
La qualità dei prompt utilizzati in SFT e le classificazioni di preferenza utilizzate in PPO e DPO hanno giocato un ruolo cruciale nelle prestazioni dei modelli allineati. Il team di Meta ha curato con attenzione questi dati e ha eseguito più turni di garanzia della qualità sulle annotazioni fornite da annotatori umani.
La formazione su classificazioni di preferenza tramite PPO e DPO ha anche migliorato notevolmente le prestazioni di Llama 3 nei compiti di ragionamento e coding. Meta ha scoperto che anche quando un modello fatica a rispondere direttamente a una domanda di ragionamento, potrebbe comunque produrre la traccia di ragionamento corretta. La formazione su classificazioni di preferenza ha consentito al modello di imparare a selezionare la risposta corretta da queste tracce.
I risultati parlano da soli: Llama 3 supera molti modelli di chat open-source disponibili sui benchmark comuni dell’industria, stabilendo nuove prestazioni di ultima generazione per i LLM ai parametri di scala 8B e 70B.
Sviluppo responsabile e considerazioni sulla sicurezza
Mentre persegue prestazioni all’avanguardia, Meta ha anche dato priorità alle pratiche di sviluppo e distribuzione responsabili per Llama 3. L’azienda ha adottato un approccio a livello di sistema, immaginando i modelli Llama 3 come parte di un ecosistema più ampio che mette gli sviluppatori al timone, consentendo loro di progettare e personalizzare i modelli per i loro casi d’uso specifici e requisiti di sicurezza.
Meta ha condotto esercizi di red teaming estensivi, valutazioni avversarie e implementato tecniche di mitigazione della sicurezza per ridurre i rischi residui nei suoi modelli con istruzioni fine-tune. Tuttavia, l’azienda riconosce che i rischi residui probabilmente rimarranno e raccomanda agli sviluppatori di valutare questi rischi nel contesto dei loro casi d’uso specifici.
Per supportare la distribuzione responsabile, Meta ha aggiornato la sua Guida all’uso responsabile, fornendo una risorsa completa per gli sviluppatori per implementare le migliori pratiche di sicurezza a livello di modello e di sistema per le loro applicazioni. La guida copre argomenti come la moderazione dei contenuti, la valutazione dei rischi e l’uso di strumenti di sicurezza come Llama Guard 2 e Code Shield.
Llama Guard 2, costruito sulla tassonomia MLCommons, è progettato per classificare input (prompt) e risposte LLM, rilevando contenuti che potrebbero essere considerati insicuri o dannosi. CyberSecEval 2 si estende sul suo predecessore aggiungendo misure per prevenire l’abuso dell’interprete di codice del modello, capacità di cibersicurezza offensive e suscettibilità agli attacchi di iniezione di prompt.
Code Shield, una nuova introduzione con Llama 3, aggiunge un filtro di inferenza dei codici insicuri prodotti dai LLM, mitigando i rischi associati a suggerimenti di codice insicuri, abuso dell’interprete di codice e esecuzione di comandi sicuri.
Accedere e utilizzare Llama 3
A seguito del lancio di Llama 3 di Meta AI, sono stati resi disponibili diversi strumenti open-source per il deploy locale su vari sistemi operativi, tra cui Mac, Windows e Linux. Questa sezione descrive tre strumenti notevoli: Ollama, Open WebUI e LM Studio, ognuno dei quali offre funzionalità uniche per sfruttare le capacità di Llama 3 sui dispositivi personali.
Ollama: disponibile per Mac, Linux e Windows, Ollama semplifica l’operazione di Llama 3 e altri grandi modelli di linguaggio su computer personali, anche su quelli con hardware meno potente. Include un gestore di pacchetti per una facile gestione dei modelli e supporta comandi su più piattaforme per scaricare e eseguire modelli.
Open WebUI con Docker: questo strumento fornisce un’interfaccia utente-friendly basata su Docker compatibile con Mac, Linux e Windows. Si integra perfettamente con i modelli del registro Ollama, consentendo agli utenti di distribuire e interagire con modelli come Llama 3 all’interno di un’interfaccia web locale.
LM Studio: rivolto agli utenti su Mac, Linux e Windows, LM Studio supporta una gamma di modelli e si basa sul progetto llama.cpp. Fornisce un’interfaccia di chat e facilita l’interazione diretta con vari modelli, tra cui il modello Llama 3 8B Instruct.
Questi strumenti garantiscono che gli utenti possano utilizzare efficientemente Llama 3 sui loro dispositivi personali, soddisfacendo una gamma di competenze tecniche e requisiti. Ogni piattaforma offre processi passo dopo passo per l’installazione e l’interazione con il modello, rendendo l’intelligenza artificiale avanzata più accessibile agli sviluppatori e agli appassionati.















