Zephyr 7B:n tutkiminen: Kattava opas uusimpaan suureen kielimalliin - KDnuggets

Zephyr 7B:n tutkiminen: Kattava opas uusimpaan suureen kielimalliin – KDnuggets

Lähdesolmu: 3084992

Zephyr 7B:n tutkiminen: Kattava opas uusimpaan suurikieliseen malliin
Kuva Google DeepMind
 

Vuosi 2023 oli suurten kielimallien ja avoimen lähdekoodin vuosi. Monet startupit ja yritykset käyttivät mallinsa ja painonsa avoimen lähdekoodin avulla taistellakseen omistamia LLM-yrityksiä, kuten ChatGPT:tä ja Claudea, vastaan. Jotkut tärkeimmistä yrityksistä ja malleista (avoin lähdekoodi) vuodelle 2023 olivat:

  • Meta (LLama, LLamav2)
  • TII (Falcon 7B, 40B, 180B)
  • Mistral (Mistral 7B, Mixtral8x7B)

7B-malli, joka on suhteellisen helppo ja halvempi ottaa käyttöön, ei kuitenkaan ole yhtä suuri kuin suurempien mallien, kuten 70B, kanssa. Vahvin avoimen lähdekoodin haastaja oli Mistral 7B, joka päihittäisi monia suurempia malleja.

 

Zephyr 7B:n tutkiminen: Kattava opas uusimpaan suurikieliseen malliin
Mistral-7B:n vertailu Mistral.ai
 

Nämä pienet mallit eivät kuitenkaan vieläkään reagoi hyvin luonnollisiin kehotteisiin ja vaativat hyvää nopeaa suunnittelua. 

Zephyr 7B on HuggingFace H4 (Helpful, Honest, Harmless, Huggy) -tiimin luoma malli, jonka päätavoitteena oli luoda pienempi kielimalli, joka on linjassa käyttäjän aikomusten kanssa ja ylittää jopa suurempia malleja.

Zephyr on Mistral-7B:n kohdistettu versio, joka on luotu pääasiassa tislaamalla, ja se on verrattavissa 70B-malleihin akateemisissa ja keskustelullisissa vertailuissa.

 

Zephyr 7B:n tutkiminen: Kattava opas uusimpaan suurikieliseen malliinZephyr-7B |:n suorituskykyvertailu Lähde: Zephyr paperia

Avainominaisuudet

Zephyrin erinomaisen suorituskyvyn taustalla ovat nämä 4 avaintekniikkaa, joita H4 Team on käyttänyt.

  1. Itseohjautuva tiedon luonti ja DSFT (tislattu valvottu hienosäätö)
  2. Palaute kokoelma
  3. DSFT-mallin DDPO (Distilled Direct Preference Optimization).

Itseohjautuva tiedon luonti ja DSFT

Perinteisesti Valvottu hienosäätö (SFT) suoritetaan suurella kielimallilla korkealaatuisen käskyn suoritusparin kautta. Näiden tietojen rakentaminen on kallista ja vaatii ihmisen valvontaa (Chung et al., 2022; Sanh et al., 2021). 

Yksi mielenkiintoisista lähestymistavoista tässä on käyttää opettajamallia (jo koulutettu LLM) ohjeiden ja vastausten luomiseen. Tätä tislaustekniikkaa käytettiin ensimmäisen kerran Alpakassa (Taori et al., 2023), mikä osoitti, että pieni malli voi ylittää suuremmat mallit Tislattu valvottu hienosäätö.

 

Zephyr 7B:n tutkiminen: Kattava opas uusimpaan suurikieliseen malliin
Itseohjautuva putkisto | Lähde: Itseohjautuva paperi
 

H4-tiimi käytti Zephyria laadukkaiden valvottujen (ohje, täydennys) -aineistojen rakentamiseen, joita käytettiin DSFT:n tekemiseen. (Mallin kouluttaminen luotujen ohjeiden/täydennysten perusteella on tislausmuoto, joka tunnetaan nimellä DSFT: Distilled Supervised Fine-Tuning).

Palaute kokoelma

Suuret kielimallit kohdistetaan tyypillisesti Vahvistaa oppimista ihmisen palautteesta (RLHF). Zephyr käyttää sen sijaan paremman opettajamallin (kuten GPT-4) palautetta mallin etujen mukauttamiseen Ultra Feedbackin lähestymistapaa noudattaen. 

 

Zephyr 7B:n tutkiminen: Kattava opas uusimpaan suurikieliseen malliin
UltraFeedback rakennusprosessi | Lähde: UltraFeedback-paperi
 

