Ottimizza Google Gemma con Unsloth e Distilled DPO sul tuo computer

 | Intelligenza-Artificiale

A seguire la ricetta Zephyr di Hugging Face

Generato con DALL-E

Trovare buoni iperparametri di formazione per i nuovi LLM è sempre difficile e richiede tempo. Con Zefiro Gemma 7BHugging Face sembra aver trovato una buona ricetta per mettere a punto Gemma. Hanno usato una combinazione di messa a punto supervisionata e DPO simile a quella che hanno fatto per loro Zephyr originale basato su Mistral 7B. Tuttavia, la formazione di Gemma con DPO su hardware consumer è impegnativa a causa del consumo di memoria.

In questo articolo, esaminerò innanzitutto la ricetta utilizzata da Hugging Face per addestrare Zephyr Gemma 7B. Successivamente, mostrerò come utilizzare questa ricetta con Unsloth, un framework che implementa varie ottimizzazioni per un allenamento veloce ed efficiente in termini di memoria. Il metodo presentato in questo articolo ha un consumo massimo di memoria di 19 GB di VRAM e un tempo di allenamento totale di sole 8 ore. In altre parole, la formazione DPO per Gemma è possibile su hardware consumer.

Fine tuning supervisionato (SFT)

Il DPO deve utilizzare come riferimento un modello addestrato con il fine tuning supervisionato (SFT) su un set di dati di istruzioni. Hugging Face ha rilasciato anche questo modello SFT:

Per SFT, hanno utilizzato deita-10k che è un piccolo set di dati di istruzioni di 9,5k esempi:

Un'ampia varietà di LLM ha generato tutti gli esempi in questo set di dati (GPT-4, GPT-3.5, Claude, Vicuna, Llama 2, Mistral 7B, Zephyr, ecc.). Per la formazione SFT hanno utilizzato un formato dati speciale che utilizzeremo anche noi.

Hugging Face ha utilizzato gli iperparametri a cui si fa riferimento questo file di configurazione dal loro manuale di allineamento. Non hanno usato LoRA o la quantizzazione. Ciò significa che probabilmente hanno utilizzato molte GPU A100/H100 per addestrare Zephyr Gemma. Nota: In la scheda modellohanno scritto “16 dispositivi” ma non dicono quali sono questi dispositivi.

Per eseguire questa ricetta sull'hardware consumer, utilizzeremo LoRA e la quantizzazione, ovvero QLoRA. Illustrerò in dettaglio la configurazione di LoRA nella sezione successiva.

Fonte: towardsdatascience.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *