Mancij je globalni ponudnik platforme v oblaku za izdelavo aplikacij AI in njihovo upravljanje v velikem obsegu. Mantiumova razvojna platforma od konca do konca podjetjem in podjetjem vseh velikosti omogoča hitrejšo in enostavnejšo gradnjo aplikacij in avtomatizacije AI, kot je bilo tradicionalno mogoče. Z Mantiumom lahko tehnične in netehnične ekipe izdelujejo prototipe, razvijajo, testirajo in uvajajo aplikacije AI, vse s pristopom nizke kode. S samodejnim beleženjem, spremljanjem in varnostnimi funkcijami Mantium prav tako osvobodi inženirje programske opreme in DevOps, da ne bi porabili časa za ponovno odkrivanje kolesa. Na visoki ravni Mantium zagotavlja:
- Najsodobnejši AI – Eksperimentirajte in razvijajte z obsežno izbiro odprtokodnih in zasebnih velikih jezikovnih modelov s preprostim uporabniškim vmesnikom ali API-jem.
- Avtomatizacija procesov AI – Enostavno sestavite aplikacije, ki jih poganja AI, z rastočo knjižnico integracij in Mantiumovim grafičnim AI Builderjem.
- Hitra namestitev – Skrajšajte časovni okvir proizvodnje z mesecev na tedne ali celo dni z uvedbo z enim klikom. Ta funkcija z enim klikom spremeni aplikacije AI v spletne aplikacije, ki jih je mogoče deliti.
- Varnost in regulacija – Zagotavljanje varnosti in skladnosti s politikami upravljanja ter podpore za procese človeka v zanki.
Z Mantium AI Builder lahko razvijete sofisticirane poteke dela, ki integrirajo zunanje API-je, logične operacije in modele AI. Naslednji posnetek zaslona prikazuje primer aplikacije Mantium AI, ki povezuje vhod Twilio, politiko upravljanja, blok AI (ki se lahko zanaša na odprtokodni model, kot je GPT-J) in izhod Twilio.
Za podporo tej aplikaciji Mantium zagotavlja celovit in enoten dostop ne le do API-jev modelov ponudnikov umetne inteligence, kot so Open AI, Co:here in AI21, ampak tudi do najsodobnejših odprtokodnih modelov. Pri Mantiumu verjamemo, da bi moral biti vsakdo sposoben zgraditi sodobne aplikacije AI, ki jih ima, od konca do konca, in to podpiramo z zagotavljanjem dostopa brez kode in nizke kode do odprtokodnih modelov, optimiziranih za delovanje.
Na primer, eden od Mantiumovih ključnih odprtokodnih modelov je GPT-J, najsodobnejši model obdelave naravnega jezika (NLP), ki ga je razvil Eleuther AI. S 6 milijardami parametrov je GPT-J eden največjih in najuspešnejših modelov za generiranje odprtokodnega besedila. Uporabniki Mantiuma lahko integrirajo GPT-J v svoje aplikacije z umetno inteligenco prek Mantiumovega AI Builderja. V primeru GPT-J to vključuje določitev a poziv (predstavitev v naravnem jeziku tega, kar mora narediti model) in konfiguriranje nekaterih neobveznih parametrov.
Naslednji posnetek zaslona na primer prikazuje skrajšano predstavitev poziva za analizo razpoloženja, ki ustvari razlage in napovedi razpoloženja. V tem primeru je avtor zapisal, da je bila »hrana čudovita« in da je bila njihova »postrežba izjemna«. Zato to besedilo izraža pozitivno čustvo.
Vendar pa je eden od izzivov odprtokodnih modelov ta, da so le redko zasnovani za zmogljivost proizvodnega razreda. V primeru velikih modelov, kot je GPT-J, lahko zaradi tega uvedba proizvodnje postane nepraktična in celo neizvedljiva, odvisno od primera uporabe.
Da bi našim uporabnikom zagotovili dostop do najboljše zmogljivosti v svojem razredu, vedno iščemo načine za zmanjšanje zakasnitve naših osnovnih modelov. V tej objavi opisujemo rezultate poskusa optimizacije sklepanja, v katerem uporabljamo mehanizem sklepanja DeepSpeed za povečanje hitrosti sklepanja GPT-J za približno 116 %. Opisujemo tudi, kako smo uvedli izvedbo Hugging Face Transformers GPT-J z DeepSpeed v našem Amazon SageMaker končne točke sklepanja.
Pregled modela GPT-J
GPT-J je generativni vnaprej usposobljeni (GPT) jezikovni model in je glede na svojo arhitekturo primerljiv s priljubljenimi, zasebnimi, velikimi jezikovnimi modeli, kot je GPT-3 Open AI. Kot smo že omenili, je sestavljen iz približno 6 milijard parametrov in 28 slojev, ki so sestavljeni iz bloka za naprej in bloka samopozornosti. Ko je bil prvič izdan, je bil GPT-J eden prvih uporabljenih velikih jezikovnih modelov rotacijski vstavki, nova strategija kodiranja položaja, ki združuje dajalnike absolutnega in relativnega položaja. Uporablja tudi inovativno vzporedno strategijo, pri kateri sta zgoščena in posredovana plast združena v eni sami plasti, kar zmanjšuje stroške komunikacije.
Čeprav se GPT-J po današnjih standardih morda ne šteje za velikega – veliki modeli so običajno sestavljeni iz več kot 100 milijard parametrov – je še vedno izjemno zmogljiv in z nekaj hitrega inženiringa ali minimalne natančne nastavitve ga lahko uporabite za rešitev številnih težav. Poleg tega njegova razmeroma skromna velikost pomeni, da ga lahko namestite hitreje in po veliko nižji ceni kot večje modele.
Kljub temu je GPT-J še vedno precej velik. Na primer, usposabljanje GPT-J v FP32 s polnimi posodobitvami teže in optimizatorjem Adam zahteva več kot 200 GB pomnilnika: 24 GB za parametre modela, 24 GB za prelive, 24 GB za prelive Adamovega kvadrata, 24 GB za stanja optimizatorja, in dodatne pomnilniške zahteve za nalaganje učnih paketov in shranjevanje aktivacij. Seveda usposabljanje v FP16 zmanjša te pomnilniške zahteve skoraj za polovico, vendar pomnilniški odtis nad 100 GB še vedno zahteva inovativne strategije usposabljanja. Na primer, v sodelovanju s SageMakerjem je Mantiumova NLP ekipa razvila potek dela za usposabljanje (fino nastavitev) GPT-J z uporabo vzporedne knjižnice distribuiranega modela SageMaker.
V nasprotju s tem ima streženje GPT-J za sklepanje veliko nižje zahteve po pomnilniku – v FP16 uteži modelov zavzemajo manj kot 13 GB, kar pomeni, da je sklepanje mogoče zlahka izvesti na enem samem GPE s 16 GB. Vendar pa sklepanje z že pripravljenimi izvedbami GPT-J, kot je Hugging Face Transformers Izvajanje ki ga uporabljamo, je razmeroma počasen. Da bi podprli primere uporabe, ki zahtevajo zelo odzivno generiranje besedila, smo se osredotočili na zmanjšanje zakasnitve sklepanja GPT-J.
Izzivi zakasnitve odziva GPT-J
Zakasnitev odziva je glavna ovira za generativne vnaprej pripravljene transformatorje (GPT), kot je GPT-J, ki poganjajo sodobno generiranje besedila. Modeli GPT ustvarjajo besedilo skozi zaporedje korakov sklepanja. Pri vsakem koraku sklepanja dobi model kot vhod besedilo in, odvisno od tega vnosa, vzorči besedo iz svojega besedišča, da jo doda besedilu. Na primer, glede na zaporedje žetonov "rabim dežnik, ker je," je zelo verjetno, da bo naslednji žeton "dež". Lahko pa je tudi »sončno« ali »vezano«, kar bi lahko bil prvi korak k zaporedju besedila, kot je »Potrebujem dežnik, ker bo gotovo začelo deževati«.
Scenariji, kot je ta, sprožajo nekaj zanimivih izzivov za uvajanje modelov GPT, saj lahko primeri uporabe v resničnem svetu vključujejo na desetine, stotine ali celo tisoče korakov sklepanja. Na primer, generiranje odgovora s 1,000 žetoni zahteva 1,000 korakov sklepanja! Skladno s tem, čeprav lahko model ponuja hitrosti sklepanja, ki se zdijo dovolj hitre v izolaciji, lahko zakasnitev zlahka doseže nevzdržne ravni, ko se ustvarijo dolga besedila. Opazili smo povprečno zakasnitev 280 milisekund na korak sklepanja na GPU V100. To se morda zdi hitro za model s 6.7 milijarde parametrov, vendar s takšnimi zakasnitvami traja približno 30 sekund, da se ustvari odgovor s 500 žetoni, kar z vidika uporabniške izkušnje ni idealno.
Optimizacija hitrosti sklepanja z DeepSpeed Inference
DeepSpeed je odprtokodna optimizacijska knjižnica za globoko učenje, ki jo je razvil Microsoft. Čeprav se v prvi vrsti osredotoča na optimizacijo usposabljanja velikih modelov, DeepSpeed zagotavlja tudi okvir za optimizacijo sklepanja, ki podpira izbran nabor modelov, vključno z BERT, Megatron, GPT-Neo, GPT2 in GPT-J. DeepSpeed Inference omogoča visoko zmogljivo sklepanje z velikimi arhitekturami, ki temeljijo na Transformerju, s kombinacijo paralelizma modelov, jeder CUDA, optimiziranih za sklepanje, in kvantizacije.
Za povečanje hitrosti sklepanja z GPT-J uporabljamo mehanizem sklepanja DeepSpeed za vbrizgavanje optimiziranih jeder CUDA v izvedbo Hugging Face Transformers GPT-J.
Da bi ocenili hitrostne prednosti inferenčnega mehanizma DeepSpeed, smo izvedli vrsto testov zakasnitve, v katerih smo merili čas GPT-J v različnih konfiguracijah. Natančneje, spreminjali smo, ali je bil uporabljen DeepSpeed, strojna oprema, dolžina izhodnega zaporedja in dolžina vhodnega zaporedja. Osredotočili smo se na dolžino izhodnega in vhodnega zaporedja, ker obe vplivata na hitrost sklepanja. Za ustvarjanje izhodnega zaporedja 50 žetonov mora model izvesti 50 korakov sklepanja. Poleg tega je čas, potreben za izvedbo koraka sklepanja, odvisen od velikosti vhodnega zaporedja – večji vnosi zahtevajo več časa obdelave. Čeprav je učinek velikosti izhodnega zaporedja veliko večji od učinka velikosti vhodnega zaporedja, je vseeno treba upoštevati oba dejavnika.
V našem poskusu smo uporabili naslednjo zasnovo:
- Mehanizem za sklepanje DeepSpeed - Prižgi ugasni
- strojna oprema – T4 (ml.g4dn.2xlarge), V100 (ml.p3.2xlarge)
- Dolžina vhodnega zaporedja - 50, 200, 500, 1000
- Dolžina izhodnega zaporedja - 50, 100, 150, 200
Skupno ima ta zasnova 64 kombinacij teh štirih dejavnikov in za vsako kombinacijo smo izvedli 20 testov zakasnitve. Vsak preizkus je bil izveden na vnaprej inicializirani končni točki sklepanja SageMaker, kar zagotavlja, da naši testi zakasnitev odražajo proizvodne čase, vključno z izmenjavami API-jev in predprocesiranjem.
Naši testi kažejo, da je mehanizem sklepanja GPT-J podjetja DeepSpeed bistveno hitrejši od osnovne izvedbe Hugging Face Transformers PyTorch. Naslednja slika ponazarja povprečne zakasnitve generiranja besedila za GPT-J z in brez pospeševanja DeepSpeed na končnih točkah sklepanja ml.g4dn.2xlarge in ml.p3.2xlarge SageMaker.
Na instanci ml.g4dn.2xlarge, ki je opremljena z GPE NVIDIA T16 s 4 GB, smo opazili povprečno zmanjšanje zakasnitve za približno 24 % [Standardno odstopanje (SD) = 0.05]. To je ustrezalo povečanju s povprečnih 12.5 (SD = 0.91) žetonov na sekundo na povprečnih 16.5 (SD = 2.13) žetonov na sekundo. Učinek pospeševanja DeepSpeed je bil še močnejši na primerku ml.p3.2xlarge, ki je opremljen z GPE NVIDIA V100. Pri tej strojni opremi smo opazili 53-odstotno (SD = 07) povprečno zmanjšanje zakasnitve. Kar zadeva število žetonov na sekundo, je to ustrezalo povečanju s povprečnih 21.9 (SD = 1.97) žetonov na sekundo na povprečnih 47.5 (SD = 5.8) žetonov na sekundo.
Opazili smo tudi, da se je pospešek, ki ga ponuja DeepSpeed, nekoliko zmanjšal pri obeh konfiguracijah strojne opreme, ko je velikost vhodnih zaporedij rasla. Vendar pa je bilo v vseh pogojih sklepanje z optimizacijami GPT-J podjetja DeepSpeed še vedno bistveno hitrejše od osnovne vrednosti. Na primer, na primerku g4dn je bilo največje in najmanjše zmanjšanje zakasnitve 31 % (velikost vhodnega zaporedja = 50) oziroma 15 % (velikost vhodnega zaporedja = 1000). Na primerku p3 je bilo največje in najmanjše zmanjšanje zakasnitve 62 % (velikost vhodnega zaporedja = 50) oziroma 40 % (velikost vhodnega zaporedja = 1000).
Uvajanje GPT-J z DeepSpeed na končni točki sklepanja SageMaker
Poleg dramatičnega povečanja hitrosti generiranja besedila za GPT-J je mehanizem sklepanja DeepSpeed enostavno integrirati v končno točko sklepanja SageMaker. Preden smo DeepSpeed dodali v naš sklad sklepanja, so se naše končne točke izvajale na sliki Docker po meri, ki temelji na uradni sliki PyTorch. SageMaker omogoča zelo preprosto uvajanje končnih točk sklepanja po meri, integracija DeepSpeeda pa je bila tako preprosta kot vključitev odvisnosti in pisanje nekaj vrstic kode. Odprtokodni vodnik za potek dela za uvajanje GPT-J z DeepSpeed je na voljo na GitHub.
zaključek
Mantium je predan vodilnim inovacijam, tako da lahko vsakdo hitro gradi z AI. Od avtomatizacije procesov, ki jih poganja umetna inteligenca, do strogih nastavitev varnosti in skladnosti, naša popolna platforma ponuja vsa orodja, potrebna za razvoj in upravljanje robustnih, odgovornih aplikacij umetne inteligence v velikem obsegu in znižuje ovire za vstop. SageMaker pomaga podjetjem, kot je Mantium, hitro priti na trg.
Če želite izvedeti, kako vam lahko Mantium pomaga zgraditi zapletene delovne tokove, ki temeljijo na umetni inteligenci, za vašo organizacijo, obiščite www.mantiumai.com.
O avtorjih
Joe Hoover je višji aplikativni znanstvenik v skupini za raziskave in razvoj umetne inteligence podjetja Mantium. Navdušen je nad razvojem modelov, metod in infrastrukture, ki ljudem pomagajo rešiti probleme iz resničnega sveta z najsodobnejšimi sistemi NLP. V prostem času rad hodi z nahrbtnikom, vrtnari, kuha in se druži z družino.
Dhawal Patel je glavni arhitekt strojnega učenja pri AWS. Sodeloval je z organizacijami, od velikih podjetij do srednje velikih zagonskih podjetij, pri problemih, povezanih s porazdeljenim računalništvom in umetno inteligenco. Osredotoča se na poglobljeno učenje, vključno s področja NLP in računalniškega vida. Strankam pomaga doseči visoko zmogljivo sklepanje o modelih na SageMakerju.
Sunil Padmanabhan je arhitekt za zagonske rešitve pri AWS. Kot nekdanji ustanovitelj zagonskega podjetja in tehnični direktor se navdušuje nad strojnim učenjem in se osredotoča na pomoč zagonskim podjetjem pri uporabi AI/ML za njihove poslovne rezultate ter načrtovanju in uvajanju rešitev ML/AI v velikem obsegu.
- Coinsmart. Najboljša evropska borza bitcoinov in kriptovalut.
- Platoblockchain. Web3 Metaverse Intelligence. Razširjeno znanje. PROST DOSTOP.
- CryptoHawk. Altcoin radar. Brezplačen preizkus.
- Vir: 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
- O meni
- absolutna
- dostop
- ustrezno
- Račun
- Doseči
- čez
- Poleg tega
- Dodatne
- vplivajo
- AI
- vsi
- Čeprav
- vedno
- Amazon
- Analiza
- kdo
- API
- API-ji
- aplikacija
- aplikacije
- uporabna
- pristop
- približno
- aplikacije
- Arhitektura
- umetni
- Umetna inteligenca
- Samodejno
- Avtomatizacija
- Na voljo
- povprečno
- AWS
- ovira
- Izhodišče
- ker
- pred
- Prednosti
- Billion
- Block
- izgradnjo
- builder
- Building
- poslovni
- podjetja
- primeri
- izziv
- izzivi
- Cloud
- Platforma v oblaku
- Koda
- sodelovanje
- kombinacija
- kombinacije
- kombinirani
- Komunikacija
- Podjetja
- dokončanje
- kompleksna
- skladnost
- celovito
- računalnik
- računalništvo
- Pogoji
- Core
- bi
- CTO
- po meri
- Stranke, ki so
- vrhunsko
- namenjen
- globoko
- daje
- izkazati
- Odvisno
- odvisno
- razporedi
- razporejeni
- uvajanja
- uvajanje
- opisati
- Oblikovanje
- zasnovan
- Razvoj
- razvili
- razvoju
- Razvoj
- porazdeljena
- porazdeljeno računalništvo
- Lučki delavec
- domen
- dramatično
- enostavno
- učinek
- zaposluje
- omogoča
- konec koncev
- Končna točka
- Motor
- Inženiring
- Inženirji
- zagotoviti
- podjetja
- opremljena
- oceniti
- vsi
- Primer
- Izmenjave
- izkušnje
- poskus
- obsežen
- izredno
- Obraz
- dejavniki
- družina
- FAST
- hitreje
- Feature
- Lastnosti
- Slika
- prva
- osredotočena
- Osredotoča
- po
- Odtis
- Ustanovitelj
- Okvirni
- iz
- polno
- Poleg tega
- ustvarjajo
- ustvarjajo
- generacija
- generativno
- Globalno
- upravljanje
- GPU
- Pridelovanje
- vodi
- strojna oprema
- pomoč
- pomoč
- Pomaga
- tukaj
- visoka
- zelo
- Kako
- Vendar
- HTTPS
- Stotine
- idealen
- slika
- Izvajanje
- Vključno
- Povečajte
- narašča
- Inovacije
- inovativne
- vhod
- primer
- integrirati
- integracije
- Intelligence
- izolacija
- IT
- jezik
- velika
- večja
- Največji
- plast
- vodi
- UČITE
- učenje
- Stopnja
- ravni
- Vzvod
- Knjižnica
- linije
- nalaganje
- Long
- si
- stroj
- strojno učenje
- Znamka
- IZDELA
- upravljanje
- upravljanje
- Tržna
- pomeni
- Spomin
- Metode
- Microsoft
- morda
- minimalna
- ML
- Model
- modeli
- spremljanje
- mesecev
- več
- naravna
- potrebno
- Nvidia
- ovira
- ponudba
- ponujen
- Uradni
- odprite
- open source
- operacije
- optimizacija
- optimizirana
- optimizacijo
- Organizacija
- organizacije
- lastne
- strastno
- ljudje
- performance
- perspektiva
- platforma
- politike
- politika
- Popular
- Stališče
- pozitiven
- mogoče
- moč
- Napovedi
- precej
- , ravnateljica
- zasebna
- Težave
- Postopek
- Avtomatizacija procesov
- Procesi
- obravnavati
- proizvodnja
- Ponudnik
- ponudniki
- zagotavlja
- zagotavljanje
- izpolnjujejo pogoje
- hitro
- R & D
- dvigniti
- obsegu
- dosežejo
- zmanjšanje
- odražajo
- sprosti
- Izpusti
- zastopanje
- zahteva
- obvezna
- Zahteve
- zahteva
- Odgovor
- odgovorna
- Rezultati
- Run
- tek
- Varnost
- Je dejal
- Lestvica
- Znanstvenik
- sekund
- izbor
- sentiment
- Serija
- služijo
- nastavite
- Enostavno
- sam
- Velikosti
- So
- Software
- rešitve
- SOLVE
- nekaj
- prefinjeno
- posebej
- hitrost
- hitrosti
- Poraba
- sveženj
- standardna
- Začetek
- zagon
- Ustanavljanjem
- state-of-the-art
- Države
- Še vedno
- strategije
- Strategija
- močnejši
- podpora
- Podpira
- sistemi
- skupina
- tehnični
- Pogoji
- Test
- testi
- O
- zato
- tisoče
- skozi
- čas
- krat
- današnje
- skupaj
- žeton
- Boni
- orodja
- tradicionalno
- usposabljanje
- tipično
- ui
- pod
- posodobitve
- uporaba
- Uporabniki
- različnih
- Vizija
- načini
- web
- Kaj
- Kolo
- ali
- brez
- delal
- delovnih tokov
- pisanje
- Vaša rutina za