Mesterséges intelligencia
Az eddigi legerősebb nyílt forráskódú LLM: Meta LLAMA 3.1-405B

Közzététel:
12 hónapon

Láma 3.1-405B, amelyet a Meta AI fejlesztett ki, jelentős előrelépést jelent a nyílt forráskódú nyelvi modellek terén. 405 milliárd paraméterével ez az eddigi legnagyobb nyilvánosan elérhető nyelvi modell, amely a legfejlettebb szabadalmaztatott modellek egy részét vetekszik, sőt meg is haladja a különböző benchmarkokban.
Főbb jellemzők:
- 405 milliárd paraméter
- 128 KB token kontextushossza
- Többnyelvű támogatás (8 nyelvek)
- Utasításra hangolt verzió elérhető
- Nyílt forráskódú megengedő engedéllyel
Egy ilyen nagy teljesítményű modell nyílt forráskódú tartományban való megjelenése megváltoztatja a játékot, demokratizálja a hozzáférést a legkorszerűbb AI-képességekhez, és elősegíti az innovációt az egész iparágban.
Modellépítészet és képzés
A folyamat azzal kezdődik, hogy a beviteli szövegjogkivonatokat tokenbeágyazásokká alakítják. Ezek a beágyazások az önfigyelem és az előrecsatolt hálózatok több rétegén haladnak keresztül, lehetővé téve a modell számára, hogy megragadja a szövegen belüli összetett kapcsolatokat és függőségeket. Az autoregresszív dekódoló mechanizmus ezután generálja a kimeneti szöveg tokeneket, ezzel befejezve a folyamatot.

