Modelli e piattaforme di IA

Zephyr-7B: il modello di linguaggio iper-ottimizzato di Hugging Face costruito su Mistral 7B

mm
Aggiungi Unite.AI alle tue fonti preferite su Google

Introduzione

L’evoluzione dei modelli di linguaggio aperti (LLM) ha avuto un impatto significativo sulla comunità di ricerca sull’intelligenza artificiale, in particolare nello sviluppo di chatbot e applicazioni simili. Dopo il rilascio di modelli come LLaMA, c’è stato un aumento di ricerca sull’ottimizzazione efficiente, sulla gestione estesa dei prompt, sulla generazione assistita dal recupero (RAG) e sulla quantizzazione.

Il modello LLaMA, ad esempio, ha segnato una nuova era nell’ottimizzazione e nel contestualizzazione dei prompt, aprendo la strada a modelli successivi come MosaicML’s MPT, Together AI’s RedPajama-INCITE, TII’s Falcon e Meta’s Llama 2. Ognuno di questi modelli contribuisce con capacità uniche, migliorando la funzionalità e la portata complessiva degli LLM.

Mistral AI, una startup di Parigi fondata da ex dipendenti di Google DeepMind e Meta, si è fatta un nome con la sua prima offerta: Mistral 7B.

Il vantaggio di Mistral 7B risiede nella sua efficienza, offrendo capacità simili o migliorate rispetto ai pari come Llama 2, ma con una minore richiesta computazionale.

In particolare, Mistral 7B Instruct è stato ottimizzato per le attività di istruzione e si distingue su piattaforme come Hugging Face, dove supera altri modelli della stessa dimensione e compete strettamente con quelli che hanno quasi il doppio dei suoi parametri.

Partendo da questo, Hugging Face ha introdotto Zephyr 7B Alpha, dimostrando che un Mistral 7B ottimizzato può effettivamente superare le capacità di modelli di chat molto più grandi e, in alcuni compiti, anche rivaleggiare con GPT-4. L'”Alpha” era solo l’inizio, poiché Zephyr 7B Beta è seguito poco dopo.

Questo articolo esplorerà come Zephyr 7B sfrutti il potere dei modelli più grandi per raffinare la sua capacità di rispondere e allinearsi con le istruzioni umane, un processo reso possibile attraverso la tecnica della distillazione della conoscenza. Questo metodo prevede l’addestramento di modelli più piccoli sui modelli complessi appresi da modelli più grandi, riducendo le richieste di addestramento senza sacrificare le capacità di modellazione del linguaggio. Esamineremo i dettagli dell’approccio di Hugging Face alla distillazione della conoscenza.

Distillazione della conoscenza

Un’innovazione chiave nello sviluppo di modelli come Zephyr-7B è la distillazione supervisata fine-tuning (dSFT). Questo metodo prevede l’utilizzo dell’output di un modello più grande e più capace “insegnante” per addestrare un modello più piccolo “studente”, migliorandone la precisione. Sebbene la distillazione migliori i modelli aperti in vari compiti, esiste ancora un divario di prestazioni rispetto ai modelli insegnanti.

La distillazione della conoscenza è un metodo di apprendimento automatico in cui un modello compatto, noto come “studente”, viene insegnato a replicare le prestazioni di un modello più grande e più complesso “insegnante”. Questa tecnica consente allo studente di eseguire compiti che erano precedentemente al di fuori della sua portata trasferendo i modelli intricati appresi dall’insegnante.

Distillazione della conoscenza, | Modello insegnante-studente

Distillazione della conoscenza | Modello insegnante-studente

Il modello studente si addestra sui dati di output o sulle caratteristiche generate dal modello insegnante, concentrandosi sull’imitazione di questi output piuttosto che solo sulle previsioni finali. Ciò consente allo studente di apprendere i processi decisionali sfumati dell’insegnante, spesso risultando in prestazioni migliorate rispetto all’addestramento con solo i dati di verità fondamentale.

