Gyors és költséghatékony LLaMA 2 finomhangolás az AWS Trainium | Amazon webszolgáltatások

Gyors és költséghatékony LLaMA 2 finomhangolás az AWS Trainium | Amazon webszolgáltatások

A nagy nyelvi modellek (LLM-ek) számos iparágban megragadták a fejlesztők, tudósok, technológusok, vállalkozók és vezetők képzeletét és figyelmét. Ezek a modellek kérdések megválaszolására, összegzésére, fordítására és egyebekre használhatók olyan alkalmazásokban, mint például az ügyfélszolgálati párbeszédes ügynökök, a marketinges tartalomkészítés és a kódolási asszisztensek.

Nemrég megjelent a Meta Láma 2 mind a kutatók, mind a kereskedelmi szervezetek számára, hozzáadva a többi LLM-hez, beleértve a MosaicML-t is MPT és a Sólyom. Ebben a bejegyzésben végigvezetjük a Llama 2 finomhangolását AWS Trainium, egy erre a célra épített gyorsító az LLM képzéshez, az edzési idők és költségek csökkentése érdekében. Áttekintjük a finomhangoló szkripteket, amelyeket a AWS Neuron SDK (NeMo Megatron-LM használatával), az általunk használt különféle konfigurációk és a látott átviteli eredmények.

A Llama 2 modellről

Hasonló az előzőhöz Láma 1 modell és más modellek, mint például a GPT, a Llama 2 a Transformer csak dekódoló architektúráját használja. Három méretben kapható: 7 milliárd, 13 milliárd és 70 milliárd paraméter. A Llama 1-hez képest a Llama 2 megduplázza a kontextus hosszát 2,000-ről 4,000-re, és csoportos lekérdezéseket használ (csak a 70B esetén). A Llama 2 előre betanított modelljeit 2 billió tokenre, finomhangolt modelljeit pedig több mint 1 millió emberi megjegyzésre képezték ki.

Láma 2 elosztott képzése

A 2 és 2,000 szekvenciahosszú Llama 4,000 elhelyezéséhez a szkriptet a NeMo Megatron a Trainiumhoz, amely támogatja az adatpárhuzamot (DP), a tenzorpárhuzamot (TP) és a csővezeték párhuzamosságot (PP). Konkrétabban, néhány szolgáltatás új megvalósításával, mint például a szóbeágyazás feloldása, a forgó beágyazás, az RMSNorm és a Swiglu aktiválása, a program általános szkriptjét használjuk. GPT Neuron Megatron-LM a Llama 2 képzési forgatókönyv támogatására.

Magas szintű képzési eljárásunk a következő: képzési környezetünkhöz a SLURM rendszer által kezelt többpéldányos klasztert használjuk az elosztott képzéshez és ütemezéshez a NeMo keretrendszerben.

Először töltse le a Llama 2 modellt és a képzési adatkészleteket, és dolgozza fel azokat a Llama 2 tokenizer segítségével. Például a RedPajama adatkészlet használatához használja a következő parancsot:

wget https://data.together.xyz/redpajama-data-1T/v1.0.0/book/book.jsonl python nemo/scripts/nlp_language_modeling/preprocess_data_for_megatron.py

A modellek letöltésével kapcsolatos részletes útmutatásért és az előfeldolgozási parancsfájl argumentumáért lásd: Töltse le a LlamaV2 adatkészletet és tokenizátort.

Ezután állítsa össze a modellt:

sbatch --nodes 4 compile.slurm ./llama_7b.sh

A modell összeállítása után indítsa el a betanítási feladatot a következő szkripttel, amely már optimalizálva van a Llama 2 legjobb konfigurációjával és hiperparamétereivel (a példakód tartalmazza):

sbatch --nodes 4 run.slurm ./llama_7b.sh

Végül figyeljük a TensorBoardot, hogy nyomon követhessük az edzés előrehaladását:

tensorboard --logdir ./

