Poznajemy Zephyra 7B: obszerny przewodnik po najnowszym modelu wielkojęzycznym - KDnuggets

Poznajemy Zephyra 7B: obszerny przewodnik po najnowszym modelu wielkojęzycznym – KDnuggets

Węzeł źródłowy: 3084992

Odkrywanie Zephyr 7B: obszerny przewodnik po najnowszym modelu wielkojęzycznym
Photo by Google DeepMind
 

Rok 2023 był rokiem modeli wielkojęzykowych i otwartego oprogramowania. Wiele startupów i firm udostępniło swoje modele i wagi na zasadach open source, aby zwalczać zastrzeżone LLM, takie jak ChatGPT i Claude. Niektóre z ważnych firm i modeli (open source) na rok 2023 to:

  • Meta (LLama, LLamav2)
  • TII (Sokół 7B, 40B, 180B)
  • Mistral (Mistral 7B, Mixtral8x7B)

Jednakże model 7B, który jest stosunkowo łatwy i tańszy we wdrożeniu, nie dorównuje większym modelom, takim jak 70B. Najsilniejszym konkurentem oprogramowania typu open source był Mistral 7B, który przewyższał wiele większych modeli.

 

Odkrywanie Zephyr 7B: obszerny przewodnik po najnowszym modelu wielkojęzycznym
Porównanie Mistrala-7B z Mistral.ai
 

Jednakże te małe modele nadal nie reagują dobrze na naturalne podpowiedzi i wymagają dobrego, szybkiego projektowania. 

Zephyr 7B to model stworzony przez zespół HuggingFace H4 (Helpful, Honest, Harmless, Huggy), którego głównym celem było stworzenie mniejszego modelu językowego, który jest zgodny z intencjami użytkownika i przewyższa nawet większe modele.

Zephyr jest udoskonaloną wersją Mistrala-7B stworzoną głównie z wykorzystaniem mocy destylacji i jest porównywalny z modelami 70B w testach akademickich i konwersacyjnych.

 

Odkrywanie Zephyr 7B: obszerny przewodnik po najnowszym modelu wielkojęzycznymPorównanie wydajności Zephyr-7B | Źródło: Papier Zefirowy

Podstawowe dane

Powodem wyjątkowej wydajności Zephyra są te 4 kluczowe techniki, które zastosował zespół H4.

  1. Samodzielne tworzenie danych i DSFT (dostrajanie pod nadzorem destylowanym)
  2. Zbieranie opinii
  3. DDPO (Distilled Direct Preference Optimization) modelu DSFT

Samodzielne tworzenie danych i DSFT

Tradycyjnie Nadzorowane dostrajanie (SFT) odbywa się w dużym modelu językowym za pośrednictwem pary wysokiej jakości instrukcji. Konstruowanie tych danych jest kosztowne i wymaga nadzoru człowieka (Chung i in., 2022; Sanh i in., 2021). 

Jednym z interesujących podejść jest użycie modelu nauczyciela (już przeszkolonego LLM) do wygenerowania instrukcji i odpowiedzi. Tę technikę destylacji po raz pierwszy zastosowano w przypadku alpaki (Taori i in., 2023), co udowodniło, że mały model może przewyższać większe modele pod względem Destylowana, nadzorowana dostrajanie.

 

Odkrywanie Zephyr 7B: obszerny przewodnik po najnowszym modelu wielkojęzycznym
Rurociąg Self-Instruct | Źródło: Papier do samodzielnej nauki
 

Zespół H4 wykorzystał Zephyr do skonstruowania wysokiej jakości nadzorowanych zbiorów danych (instrukcje, zakończenie), które wykorzystano do przeprowadzenia DSFT. (Trenowanie modelu na podstawie wygenerowanych instrukcji/uzupełnień jest formą destylacji znaną jako DSFT: Distilled Supervised Fine-Tuning).

Zbieranie opinii

Modele wielkojęzykowe są zwykle dopasowywane za pomocą Uczenie się ze wzmocnieniem na podstawie informacji zwrotnych od ludzi (RLHF). Zamiast tego Zephyr wykorzystuje Informacje zwrotne od lepszego modelu nauczyciela (takiego jak GPT-4), aby dostosować zainteresowania modelu, zgodnie z podejściem Ultra Feedback. 

 

Odkrywanie Zephyr 7B: obszerny przewodnik po najnowszym modelu wielkojęzycznym
Proces budowy UltraFeedback | Źródło: Papier UltraFeedback
 

Działa to w ten sposób, że każdy nadzorowany monit z SFT jest przekazywany do 4 modeli (Claude, LLama, Falcon itp.) i każda z 4 odpowiedzi na pojedynczy monit jest oceniana za pomocą GPT-4. Teraz mamy zbiór danych obejmujący Dane wejściowe (x), ukończenie z najwyższym wynikiem (yw) i losową zachętę oznaczoną jako ukończenie z najniższym wynikiem (yl), tj. mamy trójkę (x, yw, yl).

Optymalizacja preferencji