Storicamente, la distillazione della conoscenza è stata utilizzata in modelli come le reti di distillazione originali di Hinton e, più recentemente, in NLP con modelli come DistilBERT, che ha distillato il modello BERT in una versione più piccola e veloce che mantiene la maggior parte delle capacità di comprensione del linguaggio originale. Un altro esempio è TinyBERT, che ottimizza ulteriormente le dimensioni e la velocità per dispositivi mobili o perimetrali.

Nel caso di Zephyr-7B, la distillazione della conoscenza viene utilizzata per infondere un modello con 7B parametri con le capacità dei suoi omologhi più grandi. Facendo ciò, Zephyr-7B raggiunge un equilibrio tra prestazioni ed efficienza, rendendolo adatto per ambienti in cui le risorse computazionali sono limitate, senza sacrificare la qualità dell’interazione e della comprensione.

Nello sviluppo di Zephyr-7B, i ricercatori hanno affrontato la sfida di allineare un piccolo modello di linguaggio aperto interamente attraverso la distillazione. Hanno introdotto un approccio chiamato ottimizzazione della preferenza diretta distillata (dDPO), che utilizza il feedback dell’AI da un ensemble di modelli insegnanti come dati di preferenza. Questo metodo, che non richiede annotazioni umane, riduce notevolmente il tempo e le risorse necessarie per l’addestramento del modello.

Costruzione di ZEPHYR-7B

Per convalidare dDPO, i ricercatori hanno costruito ZEPHYR-7B, una versione allineata del modello Mistral-7B. Il processo ha coinvolto tre fasi:

  1. dSFT utilizzando il dataset UltraChat: La distillazione supervisata fine-tuning (dSFT) è un metodo avanzato per addestrare grandi modelli di linguaggio (LLM) sfruttando l’output di modelli più grandi e più capaci “insegnanti”. Inizia con un modello LLM grezzo addestrato a rispondere a prompt utente. A differenza della fine-tuning supervisata tradizionale (SFT) che utilizza un set di dati fisso, dSFT impiega un approccio dinamico in cui il modello stesso genera istruzioni e risposte. Questo metodo, noto come self-instruct, prevede l’utilizzo del modello insegnante per rispondere e raffinare le istruzioni in base alle risposte. Il processo inizia con un set di prompt di base (x₀₁, x₀₂, …, x₀_J) che rappresentano argomenti diversi. Ogni prompt viene raffinato iterativamente: per un dato prompt x₀, una risposta y₀ viene generata dal modello insegnante e poi una nuova istruzione x₁ viene campionata in base a x₀ e y₀. Il set di dati finale C = {(x₁, y₁), …, (x_J, y_J)} viene utilizzato per la fine-tuning del modello.
  2. Incorporazione dei dati di feedback dell’AI da UltraFeedback: Questi dati sono stati cruciali per raffinare le risposte del modello. In questa fase, il modello genera risposte a vari prompt (come descrivere come fare brownies al cioccolato) che vengono poi valutati da un modello più avanzato come GPT-4. La risposta con il punteggio più alto (yw) e una risposta a caso con un punteggio più basso (yl) formano un set di dati di feedback D.
  3. Applicazione di dDPO: L’ultima fase, ottimizzazione della preferenza diretta distillata (dDPO), prevede il raffinamento del modello dSFT massimizzando la probabilità di classificare le risposte preferite più in alto. Ciò viene realizzato utilizzando una funzione di ricompensa rθ(x, y) nel modello di preferenza, che si basa sulla politica LLM ottimale π* e sulla politica originale πdSFT. L’obiettivo di ottimizzazione è formulato come πθ = max π E (x, yw, yl) ∼ D log σ (β log π(yw|x)/πdSFT(yw|x) − β log π(yl|x)/πdSFT(yl|x)), che semplifica il processo di addestramento iniziando con la versione dSFT del modello e iterando attraverso ogni triplo AIF.
Il metodo utilizzato in Zephyr-7B specchia i processi utilizzati in InstructGPT.

Il metodo utilizzato in Zephyr-7B specchia i processi utilizzati in InstructGPT.