Az említett teljes példakódot és szkripteket a Llama 7B-ben találja oktatói és a NeMo kód a Neuron SDK-ban a részletesebb lépések végrehajtásához.

Finomhangoló kísérletek

Finomhangoltuk a 7B modellt az OSCAR (Open Super-large Crawled ALMAnaCH corpus) és a QNLI (Question-answering NLI) adatkészleteken Neuron 2.12 környezetben (PyTorch). Minden 2,000 és 4,000 sorozathosszhoz optimalizáltunk néhány konfigurációt, mint pl batchsize és a gradient_accumulation, az edzés hatékonysága érdekében. Finomhangolási stratégiaként az összes paraméter teljes finomhangolását (körülbelül 500 lépés) alkalmaztuk, amely kiterjeszthető a hosszabb lépésekkel és nagyobb adatkészletekkel (például 1T RedPajama) történő előképzésre. A szekvenciák párhuzamossága is engedélyezhető, hogy a NeMo Megatron sikeresen finomhangolhassa a nagyobb, 4,000 sorozathosszúságú modelleket. Az alábbi táblázat a Llama 7B finomhangolási kísérlet konfigurációját és teljesítményét mutatja be. Az átviteli sebesség szinte lineárisan skálázódik, ahogy a példányok száma 4-re nő.

Elosztott könyvtár Datasets Sorozat hossza Példányok száma Tenzor párhuzamos Adatok Párhuzamos Pipeline Parellel Globális kötegméret Átbocsátóképesség (szekv./mp)
Neuron NeMo Megatron OSCAR 4096 1 8 4 1 256 3.7
. . 4096 2 8 4 1 256 7.4
. . 4096 4 8 4 1 256 14.6
. QNLI 4096 4 8 4 1 256 14.1

Az utolsó lépés a pontosság ellenőrzése az alapmodell segítségével. Megvalósítottunk egy referenciaszkriptet a GPU-kísérletekhez, és megerősítettük a GPU és a Trainium képzési görbéit az alábbi ábrán látható módon. Az ábra a veszteséggörbéket szemlélteti a QNLI adatkészlet betanítási lépéseinek száma alapján. Vegyes pontosságot alkalmaztak a GPU-hoz (kék), a bf16-hoz pedig az alapértelmezett sztochasztikus kerekítéssel a Trainiumhoz (narancs).

Képzési görbe

Következtetés

Ebben a bejegyzésben bemutattuk, hogy a Trainium nagy teljesítményt és költséghatékony finomhangolást biztosít a Llama 2-ben. A Trainiumnak az elosztott előképzésre és a generatív mesterséges intelligencia modellek NeMo Megatron segítségével történő finomhangolására vonatkozó további forrásokért lásd: AWS Neuron Referencia a NeMo Megatronhoz.


A szerzőkről

Fast and cost-effective LLaMA 2 fine-tuning with AWS Trainium | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Hao Zhou az Amazon SageMaker kutatója. Ezt megelőzően gépi tanulási módszerek fejlesztésén dolgozott az Amazon Fraud Detector csalásfelderítésére. Szenvedélye a gépi tanulás, az optimalizálás és a generatív AI technikák alkalmazása különféle valós problémákra. A Northwestern Egyetemen szerzett villamosmérnöki PhD fokozatot.

Fast and cost-effective LLaMA 2 fine-tuning with AWS Trainium | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Karthick Gopalswamy az AWS alkalmazott tudósa. Az AWS előtt az Uber és a Walmart Labs tudósaként dolgozott, főként a vegyes egészszámú optimalizálásra összpontosítva. Az Ubernél a tömegközlekedési hálózat optimalizálására összpontosított igény szerinti SaaS-termékekkel és megosztott utazásokkal. A Walmart Labsnál az árképzésen és a csomagolás optimalizálásán dolgozott. Karthick az Észak-Karolinai Állami Egyetemen szerzett PhD fokozatot ipari és rendszermérnöki szakon, valamint mellékszakaszt az operációkutatásból. Kutatásai olyan modellekre és módszertanokra összpontosítanak, amelyek ötvözik az operációkutatást és a gépi tanulást.