-
Csoportosított lekérdezési figyelem (GQA)
A Llama 3.1 a Grouped Query Attention funkciót használja, amely egy fontos optimalizálási technika, amelyre az előző válasz nem tért ki. Vizsgáljuk meg ezt részletesebben:
A Grouped Query Attention (GQA) a többfejű figyelem egyik változata, amelynek célja a számítási költségek és a memóriahasználat csökkentése a következtetés során, különösen hosszú sorozatok esetén. A Llama 3.1 405B modellben a GQA 8 kulcsérték fejjel van megvalósítva.
Így működik a GQA:
- Ahelyett, hogy minden egyes figyelemfejhez külön kulcs- és értékkivetítés lenne, a GQA több lekérdezési fejet csoportosít, hogy ugyanazt a kulcs- és értékfejet megosszák.
- Ez a csoportosítás jelentősen csökkenti a paraméterek számát a kulcs- és értékprojekciókban, ami kisebb modellméretekhez és gyorsabb következtetésekhez vezet.
- A figyelem számítása a következőképpen fejezhető ki:
Attention(Q, K, V) = softmax(QK^T / sqrt(d_k))V
Ahol Q g csoportba van csoportosítva, és K-nek és V-nek kevesebb feje van, mint Q-nak.
A GQA előnyei a Llama 3.1 405B-ben a következők:
- Csökkentett memóriaterület: Kevesebb kulcs- és értékkivetítés azt jelenti, hogy kevesebb memória szükséges a modellparaméterek tárolásához.
- Gyorsabb következtetés: A kulcs- és értékkivetítésekhez szükséges kevesebb számítással a következtetési sebesség javul.
- Fenntartott teljesítmény: A paraméterek csökkenése ellenére a GQA számos feladatban a szokásos többfejes figyelemhez mérhető teljesítményt mutat.
-
Kétlépcsős előképzés a kiterjesztett kontextushoz
A cikk egy kétlépcsős előképzési folyamatot említ a 128K token kontextusablak eléréséhez. Ez a Llama 3.1 405B képességeinek döntő szempontja:
1. szakasz: Kezdeti előképzés 8K tokenekkel
- A modellt először legfeljebb 8K tokenből álló sorozatokra képezték ki.
- Ez a szakasz lehetővé teszi a modell számára, hogy megtanulja az általános nyelvi megértést és a generálási képességeket.
2. szakasz: A kontextusbővítés előképzésének folytatása
- A kezdeti betanítás után a modell folyamatos előképzésen megy keresztül, hogy a kontextus hosszát 128 XNUMX tokenre növeljék.
- Ez a szakasz gondosan megtervezett képzési rendeket foglal magában, hogy segítse a modellt hosszabb sorozatokra általánosítani anélkül, hogy elveszítené képességét a rövidebb összefüggések kezelésére.
-
Multimodális képességek
Míg az előző válasz a multimodális képességeket érintette, kibővíthetjük, hogyan valósítja meg ezt a Llama 3.1 405B:
Kompozíciós megközelítés:
- A Llama 3.1 405B külön kódolókat használ a különböző módokhoz (pl. képek, beszéd).
- Ezek a kódolók a különféle módozatokból származó bemenetet egy megosztott beágyazási térré alakítják, amelyet a nyelvi modell megérthet.
Integráció a nyelvi modellel:
- Ezeknek a speciális kódolóknak a kimenetei ezután a fő nyelvi modellbe kerülnek.
- Ez lehetővé teszi a Llama 3.1 405B számára, hogy egyidejűleg különböző típusú adatokat dolgozzon fel és értsen meg, így több módozattal rendelkező feladatokat is végrehajthat.
A keresztfigyelem mechanizmusai:
- A különböző módozatok integrálásának kezelésére a Llama 3.1 405B valószínűleg keresztfigyelem mechanizmusokat alkalmaz.
- Ezek a mechanizmusok lehetővé teszik a modell számára, hogy a különböző módozatokból származó releváns információkra figyeljen szöveg generálása vagy egyéb feladatok végrehajtása során.
A Llama 3.1 405B multimodális képességei az alkalmazások széles skáláját nyitják meg, mint például:
- Képaláírás és vizuális kérdések megválaszolása
- Beszédből szöveggé átírás kontextuális megértéssel
- Szöveget, képeket és potenciálisan más adattípusokat kombináló multimodális érvelési feladatok
Képzés részletei
- Edzett tovább 15 billió tokenek
- Egyedi építésű GPU-fürt 39.3 millió GPU óra a 405B modellhez
- Változatos adatkészlet-kezelés a többnyelvű lehetőségekhez
Az utasításra hangolt változat további képzésen esett át:
- Finomhangolás a nyilvánosan elérhető utasítás-adatkészleteken
- Több, mint 25M szintetikusan generált példák
- Felügyelt finomhangolás (SFT) és Tanulás megerősítése emberi visszajelzéssel (RLHF)
Teljesítménymutatók
A táblázat összehasonlítja a Llama 3.1 405B, a Nemotron 4 340B Instruct, a GPT-4 (0125), a GPT-4 Omni és a Claude 3.5 Sonnet készülékeket. A legfontosabb benchmarkok közé tartoznak az általános feladatok, például az MMLU és az IFEval, a kódfeladatok, mint a HumanEval és a GSM8K, valamint az érvelési feladatok, mint az ARC Challenge. Minden benchmark pontszám tükrözi a modell képességét az emberhez hasonló szöveg megértésében és létrehozásában, az összetett problémák megoldásában és a kód végrehajtásában. Nevezetesen, a Llama 3.1 405B és a Claude 3.5 Sonnet számos benchmarkban jeleskedik, bemutatva fejlett képességeiket általános és tartományspecifikus feladatokban egyaránt.
A Llama 3.1-405B memóriakövetelményei
A Llama 3.1-405B futtatása jelentős memóriát és számítási erőforrásokat igényel:
- GPU memória: A 405B modell A80 GPU-nként akár 100 GB GPU memóriát is használhat a hatékony következtetés érdekében. A Tensor Parallelism használatával a terhelés több GPU között is elosztható.
- RAM: Legalább 512 GB rendszerRAM ajánlott a modell memóriaigényének kezelésére és a zavartalan adatfeldolgozás biztosítására.
- Tárolás: Győződjön meg arról, hogy több terabájtnyi SSD-tárhellyel rendelkezik a modellsúlyokhoz és a kapcsolódó adatkészletekhez. A nagy sebességű SSD-k kritikusak az adathozzáférési idő csökkentésében a képzés és a következtetések során (Llama Ai modell)â € <â € < (Groq).
Következtetés-optimalizálási technikák Llama 3.1-405B számára
Egy 405B paramétermodell, például a Llama 3.1 hatékony futtatása számos optimalizálási technikát igényel. Íme a legfontosabb módszerek a hatékony következtetés biztosítására:
a) Kvantálás: A kvantálás magában foglalja a modell súlyozásának pontosságának csökkentését, ami csökkenti a memóriahasználatot és javítja a következtetési sebességet anélkül, hogy jelentősen feláldozná a pontosságot. A Llama 3.1 támogatja a kvantálást az FP8-ra vagy még ennél is alacsonyabb pontosságot olyan technikák használatával, mint a QLoRA (Quantized Low-Rank Adaptation) a GPU-k teljesítményének optimalizálása érdekében.
Példakód:
from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig model_name = "meta-llama/Meta-Llama-3.1-405B" bnb_config = BitsAndBytesConfig( load_in_8bit=True, # Change to load_in_4bit for 4-bit precision bnb_8bit_quant_type="fp8", bnb_8bit_compute_dtype=torch.float16, ) model = AutoModelForCausalLM.from_pretrained( model_name, quantization_config=bnb_config, device_map="auto" ) tokenizer = AutoTokenizer.from_pretrained(model_name)
b) Tenzor párhuzamosság: A tenzor párhuzamosság magában foglalja a modell rétegeinek felosztását több GPU között a számítások párhuzamosítása érdekében. Ez különösen hasznos a nagy modelleknél, mint például a Llama 3.1, lehetővé téve az erőforrások hatékony felhasználását.
Példakód:
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline model_name = "meta-llama/Meta-Llama-3.1-405B" model = AutoModelForCausalLM.from_pretrained( model_name, device_map="auto", torch_dtype=torch.float16 ) tokenizer = AutoTokenizer.from_pretrained(model_name) nlp = pipeline("text-generation", model=model, tokenizer=tokenizer, device=0)
c) KV-gyorsítótár optimalizálása: A kulcsérték (KV) gyorsítótár hatékony kezelése kulcsfontosságú a hosszú kontextusok kezeléséhez. A Llama 3.1 támogatja a kiterjesztett kontextushosszokat, amelyek hatékonyan kezelhetők optimalizált KV-gyorsítótár technikákkal. Példakód:
# Ensure you have sufficient GPU memory to handle extended context lengths output = model.generate( input_ids, max_length=4096, # Increase based on your context length requirement use_cache=True )
Telepítési stratégiák
A Llama 3.1-405B telepítése a hardver erőforrások alapos mérlegelését igényli. Íme néhány lehetőség:
a) Felhőalapú telepítés: Használjon nagy memóriával rendelkező GPU-példányokat olyan felhőszolgáltatóktól, mint az AWS (P4d példányok) vagy a Google Cloud (TPU v4).
Példakód:
# Example setup for AWS import boto3 ec2 = boto3.resource('ec2') instance = ec2.create_instances( ImageId='ami-0c55b159cbfafe1f0', # Deep Learning AMI InstanceType='p4d.24xlarge', MinCount=1, MaxCount=1 )
b) Helyszíni telepítés: A nagy teljesítményű számítási képességekkel rendelkező szervezetek számára a Llama 3.1 on-premises telepítése nagyobb irányítást és potenciálisan alacsonyabb hosszú távú költségeket kínál.
Példa beállítás:
# Example setup for on-premises deployment # Ensure you have multiple high-performance GPUs, like NVIDIA A100 or H100 pip install transformers pip install torch # Ensure CUDA is enabled
c) Elosztott következtetés: Nagyobb telepítések esetén fontolja meg a modell több csomópont között történő elosztását.
Példakód:
# Using Hugging Face's accelerate library from accelerate import Accelerator accelerator = Accelerator() model, tokenizer = accelerator.prepare(model, tokenizer)
Használati esetek és alkalmazások
A Llama 3.1-405B ereje és rugalmassága számos lehetőséget nyit meg:
a) Szintetikus adatgenerálás: Kiváló minőségű, tartományspecifikus adatokat generál a kisebb modellek betanításához.
Példa használati esetre:
from transformers import pipeline generator = pipeline("text-generation", model=model, tokenizer=tokenizer) synthetic_data = generator("Generate financial reports for Q1 2023", max_length=200)
b) Tudáslepárlás: Vigye át a 405B modell ismereteit kisebb, jobban telepíthető modellekre.
Példakód:
# Use distillation techniques from Hugging Face from transformers import DistillationTrainer, DistillationTrainingArguments training_args = DistillationTrainingArguments( output_dir="./distilled_model", per_device_train_batch_size=2, num_train_epochs=3, logging_dir="./logs", ) trainer = DistillationTrainer( teacher_model=model, student_model=smaller_model, args=training_args, train_dataset=train_dataset, eval_dataset=eval_dataset, ) trainer.train()
c) Domain-specifikus finomhangolás: A modell adaptálása speciális feladatokhoz vagy iparágakhoz.
Példakód:
from transformers import Trainer, TrainingArguments training_args = TrainingArguments( output_dir="./domain_specific_model", per_device_train_batch_size=1, num_train_epochs=3, ) trainer = Trainer( model=model, args=training_args, train_dataset=train_dataset, eval_dataset=eval_dataset, ) trainer.train()
Ezek a technikák és stratégiák segítenek a Llama 3.1-405B teljes potenciáljának kihasználásában, biztosítva a hatékony, méretezhető és speciális AI-alkalmazásokat.
Jövőbeli irányok
A Llama 3.1-405B megjelenése valószínűleg több területen is felgyorsítja az innovációt:
- Továbbfejlesztett finomhangolási technikák speciális tartományokhoz
- Hatékonyabb következtetési módszerek kidolgozása
- Fejlődés a modell-sűrítés és desztilláció terén
Következtetés
A Llama 3.1-405B jelentős mérföldkövet jelent a nyílt forráskódú mesterséges intelligencia terén, és olyan képességeket kínál, amelyek korábban kizárólag a zárt forráskódú modelleknél voltak elérhetők.
Miközben folytatjuk e modell erejének feltárását, kulcsfontosságú, hogy felelősséggel és etikai megfontolásokkal közelítsük meg a használatát. A modell mellett biztosított eszközök és biztosítékok keretet biztosítanak a felelős telepítéshez, de a folyamatos éberség és a közösségi együttműködés kulcsfontosságú lesz annak biztosításában, hogy ezt a hatékony technológiát a társadalom javára használják fel.
Az elmúlt öt évet azzal töltöttem, hogy elmerüljek a gépi tanulás és a mélytanulás lenyűgöző világában. Szenvedélyem és szakértelmem késztetett arra, hogy több mint 50 különféle szoftverfejlesztési projektben működjek közre, különös tekintettel az AI/ML-re. Folyamatos kíváncsiságom a természetes nyelvi feldolgozás felé is vonzott, amely terület, amelyet szívesen fedezek fel.
Talán tetszene
-
Miért felejtik el a nagy nyelvi modellek a középső részt: A mesterséges intelligencia rejtett vakfoltjának feltárása
-
Az LLM-ek memóriakorlátai: Amikor a mesterséges intelligencia túl sokra emlékszik
-
Miért gondolják túl az LLM-ek az egyszerű rejtvényeket, de miért adják fel a nehézekkel?
-
A mesterséges intelligencia másképp viselkedik, amikor tudja, hogy tesztelés alatt áll, derül ki egy kutatásból.
-
A nagy nyelvi modellek megjegyzik a tesztelésükhöz szükséges adatkészleteket
-
A referenciaértékeken túl: Miért van szükség a mesterséges intelligencia értékelésének valóságellenőrzésére?