My IBM Accedi Iscriviti

Cos'è Llama 2?

19 dicembre 2023

Autori

Dave Bergmann

Senior Writer, AI Models

IBM

Cos'è Llama 2?

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.

Confronto fra Llama 2 e LLaMa 1

Il documento di ricerca Llama 2 descrive nel dettaglio i diversi vantaggi offerti dalla nuova generazione di modelli AI rispetto ai modelli LLama originali.

  • Maggiore lunghezza del contesto: i modelli Llama 2 offrono una lunghezza del contesto di 4.096 token, ovvero il doppio di quella di LLaMa 1. La lunghezza del contesto (o finestra di contesto) si riferisce al numero massimo di token che il modello "ricorda" durante l'inferenza (ovvero la generazione di testo o una conversazione in corso). Ciò consente una maggiore complessità e uno scambio più coerente e fluido del linguaggio naturale.
  • Maggiore accessibilità: mentre LLaMa 1 è stato rilasciato esclusivamente per scopi di ricerca, Llama 2 è disponibile per qualsiasi organizzazione (con meno di 700 milioni di utenti attivi).
  • Addestramento più solido: Llama 2 è stato pre-addestrato sul 40% di dati in più, il che aumenta la sua base di conoscenza e la comprensione contestuale. Inoltre, a differenza di LLaMa 1, i modelli di chat di Llama 2 sono stati perfezionati utilizzando l'apprendimento per rinforzo da feedback umano (RLHF), che aiuta ad allineare meglio le risposte dei modelli alle aspettative umane.
Design 3D di palline che rotolano su una pista

Le ultime notizie e insight sull'AI 


Scopri notizie e insight selezionati da esperti in materia di AI, cloud e molto altro nella newsletter settimanale Think. 

Llama 2 è open source?

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:

  • Qualsiasi organizzazione con più di 700 milioni di utenti attivi al mese deve richiedere una licenza a Meta (concessa a esclusiva discrezione di Meta). 2
  • La "Politica d'uso accettabile" proibisce l'uso dei modelli a scopi di violenza, attività criminali e impersonificazione di esseri umani, oltre ad altre restrizioni legali e morali.

Queste restrizioni contraddicono due punti dell'OSD:

  • Punto 5: "La licenza non deve discriminare persone o gruppi di persone." 3
  • Punto 6: "La licenza non deve impedire a nessuno di utilizzare il programma in un campo di applicazione specifico." 3

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

AI Academy

Ecco perché i foundation model rappresentano un cambio di paradigma per l'AI

Scopri una nuova classe di modelli AI flessibili e riutilizzabili che possono sbloccare nuove entrate, ridurre i costi e aumentare la produttività, consulta quindi la nostra guida per approfondire.

Come funziona Llama 2?

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.

Modelli di base Llama 2

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:

  • Alpaca: una versione ottimizzata di LLaMa 7B per seguire le istruzioni dai ricercatori della Stanford University. In particolare, ha ottenuto risultati competitivi con GPT-3.5 nonostante sia costato solo 600 USD in risorse di calcolo.5
  • Vicuna: un modello di assistente alla chat di LMSYS Org, addestrato perfezionando Llama 2 13B sulle conversazioni degli utenti da ShareGPT (link esterno a ibm.com). Ha superato Alpaca in oltre il 90% dei casi, con un costo di addestramento di soli 300 USD.6
  • Orca: una versione perfezionata di Llama 2 addestrata da Microsoft utilizzando uno schema "insegnante-studente", in cui un LLM più grande e potente viene utilizzato per generare esempi di comportamenti di ragionamento utili che il modello più piccolo poteva seguire.7
  • WizardLM: messo a punto utilizzando Evol-Instruct, un metodo per la creazione di grandi quantità di dati di istruzioni sintetiche attraverso gli LLM, WizardLM ha raggiunto più del 90% delle prestazioni di ChatGPT in 17 delle 29 skill valutate.8

Modelli di chat Llama 2

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 generare 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 ottimizzato per la sicurezza (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.

Codice Llama

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.

Confronto fra Llama 2 e modelli closed-source

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:

  • GPT-3 ha 175 miliardi di parametri.
  • Si stima che GPT-4 abbia 1 trilione di parametri.9
  • Si dice che PaLM 2 di Google abbia 340 miliardi di parametri.10 Il suo predecessore, PaLM, ha 540 miliardi di parametri.11
  • Anthropic non ha rilasciato il conteggio dei parametri per i modelli Claude, ma un recente documento suggerisce l'esistenza di una versione da 175 miliardi di parametri di Claude 2.12

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%. Per quanto riguarda 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.

Come utilizzare Llama 2

Llama 2 non dispone di una propria API dedicata, ma è accessibile tramite più provider.

  • Llama-2-13B-chat e Llama-2-70B-chat sono tra i numerosi foundation model disponibili in watsonx, attraverso la partnership di IBM con Hugging Face.

  • I pesi dei modelli e il codice iniziale per Llama 2 possono essere scaricati direttamente da Github, dove Meta fornisce anche istruzioni, demo e "ricette" per Llama 2 (link esterno a ibm.com). È possibile implementare i modelli in framework di machine learning open source come PyTorch o LangChain.

  • Llama 2 è disponibile anche tramite provider open source come Hugging Face e provider aziendali come Microsoft Azure e Amazon Sagemaker e Bedrock, oltre a numerose startup basate sul cloud.
Soluzioni correlate

Soluzioni correlate

Foundation Model

Esplora la libreria IBM di foundation model nel portfolio di watsonx per scalare in sicurezza l'AI generativa per la tua azienda.

Scopri watsonx.ai
Soluzioni di intelligenza artificiale

Metti l'AI al servizio della tua azienda grazie all'esperienza leader di settore e alla gamma di soluzioni di IBM nel campo dell'AI.

Esplora le soluzioni AI
Consulenza e servizi sull'AI

Reinventa i workflow e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.

Esplora i servizi AI
Fai il passo successivo

Esplora la libreria IBM dei foundation model nel portafoglio di IBM watsonx per scalare in sicurezza l'AI generativa per la tua azienda.

Esplora watsonx.ai Esplora le soluzioni AI
Note a piè di pagina

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