Fast and cost-effective LLaMA 2 fine-tuning with AWS Trainium | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Xin Huang az Amazon SageMaker JumpStart és az Amazon SageMaker beépített algoritmusainak vezető alkalmazott tudósa. A skálázható gépi tanulási algoritmusok fejlesztésére összpontosít. Kutatási területe a természetes nyelvi feldolgozás, a táblázatos adatok magyarázható mély tanulása és a nem-paraméteres tér-idő klaszterezés robusztus elemzése. Számos közleményt publikált az ACL-ben, az ICDM-ben, a KDD konferenciákon és a Royal Statistical Society: A sorozatban.

Fast and cost-effective LLaMA 2 fine-tuning with AWS Trainium | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Youngsuk Park az AWS Annapurna Labs idősebb alkalmazott tudósa, az AI-gyorsítókra vonatkozó alapmodellek fejlesztésén és betanításán dolgozik. Ezt megelőzően Dr. Park vezető tudósként az Amazon Forecast kutatás-fejlesztésén dolgozott az AWS AI Labsnál. Kutatásai a gépi tanulás, az alapmodellek, az optimalizálás és a megerősítő tanulás közötti kölcsönhatásban rejlenek. Több mint 20 lektorált cikket publikált a legjobb helyszíneken, beleértve az ICLR-t, az ICML-t, az AISTATS-t és a KDD-t, munkaértekezlet szervezése és oktatóanyagok bemutatása az idősorok és az LLM képzés területén. Mielőtt csatlakozott volna az AWS-hez, a Stanford Egyetemen szerzett villamosmérnöki doktori fokozatot.

Fast and cost-effective LLaMA 2 fine-tuning with AWS Trainium | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Yida Wang az Amazon AWS AI csapatának vezető tudósa. Kutatási érdeklődése a rendszerek, a nagy teljesítményű számítástechnika és a big data elemzése iránt érdeklődik. Jelenleg mély tanulási rendszerekkel dolgozik, különös tekintettel a mély tanulási modellek összeállítására és optimalizálására a hatékony képzés és következtetés érdekében, különös tekintettel a nagyszabású alapozó modellekre. A küldetés az, hogy áthidalja a magas szintű modelleket a különböző keretrendszerekből és alacsony szintű hardverplatformokból, beleértve a CPU-kat, a GPU-kat és az AI-gyorsítókat, hogy a különböző modellek nagy teljesítménnyel fussanak különböző eszközökön.

Fast and cost-effective LLaMA 2 fine-tuning with AWS Trainium | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Jun (Luke) Huan az AWS AI Labs vezető tudósa. Dr. Huan a mesterséges intelligencia és az adattudomány területén dolgozik. Több mint 160 lektorált cikket publikált vezető konferenciákon és folyóiratokban, és 11 PhD hallgatót szerzett. 2009-ben megkapta az NSF Faculty Early Career Development Award díját. Mielőtt az AWS-hez csatlakozott, a Baidu Researchnél dolgozott kiváló tudósként és a Baidu Big Data Laboratory vezetőjeként. Megalapította a StylingAI Inc.-t, egy mesterséges intelligencia induló vállalkozást, és 2019–2021 között vezérigazgatóként és vezető tudósként dolgozott. Mielőtt csatlakozott az iparághoz, Charles E. és Mary Jane Spahr professzor volt a Kansasi Egyetem EECS tanszékén. 2015 és 2018 között programigazgatóként dolgozott a US NSF-nél a big data programért felelős.

Fast and cost-effective LLaMA 2 fine-tuning with AWS Trainium | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Shruti Koparkar az AWS vezető termékmarketing-menedzsere. Segít az ügyfeleknek felfedezni, értékelni és átvenni az Amazon EC2 gyorsított számítási infrastruktúrát gépi tanulási igényeiknek megfelelően.

Időbélyeg:

Még több AWS gépi tanulás