škrbina Llama 2: Poglobite se v odprtokodni Challenger za ChatGPT - Unite.AI
Povežite se z nami

Umetna inteligenca

Llama 2: Poglobite se v odprtokodni Challenger za ChatGPT

mm

objavljeno

 on

META LAMA 2 LLM

Veliki jezikovni modeli (LLM), ki so sposobni zapletenih sklepnih nalog, so se izkazali za obetavne na specializiranih področjih, kot sta programiranje in kreativno pisanje. Vendar pa svet magistrskih študijev ni le raj plug-and-play; obstajajo izzivi glede uporabnosti, varnosti in računalniških zahtev. V tem članku se bomo poglobili v zmožnosti Lama 2, hkrati pa zagotavlja podroben potek za nastavitev tega visoko zmogljivega LLM prek Hugging Face in T4 GPE v Google Colab.

Ta odprtokodni veliki jezikovni model, ki ga je razvila Meta v sodelovanju z Microsoftom, želi na novo definirati področja generativne umetne inteligence in razumevanja naravnega jezika. Llama 2 ni samo še en statistični model, ki je usposobljen na terabajtih podatkov; je utelešenje filozofije. Tisti, ki poudarja odprtokodni pristop kot hrbtenico razvoja umetne inteligence, zlasti v generativnem prostoru umetne inteligence.

Llama 2 in njegov nadomestek, optimiziran za dialog, Llama 2-Chat, sta opremljena z do 70 milijardami parametrov. Podvrženi so procesu natančnega prilagajanja, ki je zasnovan tako, da se tesno uskladijo s človeškimi željami, zaradi česar so varnejši in učinkovitejši od mnogih drugih javno dostopnih modelov. Ta stopnja razdrobljenosti pri fini nastavitvi je pogosto rezervirana za LLM-je zaprtega »izdelka«, kot je npr ChatGPT in BARD, ki na splošno nista na voljo za javni pregled ali prilagajanje.

Tehnični globoki potop Llame 2

Za treniranje modela Llama 2; tako kot njegovi predhodniki uporablja avtoregresivno transformatorska arhitektura, predhodno usposobljeni za obsežen korpus samonadzorovanih podatkov. Vendar dodaja dodatno plast prefinjenosti z uporabo okrepitvenega učenja s človeškimi povratnimi informacijami (RLHF) za boljšo uskladitev s človeškim vedenjem in preferencami. To je računsko drago, a bistveno za izboljšanje varnosti in učinkovitosti modela.

Arhitektura usposabljanja Meta Llama 2

Arhitektura usposabljanja Meta Llama 2

Predusposabljanje in podatkovna učinkovitost

Temeljna inovacija Llame 2 je v njenem režimu pred treningom. Model se zgleduje po svojem predhodniku, Llama 1, vendar uvaja več ključnih izboljšav za izboljšanje njegove zmogljivosti. Predvsem izstopata 40-odstotno povečanje skupnega števila usposobljenih žetonov in dvakratna razširitev dolžine konteksta. Poleg tega model izkorišča pozornost skupinskih poizvedb (GQA) za povečanje razširljivosti sklepanja.

Nadzorovano fino uravnavanje (SFT) in okrepitveno učenje s človeško povratno informacijo (RLHF)

Llama-2-klepet je bil natančno nastavljen z uporabo SFT in Reinforcement Learning with Human Feedback (RLHF). V tem kontekstu SFT služi kot sestavni del ogrodja RLHF, ki izboljša odzive modela, da se tesno uskladijo s človeškimi preferencami in pričakovanji.

OpenAI je zagotovil pronicljivo ilustracijo, ki pojasnjuje metodologiji SFT in RLHF, uporabljeni v InstructGPT. Podobno kot LLaMa 2 tudi InstructGPT izkorišča te napredne tehnike usposabljanja za optimizacijo delovanja svojega modela.

1. korak na spodnji sliki se osredotoča na nadzorovano fino uravnavanje (SFT), medtem ko nadaljnji koraki dokončajo postopek okrepljenega učenja iz človeških povratnih informacij (RLHF).

Nadzorovano fino uravnavanje (SFT) je specializiran postopek, namenjen optimizaciji vnaprej usposobljenega modela velikega jezika (LLM) za določeno nadaljnjo nalogo. Za razliko od nenadzorovanih metod, ki ne zahtevajo preverjanja podatkov, SFT uporablja nabor podatkov, ki je bil predhodno preverjen in označen.

Na splošno je izdelava teh naborov podatkov draga in dolgotrajna. Pristop Llama 2 je bil kakovost pred količino. S samo 27,540 opombami je Metina ekipa dosegla ravni zmogljivosti, ki so konkurenčne človeškim opombam. To se dobro ujema z nedavne študije kažejo, da lahko tudi omejeni, a čisti nabori podatkov vodijo do visokokakovostnih rezultatov.

V procesu SFT je predhodno usposobljen LLM izpostavljen označenemu naboru podatkov, kjer pridejo v poštev algoritmi nadzorovanega učenja. Notranje uteži modela so ponovno umerjene na podlagi gradientov, izračunanih iz funkcije izgube, specifične za nalogo. Ta izgubna funkcija kvantificira odstopanja med predvidenimi izhodi modela in dejanskimi oznakami resnice na tleh.

Ta optimizacija omogoča LLM, da dojame zapletene vzorce in nianse, vdelane v označeni nabor podatkov. Posledično model ni le posplošeno orodje, ampak se razvija v specializirano sredstvo, ki je spretno pri izvajanju ciljne naloge z visoko stopnjo natančnosti.

Učenje z okrepitvijo je naslednji korak, katerega cilj je tesnejša uskladitev modelnega vedenja s človeškimi preferencami.

Faza uglaševanja je izkoristila krepitveno učenje iz človeških povratnih informacij (RLHF) z uporabo tehnik, kot je Vzorčenje pomembnosti in Proksimalna optimizacija politike uvesti algoritemski šum in se tako izogniti lokalnim optimumom. Ta iterativna fina nastavitev ni le izboljšala modela, ampak je tudi uskladila njegov rezultat s človeškimi pričakovanji.

Llama 2-Chat je uporabil binarni primerjalni protokol za zbiranje podatkov o človeških preferencah, kar označuje opazen trend k bolj kvalitativnim pristopom. Ta mehanizem je obvestil modele nagrajevanja, ki se nato uporabijo za natančno nastavitev pogovornega modela AI.

Ghost Attention: večobratni dialogi

Meta je predstavila novo funkcijo, Ghost Attention (GAtt), ki je zasnovana za izboljšanje zmogljivosti Llame 2 v večobratnih dialogih. To učinkovito rešuje stalno težavo izgube konteksta v tekočih pogovorih. GAtt deluje kot sidro, ki povezuje začetna navodila z vsemi naslednjimi uporabniškimi sporočili. Skupaj s tehnikami učenja s krepitvijo pomaga pri ustvarjanju doslednih, ustreznih in uporabniku prilagojenih odgovorov v daljših dialogih.

Iz repozitorija Meta Git z uporabo download.sh

  1. Obiščite spletno mesto Meta: Pojdite do Metina uradna stran Llama 2 in kliknite »Prenesi model«
  2. Izpolnite podrobnosti: Za nadaljevanje preberite in sprejmite določila in pogoje.
  3. Potrdilo po e-pošti: Ko je obrazec oddan, boste od Mete prejeli e-poštno sporočilo s povezavo za prenos modela iz njihovega repozitorija git.
  4. Izvedite download.sh: Klonirajte repozitorij Git in izvedite download.sh scenarij. Ta skript vas bo pozval k avtentikaciji z uporabo URL-ja iz Mete, ki poteče v 24 urah. Izbrali boste tudi velikost modela – 7B, 13B ali 70B.

Od Hugging Face

  1. Prejmi e-poštno sporočilo o sprejemu: Ko pridobite dostop od Mete, pojdite na Objemni obraz.
  2. Zahtevajte dostop: Izberite želeni model in oddajte zahtevo za odobritev dostopa.
  3. Potrditev: V 1-2 dneh pričakujte e-poštno sporočilo o 'odobrenem dostopu'.
  4. Ustvari žetone za dostop: Pomaknite se do »Nastavitve« v svojem računu Hugging Face, da ustvarite žetone za dostop.

Izdaja Transformers 4.31 je popolnoma združljiva z LLaMa 2 in odpira številna orodja in funkcionalnosti znotraj ekosistema Hugging Face. Zbirka orodij je obsežna, od skriptov za usposabljanje in sklepanje do 4-bitne kvantizacije z bitsandbytes in Parameter Efficient Fine Tuning (PEFT). Če želite začeti, se prepričajte, da uporabljate najnovejšo izdajo Transformerjev in ste prijavljeni v svoj račun Hugging Face.

Tukaj je poenostavljen vodnik za izvajanje sklepanja modela LLaMa 2 v a google colab okolje, ki izkorišča GPU runtime:

Model Google Colab – GPU T4

Model Google Colab – GPU T4

 

 

 

 

 

 

Namestitev paketa

!pip install transformers
!huggingface-cli login

Uvozite potrebne knjižnice Python.

from transformers import AutoTokenizer
import transformers
import torch

Inicializirajte model in tokenizer

V tem koraku določite, kateri model Llama 2 boste uporabljali. Za ta vodnik uporabljamo meta-llama/Llama-2-7b-chat-hf.

model = "meta-llama/Llama-2-7b-chat-hf"
tokenizer = AutoTokenizer.from_pretrained(model)

Nastavite cevovod

Uporabite cevovod Hugging Face za ustvarjanje besedila s posebnimi nastavitvami:

pipeline = transformers.pipeline(
    "text-generation",
    model=model,
    torch_dtype=torch.float16,
    device_map="auto")

Ustvari besedilna zaporedja

Na koncu zaženite cevovod in ustvarite besedilno zaporedje na podlagi vašega vnosa:

sequences = pipeline(
    'Who are the key contributors to the field of artificial intelligence?\n',
    do_sample=True,
    top_k=10,
    num_return_sequences=1,
    eos_token_id=tokenizer.eos_token_id,
    max_length=200)
for seq in sequences:
    print(f"Result: {seq['generated_text']}")

Uporabniški vmesnik A16Z za LLaMa 2

Andreessen Horowitz (A16Z) je pred kratkim izdal vrhunski vmesnik klepetalnega robota, ki temelji na Streamlitu, prilagojen za Llama 2. Ta uporabniški vmesnik, ki gostuje na GitHubu, ohranja zgodovino klepetov sej in omogoča tudi prilagodljivost pri izbiri med več končnimi točkami API-ja Llama 2, ki gostujejo na Ponovite. Ta zasnova, osredotočena na uporabnika, želi poenostaviti interakcijo z Llama 2, zaradi česar je idealno orodje za razvijalce in končne uporabnike. Za tiste, ki jih to zanima, je predstavitev v živo na voljo na Llama2.ai.

Llama 2: V čem se razlikuje od GPT Models in njegovega predhodnika Llama 1?

Raznolikost v obsegu

Za razliko od mnogih jezikovnih modelov, ki ponujajo omejeno razširljivost, vam Llama 2 ponuja kup različnih možnosti za modele z različnimi parametri. Model obsega od 7 milijard do 70 milijard parametrov, s čimer zagotavlja vrsto konfiguracij, ki ustrezajo različnim računalniškim potrebam.

Izboljšana dolžina konteksta

Model ima povečano dolžino konteksta 4K žetonov kot Llama 1. To mu omogoča, da obdrži več informacij, s čimer se izboljša njegova sposobnost razumevanja in ustvarjanja bolj zapletene in obsežne vsebine.

Pozornost pri skupinskih poizvedbah (GQA)

Arhitektura uporablja koncept ZKV, zasnovan tako, da pospeši postopek izračunavanja pozornosti s predpomnjenjem prejšnjih parov žetonov. To učinkovito izboljša razširljivost sklepanja modela za izboljšanje dostopnosti.

Merila učinkovitosti