In modo notevole, Zephyr-7B raggiunge prestazioni paragonabili a modelli molto più grandi con 70B parametri allineati con il feedback umano. Eccelle sia negli benchmark accademici che nelle capacità conversazionali, evidenziando l’efficacia dell’apprendimento delle preferenze nel desenvolvimento del modello. Per ulteriori esplorazioni, modelli, codice e istruzioni sono disponibili nel repository GitHub di Hugging Face.

Superare la sfida dell’allineamento dell’intento

Un aspetto notevole dei modelli di linguaggio è stato il loro allineamento con l’intento umano. I modelli precedenti spesso non producevano risposte che corrispondevano alle preferenze degli utenti, portando a risposte inaccurate o irrilevanti. Tuttavia, benchmark recenti come MT-Bench e AlpacaEval hanno fornito strumenti per quantificare e migliorare questo aspetto, evidenziando le prestazioni superiori dei modelli proprietari addestrati con feedback umano rispetto a quelli addestrati solo attraverso la distillazione.

Metodi di valutazione

La valutazione di Zephyr 7B ha coinvolto test rigorosi su benchmark che valutano le capacità conversazionali del modello in contesti sia singoli che multi-turn:

  • MT-Bench: Questo benchmark multi-turn richiede al modello di rispondere a 160 domande che coprono otto domini. Ogni risposta viene valutata da GPT-4, con il punteggio finale del modello che riflette la media su due round di domande.
  • AlpacaEval: In questo benchmark single-turn, il modello viene presentato con 805 domande su vari argomenti. L’attenzione si concentra sulla capacità del modello di essere utile, con GPT-4 che valuta le risposte per determinare un tasso di vittoria comparativo.

Inoltre, Zephyr 7B è stato testato sulla classifica dei modelli di linguaggio aperti, che, sebbene non sia una valutazione diretta delle capacità conversazionali, offre informazioni sulla capacità del modello di ragionamento e veridicità dopo la fine-tuning.

Zephyr 7B è stato paragonato a una varietà di modelli aperti e proprietari, tra cui modelli di diverse dimensioni e metodi di allineamento. Ha stabilito nuovi benchmark per modelli da 7B su MT-Bench e AlpacaEval e ha mostrato prestazioni competitive contro modelli più grandi, validando l’efficacia dell’ottimizzazione della preferenza diretta (dDPO) nell’addestramento.

Le fasi di addestramento SFT e DPO sono state configurate meticolosamente, coprendo molteplici epoche e tassi di apprendimento e dimensioni del batch per ottenere prestazioni ottimali. Il modello Zephyr finale è emerso non solo resistente al sovrapprendimento, ma anche migliorato nel trattare compiti pratici e benchmark accademici.

Dati e risultati

Dati utilizzati

Nello sviluppo di Zephyr-7B, due set di dati chiave sono stati utilizzati per addestrare e raffinare il modello, ciascuno affrontando aspetti diversi della generazione del dialogo:

Dataset UltraChat

  • Fonte: Sviluppato a partire da dialoghi generati da GPT-3.5-TURBO.
  • Contenuti: Contiene 1,47 milioni di dialoghi multi-turn su 30 argomenti e 20 tipi di materiale di testo.
  • Raffinamento: Il set di dati ha subito un’euristica di truecasing per correggere problemi grammaticali e sono stati applicati filtri per aumentare l’utilità delle risposte ed eliminare frasi di prefazione non utili.

Dataset UltraFeedback

  • Fonte: Comprende prompt valutati da GPT-4, che ha valutato le risposte in base all’aderenza alle istruzioni, onestà e utilità.
  • Contenuti: Include 64.000 prompt con quattro risposte ciascuno, valutate da GPT-4.
  • Preferenze binarie: Generate scegliendo la risposta con il punteggio medio più alto come “scelta” e una a caso tra le restanti come “rifiutata” per aumentare la diversità e sfidare il processo di ottimizzazione della preferenza diretta (DPO).

