Artificial Intelligence
Skilningur á stórum tungumálalíkönum og minniskröfum: Djúp kafa
Útgefið
6 dögumon
Efnisyfirlit
Stór tungumálalíkön (LLMs) hefur séð ótrúlegar framfarir á undanförnum árum. Líkön eins og GPT-4, Gemini frá Google og Claude 3 eru að setja nýja staðla í getu og forritum. Þessar gerðir eru ekki aðeins að auka textagerð og þýðingu heldur eru einnig að brjóta blað í fjölþættri vinnslu, sameina texta, mynd, hljóð og myndbandsinntak til að veita yfirgripsmeiri gervigreindarlausnir.
Til dæmis, OpenAI's GPT-4 hefur sýnt verulegar framfarir í skilningi og gerð mannslíkan texta, á meðan Gemini módel Google skara fram úr í meðhöndlun fjölbreyttra gagnategunda, þar á meðal texta, myndir og hljóð, sem gerir hnökralausari og samhengislega viðeigandi samskipti. Að sama skapi eru Claude 3 gerðir Anthropic þekktar fyrir fjöltyngda getu og aukna frammistöðu í gervigreindarverkefnum.
Þegar þróun LLMs heldur áfram að hraða, verður mikilvægt að skilja ranghala þessara líkana, sérstaklega breytur þeirra og minnisþörf. Þessi handbók miðar að því að afmáa þessa þætti og bjóða upp á nákvæma og auðskiljanlega skýringu.
Grunnatriði stórra tungumálalíkana
Hvað eru stór tungumálalíkön?
Stór tungumálalíkön eru taugakerfi sem eru þjálfuð á stórum gagnasöfnum til að skilja og búa til mannamál. Þeir treysta á arkitektúr eins og Transformers, sem nota kerfi eins og sjálfsathygli til að vinna og framleiða texta.
Mikilvægi færibreyta í LLM
Færibreytur eru kjarnaþættir þessara líkana. Þau innihalda þyngd og hlutdrægni, sem líkanið stillir á meðan á þjálfun stendur til að lágmarka villur í spám. Fjöldi færibreyta er oft í samræmi við getu og frammistöðu líkansins en hefur einnig áhrif á reikni- og minnisþörf þess.
Að skilja Transformer Architecture
Yfirlit
Transformer arkitektúrinn, kynntur í „Attention Is All You Need“ grein eftir Vaswani o.fl. (2017), hefur orðið grunnurinn að mörgum LLMs. Það samanstendur af kóðara og afkóðara, sem hvert er gert úr nokkrum eins lögum.
Kóðunar- og afkóðarahlutir
- kóðun: Vinnur úr inntaksröðinni og býr til samhengisvitaða framsetningu.
- Leyniletri: Myndar úttaksröðina með því að nota framsetningu kóðarans og áður mynduðu táknin.
Helstu byggingareiningar
- Multi-Head Athygli: Gerir líkaninu kleift að einbeita sér að mismunandi hlutum inntaksröðarinnar samtímis.
- Feed-Forward taugakerfi: Bætir ólínuleika og margbreytileika við líkanið.
- Layer Normalization: Stöðugir og flýtir fyrir þjálfun með því að staðla milliafköst.
Útreikningur á fjölda færibreyta
Reikna færibreytur í Transformer-undirstaða LLMs
Við skulum brjóta niður færibreytuútreikninginn fyrir hvern þátt í Transformer-undirstaða LLM. Við munum nota merkinguna frá upprunalegu blaðinu, þar sem d_model
táknar vídd falinna ástands líkansins.
- Innfellingarlag:
- Færibreytur =
vocab_size
*d_model
- Færibreytur =
- Multi-Head Athygli:
- fyrir
h
höfuð, meðd_k = d_v = d_model / h
: - Færibreytur = 4 *
d_model
^2 (fyrir Q, K, V og úttaksspár)
- fyrir
- Feed-Forward net:
- Færibreytur = 2 *
d_model
*d_ff
+d_model
+d_ff
- hvar
d_ff
er venjulega 4 *d_model
- Færibreytur = 2 *
- Layer Normalization:
- Færibreytur = 2 *
d_model
(fyrir mælikvarða og hlutdrægni)
- Færibreytur = 2 *
Heildarfæribreytur fyrir eitt Transformer lag:
Parameters_layer
=Parameters_attention
+Parameters_ffn
+ 2 *Parameters_layernorm
Fyrir fyrirmynd með N
lög:
- Heildarfæribreytur =
N
*Parameters_layer
+Parameters_embedding
+Parameters_output
Dæmi um útreikning
Við skulum íhuga líkan með eftirfarandi forskriftum:
d_model
= 768h
(fjöldi athyglishausa) = 12N
(fjöldi laga) = 12vocab_size
= 50,000
- Innfellingarlag:
- 50,000 * 768 = 38,400,000
- Multi-Head Athygli:
- 4 * 768^2 = 2,359,296
- Feed-Forward net:
- 2 * 768 * (4 * 768) + 768 + (4 * 768) = 4,719,616
- Layer Normalization:
- 2 * 768 = 1,536
Heildarfæribreytur á hverju lagi:
- 2,359,296 + 4,719,616 + (2 * 1,536) = 7,081,984
Heildarfæribreytur fyrir 12 lög:
- 12 * 7,081,984 = 84,983,808
Heildarfæribreytur líkans:
- 84,983,808 + 38,400,000 = 123,383,808
Þetta líkan myndi hafa um það bil 123 milljónir breytur.
Tegundir minnisnotkunar
Þegar við vinnum með LLM, þurfum við að huga að tvenns konar minnisnotkun:
- Fyrirmyndarminni: Minni sem þarf til að geyma færibreytur líkansins.
- Vinnsluminni: Minnið sem þarf við ályktun eða þjálfun til að geyma millivirkjanir, halla og fínstillingarstöðu.
Að reikna líkanminni
Minni líkansins er beintengt fjölda breytu. Hver færibreyta er venjulega geymd sem 32-bita flottala, þó að sumar gerðir noti blandaða nákvæmniþjálfun með 16-bita flotum.
Gerðminni (bæti) = Fjöldi færibreyta * Bæti á færibreytu
Fyrir dæmið okkar með 123 milljón breytum:
- Gerðminni (32-bita) = 123,383,808 * 4 bæti = 493,535,232 bæti ≈ 494 MB
- Gerðminni (16-bita) = 123,383,808 * 2 bæti = 246,767,616 bæti ≈ 247 MB
Mat á vinnuminni
Kröfur um vinnsluminni geta verið verulega mismunandi eftir tilteknu verkefni, lotustærð og röð lengd. Gróft mat á vinnsluminni meðan á ályktun stendur er:
Vinnuminni ≈ 2 * Gerðminni
Þetta gerir ráð fyrir að geyma bæði líkanbreytur og millivirkjanir. Meðan á þjálfun stendur geta minnisþörfin verið enn meiri vegna nauðsyn þess að geyma halla og fínstillingarstöðu:
Þjálfunarminni ≈ 4 * Model Memory
Fyrir dæmið okkar:
- Ályktunarvinnuminni ≈ 2 * 494 MB = 988 MB ≈ 1 GB
- Þjálfunarminni ≈ 4 * 494 MB = 1,976 MB ≈ 2 GB
Stöðugt minnisnotkun og hámarksminnisnotkun
Þegar þjálfað er stór tungumálalíkön byggð á Transformer arkitektúr er skilningur á minnisnotkun afar mikilvægur fyrir skilvirka úthlutun auðlinda. Við skulum skipta minnisþörfunum niður í tvo meginflokka: stöðugt minnisnotkun og hámarksminnisnotkun.
Stöðugt minnisnotkun
Stöðugt minnisnotkun samanstendur af eftirfarandi hlutum:
- Módelþyngd: FP32 afrit af færibreytum líkansins, sem krefjast 4N bæta, þar sem N er fjöldi færibreytna.
- Fínstillingarríki: Fyrir Adam fínstillinguna þarf þetta 8N bæti (2 ríki á hverja færibreytu).
- Yfirlit: FP32 afrit af halla, sem þarfnast 4N bæta.
- Inntaksgögn: Miðað við int64 inntak þarf þetta 8BD bæti, þar sem B er lotustærð og D er inntaksvídd.
Hægt er að áætla heildar minnisnotkun í stöðugu ástandi með því að:
- M_steady = 16N + 8BD bæti
Hámarks minni notkun
Hámarksminnisnotkun á sér stað meðan á bakhliðinni stendur þegar virkjunar eru geymdar fyrir útreikning á halla. Helstu þátttakendur í hámarksminni eru:
- Layer Normalization: Krefst 4E bæta fyrir hvert lag norm, þar sem E = BSH (B: lotustærð, S: röð lengd, H: falin stærð).
- Athygli blokk:
- QKV útreikningur: 2E bæti
- Athyglisfylki: 4BSS bæti (S: lengd röð)
- Athyglisframleiðsla: 2E bæti
- Feed-Forward blokk:
- Fyrsta línulega lagið: 2E bæti
- GELU virkjun: 8E bæti
- Annað línulegt lag: 2E bæti
- Cross-entropy tap:
- Innskráningar: 6BSV bæti (V: stærð orðaforða)
Heildar virkjunarminni má áætla sem:
- M_act = L * (14E + 4BSS) + 6BSV bæti
Þar sem L er fjöldi spennulaga.
Heildarhámarksminninotkun
Hægt er að ná hámarksminnisnotkun meðan á þjálfun stendur með því að sameina stöðugt minni og virkjunarminni:
- M_peak = M_steady + M_act + 4BSV bæti
Viðbótartímabilið 4BSV gerir ráð fyrir aukaúthlutun í upphafi afturábaks.
Með því að skilja þessa þætti getum við fínstillt minnisnotkun við þjálfun og ályktanir, tryggt skilvirka úthlutun auðlinda og bætta frammistöðu stórra tungumálalíkana.
Skalalög og hagkvæmnisjónarmið
Stærðarlög fyrir LLM
Rannsóknir hafa sýnt að frammistaða LLMs hefur tilhneigingu til að fylgja ákveðnum stærðarlögmálum eftir því sem breytum fjölgar. Kaplan o.fl. (2020) tók fram að afköst líkans batna sem kraftlögmál fjölda færibreyta, reikna fjárhagsáætlun og stærð gagnasafns.
Sambandið á milli frammistöðu líkans og fjölda færibreyta er hægt að nálgast með því að:
Afköst ∝ N^α
Þar sem N er fjöldi færibreytna og α er mælikvarði, venjulega um 0.07 fyrir mállíkanaverkefni.
Þetta gefur til kynna að til að ná 10% framförum í frammistöðu þurfum við að fjölga færibreytum um stuðulinn 10^(1/α) ≈ 3.7.
Skilvirkni tækni
Eins og LLMs halda áfram að vaxa, hafa vísindamenn og sérfræðingar þróað ýmsar aðferðir til að bæta skilvirkni:
a) Blandað nákvæmnisþjálfun: Notkun 16-bita eða jafnvel 8-bita fljótandi tölur fyrir ákveðnar aðgerðir til að draga úr minnisnotkun og reikningskröfum.
b) Fyrirmynd Parallelism: Dreifir líkaninu á marga GPU eða TPU til að takast á við stærri gerðir en rúmast í einu tæki.
c) Gradient Checkpointing: Viðskiptaútreikning fyrir minni með því að endurreikna ákveðnar virkjanir á meðan á afturábakinu stendur í stað þess að geyma þær.
d) Snyrting og magngreining: Að fjarlægja minna mikilvægar lóðir eða draga úr nákvæmni þeirra eftir þjálfun til að búa til smærri, skilvirkari gerðir.
e) Eimingu: Þjálfa smærri líkön til að líkja eftir hegðun stærri, hugsanlega varðveita mikið af frammistöðu með færri breytum.
Hagnýtt dæmi og útreikningar
GPT-3, eitt stærsta tungumálalíkanið, hefur 175 milljarða færibreytur. Það notar afkóðara hluta Transformer arkitektúrsins. Til að skilja mælikvarða þess skulum við sundurliða fjölda færibreytu með tilgátum gildum:
d_model = 12288
d_ff = 4 * 12288 = 49152
- Fjöldi laga = 96
Fyrir eitt afkóðaralag:
Heildarfæribreytur = 8 * 12288^2 + 8 * 12288 * 49152 + 2 * 12288 ≈ 1.1 milljarður
Samtals fyrir 96 lög:
1.1 milljarður * 96 = 105.6 milljarðar
Eftirstöðvarnar koma frá innfellingu og öðrum hlutum.
Niðurstaða
Skilningur á breytum og minniskröfum stórra tungumálalíkana er lykilatriði til að hanna, þjálfa og nota þessi öflugu verkfæri á áhrifaríkan hátt. Með því að brjóta niður þætti Transformer arkitektúrs og skoða hagnýt dæmi eins og GPT, fáum við dýpri innsýn í flókið og umfang þessara líkana.
Til að skilja frekar nýjustu framfarirnar í stórum tungumálalíkönum og forritum þeirra, skoðaðu þessar ítarlegu leiðbeiningar:
- Skoðaðu heildarhandbókina um Gemma 2: Nýtt opið stórt tungumálalíkan Google fyrir innsýn í aukna frammistöðu og nýstárlega eiginleika.
- Lærðu um Building LLM Agents fyrir RAG frá grunni og lengra: Alhliða leiðarvísir sem fjallar um áskoranir og lausnir í endurheimtaraukinni kynslóð.
- Uppgötvaðu ranghala Uppsetning þjálfunar, fínstillingar og ályktunar á LLM með NVIDIA GPU og CUDA til að fínstilla gervigreind kerfi.
Ég hef eytt síðustu fimm árum í að sökkva mér niður í heillandi heim vélanáms og djúpnáms. Ástríða mín og sérfræðiþekking hefur leitt mig til að leggja mitt af mörkum til yfir 50 fjölbreyttra hugbúnaðarverkefna, með sérstakri áherslu á gervigreind/ML. Áframhaldandi forvitni mín hefur einnig dregið mig að náttúrulegri málvinnslu, svið sem ég er fús til að kanna frekar.
Þú gætir eins og
MARKLLM: Opinn hugbúnaður fyrir LLM vatnsmerki
Innleiðing stórra tungumálalíkana á Kubernetes: Alhliða handbók
Skilningur á sparse autoencoders, GPT-4 & Claude 3: ítarleg tæknileg könnun
Qwen2 – Nýjasta fjöltyngda tungumálalíkanið frá Fjarvistarsönnun ögrar SOTA eins og Llama 3
LLaVA-UHD: LMM sem skynjar hvaða myndhlutfall sem er og háupplausnarmyndir
Ofhleðsla stór tungumálalíkön með fjöltáknum spá
Nýlegar færslur
- Llama 3.1: Háþróaðasta opna gervigreindarlíkan Meta – Allt sem þú þarft að vita
- Að gjörbylta upplifun tækisins þíns: Hvernig gervigreind Apple endurskilgreinir tækni
- Lykillinn að farsælum gervigreindarlausnum? Atferlisgögn
- Hlutverk GANs í að bæta netöryggi
- 10 bestu gervigreind hárgreiðsluforrit (júlí 2024)