Thursday, March 28, 2024

Fantastic-tune Google Gemma with Unsloth and Distilled DPO on Your Laptop

Must read


Following Hugging Face’s Zephyr recipe

Towards Data Science
Generated with DALL-E

Discovering good coaching hyperparameters for brand spanking new LLMs is all the time tough and time-consuming. With Zephyr Gemma 7B, Hugging Face appears to have discovered an excellent recipe for fine-tuning Gemma. They used a mix of distilled supervised fine-tuning and DPO much like what they did for his or her unique Zephyr based mostly on Mistral 7B. Nonetheless, coaching Gemma with DPO on shopper {hardware} is difficult because of its reminiscence consumption.

On this article, I first evaluation the recipe utilized by Hugging Face to coach Zephyr Gemma 7B. Then, I present the right way to use this recipe with Unsloth, a framework implementing varied optimizations for quick and memory-efficient coaching. The strategy offered on this article has a peak reminiscence consumption of 19 GB of VRAM and a complete coaching time of solely 8 hours. In different phrases, DPO coaching for Gemma is feasible on shopper {hardware}.

Supervised Fantastic-tuning (SFT)

DPO should use for reference a mannequin skilled with supervised fine-tuning (SFT) on an instruction dataset. Hugging Face additionally launched this SFT mannequin:

For SFT, they used deita-10k which is a small instruction dataset of 9.5k examples:

All kinds of LLMs have generated all of the examples on this dataset (GPT-4, GPT-3.5, Claude, Vicuna, Llama 2, Mistral 7B, Zephyr, and so on.). For SFT coaching, they used a particular knowledge format that we are going to additionally use.

Hugging Face used the hyperparameters referenced on this configuration file from their alignment handbook. They didn’t use LoRA or quantization. It signifies that they in all probability used many A100/H100 GPUs for coaching Zephyr Gemma. Be aware: In the mannequin card, they wrote “16 units” however they don’t say what are these units.

To run this recipe on shopper {hardware}, we are going to use LoRA and quantization, i.e., QLoRA. I’ll element the LoRA configuration within the subsequent part.



Supply hyperlink

More articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest article