Mantium globális felhőplatform-szolgáltató mesterséges intelligencia-alkalmazások készítésére és azok nagyszabású kezelésére. A Mantium végpontok közötti fejlesztési platformja lehetővé teszi, hogy bármilyen méretű vállalat és vállalkozás gyorsabban és könnyebben építsen mesterséges intelligencia alkalmazásokat és automatizálást, mint ami a hagyományosan lehetséges. A Mantium segítségével a műszaki és nem műszaki csapatok mesterséges intelligencia-alkalmazásokat prototípusozhatnak, fejleszthetnek, tesztelhetnek és telepíthetnek, mindezt alacsony kódú megközelítéssel. Az automatikus naplózás, figyelés és biztonsági funkciók révén a Mantium a szoftvereket és a DevOps mérnököket is megszabadítja attól, hogy idejüket a kerék újrafeltalálásával töltsék. Magas szinten a Mantium a következőket nyújtja:
- A legmodernebb AI – Kísérletezzen és fejlesszen nyílt forráskódú és privát nagy nyelvi modellek széles választékával, egyszerű felhasználói felülettel vagy API-val.
- AI folyamatautomatizálás – Könnyen készíthet mesterséges intelligencia által vezérelt alkalmazásokat a növekvő integrációs könyvtár és a Mantium grafikus AI Builder segítségével.
- Gyors telepítés – Lerövidítse a gyártási idővonalat hónapokról hetekre vagy akár napokra az egykattintásos üzembe helyezéssel. Ez a funkció egyetlen kattintással az AI-alkalmazásokat megosztható webalkalmazásokká változtatja.
- Biztonság és szabályozás – Biztosítani kell a biztonságot és az irányítási politikáknak való megfelelést, valamint a humán folyamatok támogatását.
A Mantium AI Builder segítségével kifinomult munkafolyamatokat fejleszthet ki, amelyek integrálják a külső API-kat, logikai műveleteket és AI-modelleket. A következő képernyőkép a Mantium AI alkalmazás példáját mutatja, amely összekapcsolja a Twilio bemenetet, az irányítási szabályzatot, az AI blokkot (amely nyílt forráskódú modellre, például a GPT-J-re támaszkodhat) és a Twilio kimenetet.
Az alkalmazás támogatása érdekében a Mantium átfogó és egységes hozzáférést biztosít nemcsak az olyan mesterségesintelligencia-szolgáltatók modell API-jához, mint az Open AI, a Co:here és az AI21, hanem a legmodernebb nyílt forráskódú modellekhez is. A Mantiumnál hiszünk abban, hogy bárkinek képesnek kell lennie saját tulajdonában lévő modern AI-alkalmazások teljes körű létrehozására, és ezt azzal támogatjuk, hogy kód nélküli és alacsony kódú hozzáférést biztosítunk a teljesítményre optimalizált nyílt forráskódú modellekhez.
Például a Mantium egyik alapvető nyílt forráskódú modellje az GPT-Jáltal kifejlesztett legkorszerűbb természetes nyelvi feldolgozási (NLP) modell Eleuther AI. 6 milliárd paraméterével a GPT-J az egyik legnagyobb és legjobban teljesítő nyílt forráskódú szöveggeneráló modell. A Mantium felhasználók integrálhatják a GPT-J-t mesterséges intelligencia alkalmazásaikba a Mantium AI Builder segítségével. A GPT-J esetében ez magában foglalja a azonnali (természetes nyelvi megjelenítése annak, hogy mit kell tennie a modellnek) és néhány opcionális paraméter konfigurálása.
Például a következő képernyőképen egy hangulatelemzési prompt rövidített bemutatója látható, amely magyarázatokat és hangulat-előrejelzéseket készít. Ebben a példában a szerző azt írta, hogy „az étel csodálatos volt”, és hogy „kiszolgálásuk rendkívüli volt”. Ezért ez a szöveg pozitív érzelmeket fejez ki.
A nyílt forráskódú modellekkel kapcsolatos kihívás azonban az, hogy ritkán tervezték termelési szintű teljesítményre. Az olyan nagy modellek esetében, mint a GPT-J, ez a felhasználási esettől függően kivitelezhetetlenné, sőt kivitelezhetetlenné teheti az éles üzembe helyezést.
Annak érdekében, hogy felhasználóiink hozzáférhessenek a kategóriájában legjobb teljesítményhez, mindig keressük a módokat, hogy csökkentsük alapvető modelljeink késleltetését. Ebben a bejegyzésben egy következtetésoptimalizálási kísérlet eredményeit írjuk le, amelyben a DeepSpeed következtetési motorját használjuk a GPT-J következtetési sebességének körülbelül 116%-os növelésére. Leírjuk azt is, hogyan telepítettük a GPT-J Hugging Face Transformers megvalósítását DeepSpeeddel Amazon SageMaker következtetési végpontokat.
A GPT-J modell áttekintése
A GPT-J egy generatív előképzett (GPT) nyelvi modell, és architektúráját tekintve összehasonlítható az olyan népszerű, privát, nagy nyelvi modellekkel, mint az Open AI GPT-3. Mint korábban említettük, körülbelül 6 milliárd paraméterből és 28 rétegből áll, amelyek egy előrecsatolt blokkból és egy önfigyelő blokkból állnak. Amikor először megjelent, a GPT-J volt az egyik első nagy nyelvi modell, amelyet használtak forgó beágyazások, egy új pozíciókódolási stratégia, amely egyesíti az abszolút és relatív pozíciókódolókat. Ezenkívül innovatív párhuzamosítási stratégiát alkalmaz, ahol a sűrű és előrecsatolt rétegek egyetlen rétegben vannak kombinálva, ami minimálisra csökkenti a kommunikációs többletterhelést.
Bár a GPT-J a mai szabványok szerint nem feltétlenül tekinthető nagynak – a nagy modellek általában több mint 100 milliárd paraméterből állnak –, mégis lenyűgözően teljesít, és némi gyors tervezéssel vagy minimális finomhangolással számos probléma megoldására használhatja. Ezenkívül viszonylag szerény mérete azt jelenti, hogy gyorsabban és sokkal alacsonyabb költséggel telepíthető, mint a nagyobb modellek.
Ennek ellenére a GPT-J még mindig elég nagy. Például a GPT-J betanítása FP32-ben teljes súlyfrissítésekkel és az Adam optimalizálóval több mint 200 GB memóriát igényel: 24 GB a modellparaméterekhez, 24 GB a színátmenetekhez, 24 GB az Adam négyzetes gradienséhez, 24 GB az optimalizáló állapotokhoz, valamint a képzési kötegek betöltéséhez és az aktiválások tárolásához szükséges további memóriakövetelmények. Természetesen az FP16-os képzés csaknem felére csökkenti ezeket a memóriaigényeket, de a 100 GB-nál nagyobb memóriaterület továbbra is innovatív edzési stratégiákat tesz szükségessé. Például a SageMakerrel együttműködve a Mantium NLP csapata kifejlesztett egy munkafolyamat a GPT-J betanítására (finomhangolására) a SageMaker elosztott modell párhuzamos könyvtár használatával.
Ezzel szemben a GPT-J következtetésekhez való kiszolgálása sokkal alacsonyabb memóriaigényt igényel – az FP16-ban a modellek súlya kevesebb, mint 13 GB-ot foglal el, ami azt jelenti, hogy egyetlen 16 GB-os GPU-val könnyen levonható a következtetés. Következtetések azonban a GPT-J gyári megvalósításaira, például a Hugging Face Transformersre végrehajtás amit használunk, viszonylag lassú. Az erősen reagáló szöveggenerálást igénylő használati esetek támogatása érdekében a GPT-J következtetési késleltetésének csökkentésére összpontosítottunk.
A GPT-J válaszlátencia kihívásai
A válasz késleltetése alapvető akadálya a generatív előképzett transzformátoroknak (GPT-k), például a GPT-J-nek, amelyek a modern szöveggenerálást hajtják végre. A GPT modellek szöveget generálnak következtetési lépések sorozatán keresztül. A modell minden következtetési lépésnél szöveget kap bevitelként, és ennek feltétele mellett mintát vesz egy szót a szókincséből, hogy hozzáfűzze a szöveget. Például, ha figyelembe vesszük a „Szükségem van egy esernyőre, mert az” tokenek sorrendjét, a következő token nagy valószínűséggel az „esik”. Azonban lehet „napos” vagy „kötött”, ami lehet az első lépés egy olyan szövegsorozat felé, mint például: „Szükségem van egy esernyőre, mert biztosan esni fog”.
Az ehhez hasonló forgatókönyvek érdekes kihívásokat vetnek fel a GPT-modellek telepítése során, mivel a valós használati esetek több tíz, száz vagy akár több ezer következtetési lépést is tartalmazhatnak. Például egy 1,000 token válasz generálásához 1,000 következtetési lépésre van szükség! Ennek megfelelően, bár egy modell olyan következtetési sebességet kínálhat, amely önmagában elég gyorsnak tűnik, hosszú szövegek generálásakor a késleltetés könnyen elérhetetlen szintet ér el. V280 GPU-n következtetési lépésenként átlagosan 100 ezredmásodperces késleltetést figyeltünk meg. Ez gyorsnak tűnhet egy 6.7 milliárd paraméteres modellnél, de ilyen késleltetések mellett körülbelül 30 másodpercbe telik egy 500 tokenből álló válasz generálása, ami a felhasználói élmény szempontjából nem ideális.
A következtetési sebesség optimalizálása a DeepSpeed Inference segítségével
DeepSpeed egy nyílt forráskódú mélytanulási optimalizálási könyvtár, amelyet a Microsoft fejlesztett ki. Bár elsősorban a nagy modellek betanítására összpontosít, a DeepSpeed következtetésoptimalizálási keretrendszert is biztosít, amely támogatja a kiválasztott modellkészleteket, beleértve a BERT-et, a Megatron-t, a GPT-Neo-t, a GPT2-t és a GPT-J-t. A DeepSpeed Inference megkönnyíti a nagy teljesítményű következtetések levonását nagy Transformer-alapú architektúrákkal a modell párhuzamosság, a következtetésre optimalizált CUDA kernelek és a kvantálás kombinációjával.
A GPT-J-vel a következtetési sebesség növelése érdekében a DeepSpeed következtetési motorját használjuk, hogy optimalizált CUDA-kerneleket injektáljunk a Hugging Face Transformers GPT-J megvalósításába.
A DeepSpeed következtetési motorjának sebességbeli előnyeinek értékelése érdekében késleltetési tesztek sorozatát végeztük el, amelyekben a GPT-J-t különböző konfigurációkban időzítettük. Konkrétan változtattunk, hogy használtuk-e a DeepSpeed-et, a hardvert, a kimeneti sorozat hosszát és a bemeneti szekvencia hosszát. Mind a kimeneti, mind a bemeneti sorozat hosszára összpontosítottunk, mivel mindkettő befolyásolja a következtetési sebességet. 50 tokenből álló kimeneti sorozat létrehozásához a modellnek 50 következtetési lépést kell végrehajtania. Ezenkívül a következtetési lépés végrehajtásához szükséges idő a bemeneti sorozat méretétől függ – a nagyobb bemenetek több feldolgozási időt igényelnek. Bár a kimeneti sorozat méretének hatása sokkal nagyobb, mint a bemeneti sorozat méretének hatása, mégis mindkét tényezőt figyelembe kell venni.
Kísérletünkben a következő tervezést használtuk:
- DeepSpeed következtetés motor - Be ki
- hardver – T4 (ml.g4dn.2xlarge), V100 (ml.p3.2xlarge)
- Beviteli sorozat hossza - 50, 200, 500, 1000
- Kimeneti sorozat hossza - 50, 100, 150, 200
Összességében ez a kialakítás e négy tényező 64 kombinációját tartalmazza, és mindegyik kombinációhoz 20 késleltetési tesztet futtattunk. Minden teszt egy előre inicializált SageMaker következtetési végponton futott, biztosítva, hogy késleltetési tesztjeink tükrözzék a gyártási időt, beleértve az API-cseréket és az előfeldolgozást.
Tesztjeink azt mutatják, hogy a DeepSpeed GPT-J következtetési motorja lényegesen gyorsabb, mint az alapvonal Hugging Face Transformers PyTorch implementációja. A következő ábra a GPT-J átlagos szöveggenerálási késéseit mutatja DeepSpeed-gyorsítással és anélkül, ml.g4dn.2xlarge és ml.p3.2xlarge SageMaker következtetési végpontokon.
Az ml.g4dn.2xlarge példányon, amely 16 GB-os NVIDIA T4 GPU-val van felszerelve, körülbelül 24%-os átlagos késleltetési csökkenést figyeltünk meg [Szabványeltérés (SD) = 0.05]. Ez a másodpercenkénti átlagos 12.5 (SD = 0.91) tokenről a másodpercenkénti átlagos 16.5 (SD = 2.13) tokenre való növekedésnek felelt meg. Nevezetesen, a DeepSpeed gyorsító hatása még erősebb volt az ml.p3.2xlarge példányon, amely NVIDIA V100 GPU-val van felszerelve. Ezen a hardveren 53%-os (SD = 07) átlagos késleltetési csökkenést figyeltünk meg. A másodpercenkénti tokenek tekintetében ez az átlagos 21.9 (SD = 1.97) tokenről másodpercenként átlagosan 47.5 (SD = 5.8) tokenre való növekedésnek felelt meg.
Azt is megfigyeltük, hogy a DeepSpeed által kínált gyorsulás enyhén gyengült mindkét hardverkonfiguráción, ahogy a bemeneti szekvenciák mérete nőtt. Azonban minden körülmény között a DeepSpeed GPT-J optimalizálásaival még mindig lényegesen gyorsabb volt a következtetés, mint az alapvonal. Például a g4dn példányon a maximális és minimális késleltetési idő 31% (bemeneti szekvencia mérete = 50) és 15% (bemeneti szekvencia mérete = 1000) volt. A p3 példányon pedig a maximális és minimális késleltetési idő 62% (bemeneti szekvencia mérete = 50), illetve 40% (bemeneti szekvencia mérete = 1000) volt.
A GPT-J telepítése DeepSpeeddel egy SageMaker következtetési végponton
Amellett, hogy drámaian megnöveli a GPT-J szöveggenerálási sebességét, a DeepSpeed következtetési motorja egyszerűen integrálható a SageMaker következtetési végpontba. Mielőtt a DeepSpeed-et hozzáadtuk a következtetési veremünkhöz, végpontjaink egy hivatalos PyTorch-képalapú egyéni Docker-képen futottak. A SageMaker nagyon egyszerűvé teszi az egyéni következtetési végpontok telepítését, és a DeepSpeed integrálása olyan egyszerű volt, mint a függőség felvétele és néhány sor kód írása. A nyílt forráskódú útmutató a GPT-J DeepSpeeddel történő üzembe helyezéséhez szükséges üzembe helyezési munkafolyamathoz itt érhető el GitHub.
Következtetés
A Mantium elkötelezett az innováció élvonalában, hogy mindenki gyorsan építhessen mesterséges intelligencia segítségével. A mesterséges intelligencia által vezérelt folyamatautomatizálástól a szigorú biztonsági és megfelelőségi beállításokig a teljes platformunk biztosítja az összes szükséges eszközt a robusztus, felelősségteljes AI-alkalmazások széles körű fejlesztéséhez és kezeléséhez, és csökkenti a belépési akadályokat. A SageMaker segít az olyan vállalatoknak, mint a Mantium, hogy gyorsan piacra kerüljenek.
Ha meg szeretné tudni, hogyan segíthet a Mantium komplex mesterségesintelligencia-vezérelt munkafolyamatok létrehozásában szervezete számára, látogassa meg a webhelyet www.mantiumai.com.
A szerzőkről
Joe Hoover a Mantium mesterséges intelligencia kutatás-fejlesztési csapatának vezető alkalmazott tudósa. Szenvedélyesen fejleszti a modelleket, módszereket és infrastruktúrát, amelyek segítenek az embereknek megoldani a valós problémákat a legmodernebb NLP-rendszerekkel. Szabadidejében szeret hátizsákkal kirándulni, kertészkedni, főzni és a családjával lógni.
Dhawal Patel az AWS vezető gépi tanulási építésze. Az elosztott számítástechnikával és a mesterséges intelligenciával kapcsolatos problémákon a nagyvállalatoktól a közepes méretű induló vállalkozásokig szervezetekkel dolgozott együtt. A mély tanulásra összpontosít, beleértve az NLP és a Computer Vision tartományokat. Segít az ügyfeleknek abban, hogy a SageMaker-en nagy teljesítményű modellkövetkeztetést érjenek el.
Sunil Padmanabhan az AWS Startup Solutions építésze. Korábbi startup-alapítóként és technológiai igazgatóként szenvedélyesen rajong a gépi tanulásért, és arra összpontosít, hogy segítse az induló vállalkozásokat az AI/ML-nek az üzleti eredményeik hasznosításában, valamint az ML/AI-megoldások széles körű tervezésében és bevezetésében.
- Coinsmart. Európa legjobb Bitcoin- és kriptográfiai tőzsdéje.
- Platoblockchain. Web3 metaverzum intelligencia. Felerősített tudás. SZABAD HOZZÁFÉRÉS.
- CryptoHawk. Altcoin radar. Ingyenes próbaverzió.
- Forrás: https://aws.amazon.com/blogs/machine-learning/how-mantium-achieves-low-latency-gpt-j-inference-with-deepspeed-on-amazon-sagemaker/
- "
- 000
- 100
- 28
- 7
- 9
- a
- Rólunk
- Abszolút
- hozzáférés
- Eszerint
- Fiók
- Elérése
- át
- mellett
- További
- érint
- AI
- Minden termék
- Bár
- mindig
- amazon
- elemzés
- bárki
- api
- API-k
- app
- alkalmazások
- alkalmazott
- megközelítés
- körülbelül
- alkalmazások
- építészet
- mesterséges
- mesterséges intelligencia
- Automatikus
- Automatizálás
- elérhető
- átlagos
- AWS
- korlát
- kiindulási
- mert
- előtt
- Előnyök
- Billió
- Blokk
- épít
- építész
- Épület
- üzleti
- vállalkozások
- esetek
- kihívás
- kihívások
- felhő
- Felhő platform
- kód
- együttműködés
- kombináció
- kombinációk
- kombinált
- közlés
- Companies
- teljes
- bonyolult
- teljesítés
- átfogó
- számítógép
- számítástechnika
- Körülmények
- Mag
- tudott
- CTO
- szokás
- Ügyfelek
- élvonalbeli
- elszánt
- mély
- szállít
- bizonyítani
- attól
- függ
- telepíteni
- telepített
- bevezetéséhez
- bevetés
- leírni
- Design
- tervezett
- Fejleszt
- fejlett
- fejlesztése
- Fejlesztés
- megosztott
- elosztott számítástechnika
- Dokkmunkás
- domainek
- drámaian
- könnyen
- hatás
- alkalmaz
- lehetővé teszi
- végtől végig
- Endpoint
- Motor
- Mérnöki
- Mérnökök
- biztosítása
- Vállalatok
- felszerelt
- értékelni
- mindenki
- példa
- Feltételek
- tapasztalat
- kísérlet
- kiterjedt
- rendkívüli
- Arc
- tényezők
- család
- GYORS
- gyorsabb
- Funkció
- Jellemzők
- Ábra
- vezetéknév
- összpontosított
- koncentrál
- következő
- Lábnyom
- alapító
- Keretrendszer
- ból ből
- Tele
- Továbbá
- generál
- generáló
- generáció
- nemző
- Globális
- kormányzás
- GPU
- Növekvő
- útmutató
- hardver
- segít
- segít
- segít
- itt
- Magas
- nagyon
- Hogyan
- azonban
- HTTPS
- Több száz
- ideális
- kép
- végrehajtás
- Beleértve
- Növelje
- növekvő
- Innováció
- újító
- bemenet
- példa
- integrálni
- integrációk
- Intelligencia
- szigetelés
- IT
- nyelv
- nagy
- nagyobb
- legnagyobb
- réteg
- vezető
- TANUL
- tanulás
- szint
- szintek
- Tőkeáttétel
- könyvtár
- vonalak
- betöltés
- Hosszú
- keres
- gép
- gépi tanulás
- csinál
- KÉSZÍT
- kezelése
- kezelése
- piacára
- eszközök
- Memory design
- mód
- microsoft
- esetleg
- minimum
- ML
- modell
- modellek
- ellenőrzés
- hónap
- több
- Természetes
- elengedhetetlen
- Nvidia
- akadály
- ajánlat
- felajánlott
- hivatalos
- nyitva
- nyílt forráskódú
- Művelet
- optimalizálás
- optimalizált
- optimalizálása
- szervezet
- szervezetek
- saját
- szenvedélyes
- Emberek (People)
- teljesítmény
- perspektíva
- emelvény
- Politikák
- politika
- Népszerű
- pozíció
- pozitív
- lehetséges
- hatalom
- Tippek
- szép
- Fő
- magán
- problémák
- folyamat
- Folyamat automatizálás
- Folyamatok
- feldolgozás
- Termelés
- ellátó
- szolgáltatók
- biztosít
- amely
- jogosultak
- gyorsan
- K + F
- emel
- kezdve
- el
- csökkentő
- tükröznie
- felszabaduló
- Releases
- képviselet
- szükség
- kötelező
- követelmények
- megköveteli,
- válasz
- felelős
- Eredmények
- futás
- futás
- Biztonság
- Mondott
- Skála
- Tudós
- másodperc
- kiválasztás
- érzés
- Series of
- szolgáló
- készlet
- Egyszerű
- egyetlen
- Méret
- So
- szoftver
- Megoldások
- SOLVE
- néhány
- kifinomult
- kifejezetten
- sebesség
- sebesség
- Költési
- verem
- standard
- kezdet
- indítás
- Startups
- csúcs-
- Államok
- Még mindig
- stratégiák
- Stratégia
- erősebb
- támogatás
- Támogatja
- Systems
- csapat
- Műszaki
- feltételek
- teszt
- tesztek
- A
- ebből adódóan
- ezer
- Keresztül
- idő
- alkalommal
- mai
- együtt
- jelképes
- tokenek
- szerszámok
- hagyományosan
- Képzések
- jellemzően
- ui
- alatt
- Frissítés
- használ
- Felhasználók
- különféle
- látomás
- módon
- háló
- Mit
- Kerék
- vajon
- nélkül
- dolgozott
- munkafolyamatok
- írás
- A te