Modelli e piattaforme di IA
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 alta qualità (LLM). Costruito 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 descritto nella recensione approfondita nell’articolo Llama 2: Un’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 le tue 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 alta qualità, ora open-source, è destinato a migliorare 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, facciamo un breve ritorno al suo predecessore, Llama 2. Introdotta nel 2022, Llama 2 era 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, mentre Llama 2 era un risultato notevole, aveva le sue limitazioni. Gli utenti hanno segnalato problemi con i rifiuti falsi (il modello rifiutava di rispondere a prompt benigni), limitata utilità e margini di 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 cercato di costruire i migliori modelli open-source paragonabili ai migliori modelli proprietari disponibili oggi, dando priorità anche alle pratiche di sviluppo e distribuzione responsabili.
Llama 3: Architettura e formazione
Una delle innovazioni chiave in Llama 3 è il suo tokenizzatore, che presenta un vocabolario significativamente 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 generali delle prestazioni.
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 la versione 8B che la versione 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 set di dati di oltre 15 trilioni di token da fonti online pubblicamente disponibili, sette volte più grande del set di dati utilizzato per Llama 2. Questo set di dati include anche una porzione 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 filtraggio avanzate, tra cui filtri euristici, filtri NSFW, deduplicazione semantica e classificatori di testo addestrati su Llama 2 per prevedere la qualità dei dati. Il team ha anche condotto esperimenti estensivi 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, codifica e conoscenza storica.
La scalabilità della formazione è stata un altro aspetto critico nello 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 addestrarli effettivamente. Ciò ha informato le decisioni sulla miscela di dati e sull’allocazione di calcolo, portando a una formazione più efficiente ed efficace.
I modelli più grandi di Llama 3 sono stati addestrati su due cluster di 24.000 GPU personalizzati, 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 nel SFT e le classificazioni di preferenza utilizzate nel PPO e nel DPO hanno svolto un ruolo cruciale nelle prestazioni dei modelli allineati. Il team di Meta ha curato con attenzione questi dati e ha eseguito più round di garanzia della qualità delle annotazioni fornite dagli annotatori umani.
La formazione sulle classificazioni di preferenza tramite PPO e DPO ha anche migliorato significativamente le prestazioni di Llama 3 nei compiti di ragionamento e codifica. 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 sulle classificazioni di preferenza ha consentito al modello di apprendere come 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 riferimento per i modelli di linguaggio a scala di 8B e 70B.
Sviluppo responsabile e considerazioni sulla sicurezza
Mentre perseguiva le 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 di Llama 3 come parte di un ecosistema più ampio che mette gli sviluppatori alla guida, 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 ha implementato tecniche di mitigazione della sicurezza per ridurre i rischi residui nei suoi modelli istruiti. 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 di MLCommons, è progettato per classificare gli input (prompt) e le risposte dei modelli di linguaggio, rilevando contenuti che potrebbero essere considerati non sicuri o dannosi. CyberSecEval 2 estende il suo predecessore aggiungendo misure per prevenire l’abuso dell’interprete di codice del modello, capacità di sicurezza informatica offensive e vulnerabilità agli attacchi di iniezione di prompt.
Code Shield, una nuova introduzione con Llama 3, aggiunge la filtrazione dell’inferenza dei codici non sicuri prodotti dai modelli di linguaggio, mitigando i rischi associati alle suggerimenti di codice non sicuri, all’abuso dell’interprete di codice e all’esecuzione di comandi sicuri.
Accesso e utilizzo di Llama 3
Dopo il lancio di Llama 3 di Meta AI, sono stati resi disponibili diversi strumenti open-source per la distribuzione 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 modelli di linguaggio di grandi dimensioni sui computer personali, anche quelli con hardware meno potente. Include un gestore di pacchetti per la gestione facile dei modelli e supporta comandi su piattaforme per il download e l’esecuzione dei 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 di 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, adattandosi a una gamma di competenze tecniche e requisiti. Ogni piattaforma offre processi passo-passo per la configurazione e l’interazione con il modello, rendendo l’intelligenza artificiale avanzata più accessibile agli sviluppatori e agli appassionati.