Entrambi i set di dati sono cruciali per addestrare Zephyr-7B a comprendere e generare dialoghi umani che siano aderenti alle istruzioni, onesti e utili. Questi set di dati sono stati resi disponibili sull’Hugging Face Hub, che puoi accedere qui.

Prestazioni e risultati

Il grafico seguente illustra le prestazioni di Zephyr 7B in vari categorie di compiti rispetto ad altri modelli come GPT-3.5-turbo, Claude 1, GPT-4 e Llama-2-70b-chat. Le categorie possono includere Scrittura, Umanistica, Roleplay, Ragionamento, STEM, Estrazione, Codifica e Matematica.

Dal grafico, possiamo dedurre in quali domini Zephyr 7B eccelle e in quali potrebbe necessitare ulteriori miglioramenti. Ad esempio, se la linea di Zephyr si estende ulteriormente sull’asse della Scrittura rispetto agli altri, suggerisce che Zephyr è particolarmente forte nella generazione di contenuti scritti. Al contrario, se la linea è più vicina al centro sull’asse della Matematica, potrebbe indicare una debolezza relativa nella risoluzione dei problemi di matematica.

Il grafico a radar aiuta nell’identificare i punti di forza e di debolezza di Zephyr 7B, fornendo una rappresentazione visiva di dove si posiziona rispetto a modelli più grandi come GPT-4 e modelli specializzati come Llama-2-70b-chat.

 

Grafico delle prestazioni del modello

Grafico delle prestazioni del modello

Confronto tra vari modelli di linguaggio su due benchmark: MT-Bench e AlpacaEval. I modelli vengono valutati in base alle loro dimensioni, al metodo di allineamento (come dSFT per la distillazione supervisata fine-tuning o dDPO per l’ottimizzazione della preferenza diretta distillata) e ai punteggi di prestazione. Zephyr si distingue con punteggi alti in entrambi i benchmark, indicando la sua efficacia nella generazione di risposte allineate.

Risultati dei benchmark di chat

Risultati dei benchmark di chat

Conclusione

In conclusione, lo sviluppo di Zephyr-7B dimostra che l’allineamento e la distillazione delle capacità conversazionali da un modello di linguaggio più grande a uno più piccolo può essere raggiunto senza affidarsi a metodi basati su campionamento. Utilizzando l’ottimizzazione della preferenza diretta (DPO) con feedback dell’AI, Zephyr-7B sfrutta la solida base di Mistral-7B per stabilire un nuovo benchmark per modelli di chat da 7B parametri, dimostrando la capacità dei modelli open-source più piccoli di comprendere e rispondere all’intento dell’utente in modo efficace.

Tuttavia, questo studio non è senza limitazioni. La dipendenza da GPT-4 come valutatore per i benchmark introduce un bias verso modelli che sono stati distillati da esso, potenzialmente favorendo risposte accurate. Inoltre, la scalabilità di questo metodo a modelli più grandi, come LLAMA2-70B, e il suo impatto sui guadagni di prestazione rimangono aree di ricerca future. Queste limitazioni evidenziano la necessità di innovazione continua e lo sviluppo di metodi di valutazione non distorti nella comunità dell’AI.

Guardando oltre lo studio, è evidente che il potenziale per modelli più piccoli di performare al livello di quelli più grandi può democratizzare l’AI, consentendo un utilizzo più accessibile e efficiente in varie applicazioni. Il successo di Zephyr-7B incoraggia ulteriori esplorazioni nei modelli open-source, che possono accelerare gli avanzamenti nell’AI attraverso la ricerca e lo sviluppo collaborativi.

Ho trascorso gli ultimi cinque anni immergendomi nel mondo affascinante del Machine Learning e del Deep Learning. La mia passione e la mia esperienza mi hanno portato a contribuire a oltre 50 progetti di ingegneria del software diversi, con un focus particolare su AI/ML. La mia curiosità in corso mi ha anche portato verso l'elaborazione del linguaggio naturale, un campo che sono ansioso di esplorare ulteriormente.