Primerjalna analiza uspešnosti modelov Llama 2-Chat s ChatGPT in drugimi konkurenti

Analiza zmogljivosti modelov Llama 2-Chat s ChatGPT in drugimi konkurenti

LLama 2 je postavil nov standard v meritvah uspešnosti. Ne samo, da prekaša svojega predhodnika LLama 1, ampak tudi predstavlja znatno konkurenco drugim modelom, kot sta Falcon in GPT-3.5.

Največji model Llama 2-Chat, 70B, prav tako prekaša ChatGPT v 36 % primerov in se ujema z zmogljivostjo v nadaljnjih 31.5 % primerov. Vir: Papir

Odprta koda: moč skupnosti

Meta in Microsoft nameravata, da bo Llama 2 več kot le izdelek; predstavljajo si ga kot orodje, ki ga vodi skupnost. Dostop do Llame 2 je prost za raziskovalne in nekomercialne namene. Prizadevajo si demokratizirati zmožnosti umetne inteligence, tako da bodo dostopne novoustanovljenim podjetjem, raziskovalcem in podjetjem. Odprtokodna paradigma omogoča 'množično odpravljanje težav' modela. Razvijalci in strokovnjaki za etiko umetne inteligence lahko izvajajo stresne teste, prepoznajo ranljivosti in ponudijo rešitve s pospešenim tempom.

Čeprav so licenčni pogoji za LLaMa 2 na splošno dovoljeni, Izjeme obstajajo. Velika podjetja, ki se ponašajo z več kot 700 milijoni mesečnih uporabnikov, kot je Google, zahtevajo izrecno dovoljenje Mete za njegovo uporabo. Poleg tega licenca prepoveduje uporabo LLaMa 2 za izboljšanje drugih jezikovnih modelov.

Trenutni izzivi z Llama 2

  1. Generalizacija podatkov: Tako Llama 2 kot GPT-4 včasih omahneta pri enakomerno visoki zmogljivosti pri različnih nalogah. Kakovost in raznolikost podatkov sta v teh scenarijih prav tako ključni kot obseg.
  2. Preglednost modela: Glede na predhodne neuspehe, ko je umetna inteligenca proizvajala zavajajoče rezultate, je raziskovanje utemeljitve odločanja za temi kompleksnimi modeli najpomembnejše.

Code Llama – Metin zadnji zagon

Meta je nedavno objavila Šifra Llama ki je velik jezikovni model, specializiran za programiranje z velikostmi parametrov od 7B do 34B. Podoben Tolmač kod ChatGPT; Code Llama lahko poenostavi delovne tokove razvijalcev in naredi programiranje bolj dostopno. Prilagodi se različnim programskim jezikom in je na voljo v specializiranih različicah, kot je Code Llama–Python za naloge, specifične za Python. Model ponuja tudi različne ravni zmogljivosti za izpolnjevanje različnih zahtev glede zakasnitve. Code Llama z odprto licenco vabi k prispevku skupnosti za stalne izboljšave.

Predstavljamo Code Llama, orodje AI za kodiranje

zaključek

Ta članek vas je vodil skozi nastavitev modela Llama 2 za ustvarjanje besedila v storitvi Google Colab s podporo za Hugging Face. Zmogljivost Llame 2 spodbuja niz naprednih tehnik od arhitektur avtomatskih regresivnih transformatorjev do učenja okrepljenosti s človeškimi povratnimi informacijami (RLHF). Z do 70 milijardami parametrov in funkcijami, kot je Ghost Attention, ta model presega trenutne industrijske standarde na določenih področjih in s svojo odprto naravo utira pot v novo obdobje razumevanja naravnega jezika in generativne umetne inteligence.

Zadnjih pet let sem se potopil v fascinanten svet strojnega in globokega učenja. Moja strast in strokovno znanje sta me pripeljala do tega, da sem prispeval k več kot 50 raznolikim projektom programskega inženiringa, s posebnim poudarkom na AI/ML. Moja nenehna radovednost me je pripeljala tudi do obdelave naravnega jezika, področja, ki ga želim nadalje raziskati.