Celem tego ostatniego kroku jest maksymalizacja preferencji modelu od yw (ukończenie z najwyższym wynikiem) nad yl (ukończenie z niskim wynikiem). Odbywa się to za pomocą DPO (Bezpośrednia optymalizacja preferencji). Korzystanie z DPO jest prostsze niż używanie zwykłego RLHF i intuicyjnie działa lepiej niż RLHF. Podejście w tym przypadku jest znane jako dDPO ponieważ wykorzystuje destylowany zbiór danych wygenerowany za pomocą modelu nauczyciela.

 

Odkrywanie Zephyr 7B: obszerny przewodnik po najnowszym modelu wielkojęzycznymDPO kontra RLHF | Źródło: Papier Zefirowy
 

Ogólny algorytm wygląda mniej więcej tak:

 

Odkrywanie Zephyr 7B: obszerny przewodnik po najnowszym modelu wielkojęzycznym
 

Można to przełożyć na następujące kroki:

  1. Oblicz prawdopodobieństwo dla (x, yw) i (x, yl) z modelu dSFT (tylko forward).
  2. Oblicz prawdopodobieństwo dla (x, yw) i (x, yl) z modelu dDPO.
  3. Oblicz równanie 1 i wykonaj propagację wsteczną, aby zaktualizować. Powtarzać

Podstawowym modelem, którego używał Zephyr, jest Mistral-7B, który w momencie premiery był najnowocześniejszym oprogramowaniem open source. Korzystali z TRL biblioteka do dostrajania i wyrównywania. Do optymalizacji i przyspieszenia treningu oraz pełnego wykorzystania procesora graficznego wykorzystano Deep-Speed ​​Zero 3 i Flash-Attention 2. Modele trenowano przy użyciu optymalizatora AdamW i nie stosowano zaniku masy. Wszystkie eksperymenty przeprowadzono na 16 A100 z precyzją bfloat16 i zazwyczaj trwały 2–4 godziny. Możesz zapoznać się z oryginalny papier aby uzyskać szczegółowe informacje na temat procedury szkoleniowej Zephyr.

Zespół Zephyr łączy najlepsze techniki uczenia dużych modeli językowych i osiągnął wydajność modeli 40B przy zaledwie 7B parametrach oraz 70B w przypadku modeli czatu.

 

Odkrywanie Zephyr 7B: obszerny przewodnik po najnowszym modelu wielkojęzycznymPorównanie Zephyra z innymi LLM | Źródło: Papier Zefirowy
Odkrywanie Zephyr 7B: obszerny przewodnik po najnowszym modelu wielkojęzycznymPorównanie Zephyra z innymi LLM | Źródło: Papier Zefirowy

Modele Zephyr są publicznie dostępne w Hugging Face i można ich używać podobnie do każdego innego modelu językowego.

import torch
from transformers import pipeline

pipe = pipeline("text-generation",
                model="HuggingFaceH4/zephyr-7b-alpha",  # can also use the beta model
                torch_dtype=torch.bfloat16,
                device_map="auto")

# We use the tokenizer's chat template to format each message - see https://huggingface.co/docs/transformers/main/en/chat_templating
messages = [
   {
       "role": "system",
       "content": "You are a friendly chatbot who always responds in the style of a pirate",
   },
   {"role": "user", "content": "How many helicopters can a human eat in one sitting?"},
]
prompt = pipe.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
outputs = pipe(prompt, max_new_tokens=256, do_sample=True, temperature=0.7, top_k=50, top_p=0.95)
print(outputs[0]["generated_text"])

Wyjście:

|system|>
You are a friendly chatbot who always responds in the style of a pirate.
|user|>
How many helicopters can a human eat in one sitting?
|assistant|>
Ah, me hearty matey! But yer question be a puzzler! A human cannot eat a helicopter in one sitting, as helicopters are not edible. They be made of metal, plastic, and other materials, not food!

Zephyr-7B to mały model, który pokazał moc destylacji z LLM na mniejszy model. Powstały model ZEPHYR-7B, oparty na MISTRAL-7B, ustanawia nowy stan wiedzy dla modeli czatu z parametrami 7B, a nawet przewyższa LLAMA2-CHAT-70B na MT-Bench.

Referencje

  1. Zephyr: Bezpośrednia destylacja wyrównania LM (https://arxiv.org/abs/2310.16944)
  2. Blog HuggingFace Zephyr (https://huggingface.co/blog/Isamu136/understanding-zephyr)  
  3. Samodzielna instrukcja: https://arxiv.org/abs/2212.10560
  4. UltraOpinie: https://arxiv.org/abs/2310.01377

 
 

Ahmada Anisa jest zapalonym inżynierem uczenia maszynowego i badaczem, który obecnie pracuje redbuffer.ai. Poza swoją codzienną pracą Ahmad aktywnie współpracuje ze społecznością zajmującą się uczeniem maszynowym. Pełni funkcję regionalnego lidera w Cohere for AI, organizacji non-profit zajmującej się otwartą nauką i jest twórcą społeczności AWS. Ahmad jest aktywnym współpracownikiem w Stackoverflow, gdzie ma ponad 2300 punktów. Brał udział w wielu znanych projektach open source, w tym Shap-E autorstwa OpenAI.

Znak czasu:

Więcej z Knuggety