Se toimii siten, että jokainen SFT-kehotteen valvottu kehote välitetään 4 mallille (Claude, LLama, Falcon jne.) ja jokainen neljästä yksittäisen kehotteen vastauksesta pisteytetään GPT-4:n avulla. Nyt meillä on tietojoukko syötteestä (x), korkeimman pisteytyksen valmistumisesta (yw) ja satunnaisesta kehotteesta, joka on merkitty matalan pisteytyksen suorittamiseksi (yl), eli meillä on (x, yw, yl) tripletti.

Asetusten optimointi

Tämän viimeisen vaiheen tavoitteena on maksimoida mallin mieltymys yw:stä (korkein pisteytys) verrattuna yl:ään (pienipisteinen valmistuminen). Tämä tehdään käyttämällä TVH (Suora asetusten optimointi). DPO:n käyttäminen on yksinkertaisempaa kuin tavallisen RLHF:n käyttäminen ja intuitiivisesti se toimii paremmin kuin RLHF. Lähestymistapa tässä tapauksessa tunnetaan nimellä dDPO koska se käyttää tislattua tietojoukkoa, joka on luotu opettajan mallin avulla.

 

Zephyr 7B:n tutkiminen: Kattava opas uusimpaan suurikieliseen malliinDPO vs RLHF | Lähde: Zephyr paperia
 

Kokonaisalgoritmi näyttää jokseenkin tältä:

 

Zephyr 7B:n tutkiminen: Kattava opas uusimpaan suurikieliseen malliin
 

Ja se voidaan kääntää seuraaviksi vaiheiksi:

  1. Laske (x, yw) ja (x, yl) todennäköisyys dSFT-mallista (vain eteenpäin).
  2. Laske (x, yw) ja (x, yl) todennäköisyys dDPO-mallista.
  3. Laske yhtälö 1 ja päivitä se takaisin. Toistaa

Zephyrin käyttämä perusmalli on Mistral-7B, joka oli julkaisuhetkellä huippuluokan avoin lähdekoodi. He käyttivät TRL kirjasto hienosäätöä ja kohdistusta varten. Deep-Speed ​​Zero 3:a ja Flash-Attention 2:ta käytettiin harjoituksen optimointiin ja nopeuttamiseen sekä GPU:n täysimääräiseen hyödyntämiseen. Mallit opetettiin AdamW-optimoijalla, eikä painonpudotusta käytetty. Kaikki kokeet suoritettiin 16 A100:lla käyttäen bfloat16-tarkkuutta, ja niiden suorittaminen kesti tyypillisesti 2–4 tuntia. Voit viitata alkuperäinen paperi saadaksesi yksityiskohtaisia ​​tietoja Zephyrin koulutusmenettelystä.

Zephyr-tiimi yhdistää parhaat tekniikat suurten kielimallien kouluttamiseen ja vastasi 40B-mallien suorituskykyä vain 7B-parametreilla ja 70B:n chat-malleilla.

 

Zephyr 7B:n tutkiminen: Kattava opas uusimpaan suurikieliseen malliinZephyrin ja muiden LLM-yritysten vertailu | Lähde: Zephyr paperia
Zephyr 7B:n tutkiminen: Kattava opas uusimpaan suurikieliseen malliinZephyrin ja muiden LLM-yritysten vertailu | Lähde: Zephyr paperia

Zephyr-mallit ovat julkisesti saatavilla Hugging Facessa ja niitä voidaan käyttää samalla tavalla kuin mitä tahansa muuta kielimallia.

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"])

lähtö:

|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 on pieni malli, joka osoitti tislauksen tehon LLM:stä pienempään malliin. Tuloksena oleva malli ZEPHYR-7B, joka perustuu MISTRAL-7B:hen, asettaa uuden huipputason 7B-parametrikeskustelumalleille ja jopa ylittää LLAMA2-CHAT-70B:n MT-Benchissä.

Viitteet

  1. Zephyr: LM Alignmentin suora tislaus (https://arxiv.org/abs/2310.16944)
  2. HuggingFace Zephyr blogi (https://huggingface.co/blog/Isamu136/understanding-zephyr)  
  3. Itseohjautuva: https://arxiv.org/abs/2212.10560
  4. UltraFeedback: https://arxiv.org/abs/2310.01377

 
 

Ahmad Anis on intohimoinen koneoppimisen insinööri ja tutkija, joka työskentelee tällä hetkellä yrityksessä redbuffer.ai. Päivätyönsä lisäksi Ahmad on aktiivisesti tekemisissä koneoppimisyhteisön kanssa. Hän toimii avoimelle tieteelle omistautuneen voittoa tavoittelemattoman Cohere for AI:n aluejohtajana ja on AWS-yhteisön rakentaja. Ahmad on aktiivinen avustaja Stackoverflow'ssa, jossa hänellä on yli 2300 pistettä. Hän on osallistunut moniin kuuluisiin avoimen lähdekoodin projekteihin, mukaan lukien OpenAI:n Shap-E.

Aikaleima:

Lisää aiheesta KDnuggets