Home
topics
Llama 2
Pubblicato: 19 dicembre 2023
Collaboratori: Dave Bergmann
Llama 2 è una famiglia di modelli linguistici di grandi dimensioni (LLM) pre-addestrati e ottimizzati rilasciata da Meta AI nel 2023 gratuitamente per la ricerca e l'uso commerciale. I modelli AI Llama 2 sono in grado di svolgere una varietà di attività di elaborazione del linguaggio naturale (NLP), dalla generazione di testo alla programmazione del codice.
La famiglia di modelli Llama 2, offerti sia come foundation model che come modelli "chat" ottimizzati, funge da successore dei modelli originali LLaMa 1, che sono stati rilasciati nel 2022 con una licenza non commerciale che garantisce l'accesso caso per caso. esclusivamente agli istituti di ricerca. A differenza dei loro predecessori, i modelli Llama 2 sono disponibili gratuitamente sia per la ricerca che per l'uso commerciale dell'IA.
I modelli Llama di Meta puntano quindi a svolgere un ruolo importante nella democratizzazione dell'ecosistema dell'AI generativa. Come evidenziato nel documento di ricerca Llama 2 (link esterno a ibm.com), sebbene la metodologia per il pre-addestramento di LLM autoregressivi tramite apprendimento autosupervisionato sia, ormai, relativamente semplice e ben compresa, gli immensi requisiti computazionali che il processo comporta hanno ha in gran parte limitato lo sviluppo di LLM all'avanguardia a pochi attori chiave. Poiché la maggior parte dei LLM all'avanguardia, come GPT di OpenAI, Claude di Anthropic e BARD di Google, sono modelli proprietari closed source (e massicci), l'accesso pubblico alla ricerca sull'AI che potrebbe aiutare a capire come e perché questi modelli funzionano (e come allineare meglio il loro sviluppo con gli interessi umani) è stato notevolmente limitato.
Oltre a rendere liberamente disponibili il codice e i pesi dei modelli, il progetto Llama si è concentrato sul miglioramento delle funzionalità di prestazione dei modelli più piccoli, piuttosto che sull’aumento del numero di parametri. Mentre i modelli closed source più importanti hanno centinaia di miliardi di parametri, i modelli Llama 2 sono offerti con sette miliardi (7B), 13 miliardi (13B) o 70 miliardi di parametri (70B).
Ciò consente alle organizzazioni più piccole, ad esempio le startup e i membri della comunità di ricerca, di distribuire istanze locali di modelli Llama 2 (o di modelli basati su Lama sviluppati dalla comunità dell'AI), senza tempi di calcolo proibitivi o investimenti infrastrutturali.
Il documento di ricerca Llama 2 descrive nel dettaglio i diversi vantaggi offerti dalla nuova generazione di modelli AI rispetto ai modelli LLama originali.
Scopri la potenza dell'integrazione di una strategia data lakehouse nella tua architettura dei dati, compresi i miglioramenti per scalare l'AI e le opportunità di ottimizzazione dei costi.
Sebbene Meta abbia reso il codice iniziale e i pesi dei modelli di Llama 2 liberamente disponibili per la ricerca e l'uso commerciale, alcune limitazione nel suo accordo di licenza hanno sollevato dubbi sul fatto che possa essere propriamente definito "open source".
Il dibattito è in qualche modo tecnico e semantico: anche se "open source" è spesso usato colloquialmente per riferirsi a qualsiasi software (o altri strumenti di programmazione) il cui codice sorgente è distribuito gratuitamente, in realtà si tratta di una designazione formale gestita dall'Open Source Initiative (OSI). L'OSI certifica una determinata licenza software come "approvata dall'iniziativa Open Source" solo se ritiene che tale licenza soddisfi i dieci requisiti elencati nella Open Source Definition (OSD) ufficiale (link esterno a ibm.com).
Come spiegato in una dichiarazione di Stefano Maffulli, direttore esecutivo dell'OSI, "l'OSI è lieta di vedere che Meta sta abbassando le barriere di accesso a potenti sistemi di AI. Purtroppo, il colosso della tecnologia ha creato l'equivoco secondo cui LLama 2 è 'open source', quando invece non lo è." 1.
La discrepanza deriva da due aspetti dell'accordo di licenza di Llama 2:
Queste restrizioni contraddicono due punti dell'OSD:
Per riconoscere sia lo spirito aperto di Llama 2 sia la sua incapacità di soddisfare veramente la definizione tecnica di "open source", alcune persone nella comunità tecnologica hanno utilizzato il termine "open approach". 4
I foundation model Llama 2 sono modelli di fondazione pre-addestrati destinati a essere ottimizzati per casi d'uso specifici, mentre i modelli di chat Llama 2 sono già ottimizzati per il dialogo.
Llama 2 è una famiglia di modelli linguistici causali autoregressivi basati su trasformatori. I modelli linguistici autoregressivi accettano una sequenza di parole come input e prevedono in modo ricorsivo (output) le parole successive.
Durante il pre-addestramentoautosupervisionato, agli LLM viene fornito l'inizio di frasi campione tratte da un enorme corpus di dati non etichettati, con il compito di prevedere la parola successiva. Durante l'addestramento del modello per ridurre al minimo la divergenza tra la verità di base (la parola successiva effettiva) e le sue previsioni, il modello apprende a replicare i modelli linguistici e logici nei dati di addestramento. Sebbene il documento di ricerca ometta in particolare i dettagli su specifiche fonti di dati, afferma che Llama 2 è stato addestrato con 2 trilioni di token (parole rappresentate numericamente, parti di parole, frasi e altri frammenti semantici che le reti neurali basate su trasformatori utilizzano per l'elaborazione del linguaggio) ottenuti da fonti disponibili al pubblico.
A livello di base, i foundation model non sono pre-addestrati per rispondere effettivamente a un prompt: vi aggiungono del testo in modo grammaticalmente coerente. Un foundation model preconfigurato potrebbe rispondere alla richiesta "insegnami a fare i biscotti" con "per una festa".È necessaria un'ulteriore messa a punto, tramite tecniche come l’apprendimento supervisionato e l’apprendimento di rinforzo, per addestrare un foundation model per applicazioni specifiche come il dialogo, seguire le istruzioni o la scrittura creativa.
I modelli base di Llama 2 sono invece destinati a fungere appunto da base su cui costruire un modello specifico per uno scopo. Ad oggi, i modelli Llama 2 (e l'originale LLaMa) sono stati utilizzati come base per numerosi importanti LLM open source, tra cui:
I modelli di Llama-2-chat sono ottimizzati per i casi d'uso basati sul dialogo, in modo simile alle versioni specifiche del modello GPT utilizzate in ChatGPT.
La Messa a punto supervisionata (SFT) è stata utilizzata per preparare il modello di base pre-addestrato Llama 2 per genreare risposte nel formato atteso dagli utenti in un'impostazione di chatbot o agente virtuale. In una serie di attività di apprendimento supervisionato, le coppie etichettate di scambi in stile dialogo, annotate come (prompt, risposta) vengono utilizzate per addestrare il modello a minimizzare la divergenza fra la sua risposta a un determinato prompt e la risposta di esempio fornita dai dati etichettati. In questo modo, il modello impara, ad esempio, che la risposta adeguata al prompt "insegnami a preparare i biscotti" è fornire le istruzioni per preparare i biscotti invece che completare semplicemente la frase.
Invece di utilizzare milioni di esempi etichettati, l'articolo dichiara che i risultati sono stati migliorati utilizzando "meno esempi, ma di qualità superiore", sottolineando che Meta AI ha raccolto 27.540 esempi annotati.
Dopo l'SFT, Meta ha utilizzato l'apprendimento per rinforzo da feedback umano (RLHF) per allineare ulteriormente il comportamento dei modelli di chat alle preferenze umane e alle istruzioni. Nell'RLHF, il feedback umano diretto viene utilizzato per addestrare un "modello di ricompensa" che impari i pattern dei tipi di risposta preferiti dagli umani. Traducendo le previsioni del modello di ricompensa (riguardo al fatto che una determinata risposta sia preferita dagli umani) in un segnale di ricompensa scalare, il modello di ricompensa viene poi utilizzato per addestrare ulteriormente Llama-2-chat tramite apprendimento di rinforzo.
Esistono molti metodi e formati diversi in cui è possibile raccogliere il feedback umano. Meta AI ha utilizzato un semplice metodo di confronto binario: agli annotatori umani è stato chiesto di scrivere un prompt, quindi scegliere tra due risposte del modello in base ai criteri forniti da Meta, generate da due diverse varianti di Llama 2. Per aiutare il modello di ricompensa a ponderare adeguatamente queste scelte, agli annotatori è stato anche chiesto di valutare il grado in cui preferivano la risposta scelta rispetto all’altra: "molto migliore", "leggermente migliore" o "differenza trascurabile/incerto."
Le preferenze umane sono state utilizzate per addestrare due modelli di ricompensa separati: uno ottimizzato per l'utilità, l'altro per la sicurezza (ad es. evitare risposte tossiche e contenenti linguaggi d'odio o risposte che potrebbero essere utilizzate per favorire violenza o attività criminali). Oltre all'ottimizzazione della politica prossimale (PPO), l'algoritmo tipicamente utilizzato per aggiornare i pesi del modello LLM in RLHF, Meta ha utilizzato anche il campionamento del rifiuto (link esterno a ibm.com) per aggiornare Llama-2-chat-70B.
Code Llama, costruito su Llama 2, è ottimizzato per generare codice (e linguaggio naturale sul codice) da prompt basati sul codice e sul linguaggio naturale. Introdotto poco dopo il rilascio dei modelli base e di chat di Llama 2, è gratuito per la ricerca e l'uso commerciale.
Supporta i linguaggi di programmazione più diffusi, tra cui Python, C++, Java, PHP e Javascript (tra gli altri), è disponibile in dimensioni di modello con parametri 7B, 13B e 34B e vanta una lunghezza del contesto fino a 100.000 token. Due varianti aggiuntive, Code Llama - Python e Code Llama - Instruct, sono ottimizzate rispettivamente per Python (e PyTorch) e per le istruzioni.
Rispetto ai suoi concorrenti closed source, i modelli Llama 2 eccellono in aree come la sicurezza e l'accuratezza fattuale. Anche se Llama 2 potrebbe non eguagliare tutte le funzionalità di modelli molto più grandi, la sua disponibilità aperta e la sua maggiore efficienza presentano vantaggi unici.
Quando si confronta Llama 2 con i più importanti modelli proprietari della concorrenza, come OpenAI, Anthropic e Google, è importante considerare la scalabilità. Sebbene i modelli closed source non sempre rivelino tutti i dettagli della loro architettura, le informazioni disponibili suggeriscono che tutti superino di gran lunga i 70 miliardi di parametri dei modelli Llama 2 più grandi:
Valutazione umana
Secondo il documento di ricerca Llama 2, i valutatori umani hanno preferito le risposte Llama-2-chat 70B a quelle di GPT-3.5.-turbo-0301, il modello standard per ChatGPT: le risposte Llama 2 avevano un tasso di successo del 36% e un tasso di pareggio del 31,5%. Rispetto a PaLM Bison, il secondo modello PaLM più grande, 70B ha avuto un tasso di successo superiore al 50%.
Sicurezza
Nei test di Meta, i modelli da 7B, 13B e 70B di Llama 2 avevano tutti percentuali di violazioni della sicurezza significativamente inferiori rispetto a PaLM Bison (3% e 4%, rispetto al 27% di PaLM), nonché percentuali di violazioni della sicurezza inferiori rispetto al 7% di ChatGPT. Questo è un punto di forza importante per i casi d’uso aziendali, in cui il linguaggio tossico, di odio o provocatorio dei chatbot può avere conseguenze importanti.
Privacy ed efficienza
Un vantaggio intrinseco dei modelli aperti di dimensioni ridotte rispetto ai modelli closed-source di grandi dimensioni è la libertà per le aziende di eseguire istanze di modelli locali e la convenienza di poterlo fare senza ingenti investimenti in infrastrutture o cloud computing. L'esecuzione di un modello locale garantisce che il codice proprietario, le modifiche di addestramento e i dati proprietari possano essere utilizzati per mettere a punto le prestazioni del modello senza essere caricati su un server commerciale o, potenzialmente, utilizzati nella formazione futura di modelli closed-source. Inoltre, modelli di dimensioni più piccole, come le varianti 7B e 13B, consentono prestazioni più fluide in ambienti come le app mobili, in cui la potenza di elaborazione è limitata.
Llama 2 non dispone di una propria API dedicata, ma è accessibile tramite più provider.
Addestra, convalida, adatta e distribuisci AI generativa, foundation model e funzionalità di machine learning con facilità e crea applicazioni AI in un tempo brevissimo con pochissimi dati.
Offri un servizio clienti intelligente e coerente in tutti i canali e i touchpoint con i conversational AI chatbot.
Ripensa il modo in cui lavori con l'AI: il nostro team globale e diversificato, composto da oltre 20.000 esperti di AI, può aiutarti a progettare e scalare l'AI e l'automazione in tutta l'azienda in modo rapido e sicuro, lavorando con la nostra tecnologia IBM watsonx e con un ecosistema aperto di partner, per fornire qualsiasi modello AI, su qualsiasi cloud, guidato da etica e fiducia.
Scopri di più su Llama 2 e sui foundation model in generale.
I modelli AI moderni che eseguono compiti specifici in un unico dominio stanno lasciando il posto a quelli che apprendono in modo più generale, lavorando su diversi domini e problemi. Scopri come i foundation model, addestrati su set di dati di grandi dimensioni non etichettati e ottimizzati per una serie di applicazioni, stanno guidando questo cambiamento.
Scopri come IBM sta sviluppando foundation model generativi affidabili, efficienti dal punto di vista energetico e portatili, che consentono alle aziende di spostare senza soluzione di continuità i workload AI tra cloud pubblici e privati.
Esplora il processo di codifica di valori e obiettivi umani nei modelli linguistici di grandi dimensioni per renderli il più utili, sicuri e affidabili possibile. Attraverso l'allineamento, le aziende possono personalizzare i modelli di AI perché seguano le proprie regole e politiche aziendali.
Tutti i link sono esterni a ibm.com.
1 "Meta's LLaMa 2 license is not Open Source", Voices of Open Source, 20 luglio 2023
2 "Llama 2 Community License Agreement", Meta, 18 luglio 2023
3 "The Open Source Definition", Open Source Initiative, ultima modifica il 22 febbraio 2023
4 "Statement of Support for Meta’s Open Approach to Today’s AI", Meta, 18 luglio 2023
5 "Alpaca: A Strong, Replicable Instruction-Following Model", Stanford CRFM, 13 marzo 2023
6 "Vicuna: An Open-Source Chatbot Impressing GPT-4 with 90%* ChatGPT Quality", LMSYS Org, 30 marzo 2023
7 "Orca-2: Teaching Small Language Models How to Reason", Microsoft, novembre 2023
8 "WizardLM: Empowering Large Language Models to Follow Complex Instructions", arXiv, 10 giugno 2023
9 "The secret history of Elon Musk, Sam Altman, and OpenAI," Semafor, 24 marzo 2023
10 "Google’s newest A.I. model uses nearly five times more text data for training than its predecessor", CNBC, 16 maggio 2023
11 "Pathways Language Model (PaLM): Scaling to 540 Billion Parameters for Breakthrough Performance", Google, 4 aprile 2023
12 "The Capacity for Moral Self-Correction in Large Language Models," arXiv, 18 febbraio 2023