Mantium on globaali pilvialustan tarjoaja tekoälysovellusten rakentamiseen ja niiden laajamittaiseen hallintaan. Mantiumin kokonaisvaltaisen kehitysalustan avulla kaikenkokoiset yritykset ja yritykset voivat rakentaa tekoälysovelluksia ja automaatiota nopeammin ja helpommin kuin perinteisesti on mahdollista. Mantiumin avulla tekniset ja ei-tekniset tiimit voivat prototyyppiä, kehittää, testata ja ottaa käyttöön tekoälysovelluksia, kaikki alhaisella koodilla. Automaattisen kirjaamisen, valvonnan ja turvaominaisuuksien avulla Mantium vapauttaa myös ohjelmistot ja DevOps-insinöörit käyttämästä aikaansa pyörän uudelleen keksimiseen. Mantium tarjoaa korkealla tasolla:
- Huippumoderni AI – Kokeile ja kehitä laajan valikoiman avoimen lähdekoodin ja yksityisiä suuria kielimalleja yksinkertaisella käyttöliittymällä tai API:lla.
- Tekoälyprosessin automatisointi – Rakenna tekoälypohjaisia sovelluksia helposti kasvavalla integraatiokirjastolla ja Mantiumin graafisella AI Builderilla.
- Nopea käyttöönotto – Lyhennä tuotannon aikajanaa kuukausista viikkoihin tai jopa päiviin yhdellä napsautuksella tapahtuvalla käyttöönotolla. Tämä ominaisuus muuttaa tekoälysovellukset jaettaviksi verkkosovelluksiksi yhdellä napsautuksella.
- Turvallisuus ja sääntely – Varmistetaan turvallisuus ja hallintoperiaatteiden noudattaminen sekä tuki in-the-loop-prosesseille.
Mantium AI Builderin avulla voit kehittää kehittyneitä työnkulkuja, jotka integroivat ulkoiset API:t, logiikkatoiminnot ja tekoälymallit. Seuraavassa kuvakaappauksessa on esimerkki Mantium AI -sovelluksesta, joka ketjuttaa yhteen Twilio-syötteen, hallintokäytännön, AI-lohkon (joka voi luottaa avoimen lähdekoodin malliin, kuten GPT-J) ja Twilio-ulostuloon.
Tämän sovelluksen tukemiseksi Mantium tarjoaa kattavan ja yhtenäisen pääsyn tekoälyntarjoajien, kuten Open AI, Co:here ja AI21, mallisovellusliittymiin, mutta myös uusimpiin avoimen lähdekoodin malleihin. Me Mantiumissa uskomme, että kenen tahansa pitäisi pystyä rakentamaan omistamiaan moderneja tekoälysovelluksia päästä päähän, ja tuemme tätä tarjoamalla koodittoman ja matalan koodin pääsyn suorituskykyoptimoituihin avoimen lähdekoodin malleihin.
Esimerkiksi yksi Mantiumin ydin avoimen lähdekoodin malleista on GPT-J, huippuluokan luonnollisen kielen käsittelyn (NLP) malli, jonka on kehittänyt Eleuther AI. GPT-J on 6 miljardilla parametrilla yksi suurimmista ja parhaiten toimivista avoimen lähdekoodin tekstinluontimalleista. Mantium-käyttäjät voivat integroida GPT-J:n tekoälysovelluksiin Mantiumin AI Builderin kautta. GPT-J:n tapauksessa tämä edellyttää a:n määrittämistä nopea (luonnollinen kieliesitys siitä, mitä mallin pitäisi tehdä) ja joidenkin valinnaisten parametrien määrittäminen.
Esimerkiksi seuraavassa kuvakaappauksessa näkyy lyhennetty esittely mielipideanalyysikehotteesta, joka tuottaa selityksiä ja tunne-ennusteita. Tässä esimerkissä kirjoittaja kirjoitti, että "ruoka oli upeaa" ja että heidän "palvelunsa oli poikkeuksellista". Siksi tämä teksti ilmaisee positiivisen tunteen.
Yksi haaste avoimen lähdekoodin malleissa on kuitenkin se, että niitä on harvoin suunniteltu tuotantotason suorituskykyyn. Suurten mallien, kuten GPT-J, tapauksessa tämä voi tehdä tuotannon käyttöönotosta epäkäytännöllistä ja jopa mahdotonta käyttötapauksesta riippuen.
Varmistaaksemme, että käyttäjillämme on luokkansa paras suorituskyky, etsimme jatkuvasti tapoja lyhentää ydinmalliemme viivettä. Tässä viestissä kuvaamme päätelmien optimointikokeilun tuloksia, jossa käytämme DeepSpeedin päättelymoottoria lisäämään GPT-J:n päättelynopeutta noin 116%. Kuvaamme myös, kuinka olemme ottaneet käyttöön GPT-J:n Hugging Face Transformers -toteutuksen DeepSpeedillä. Amazon Sage Maker päätellä päätepisteitä.
Yleiskatsaus GPT-J-malliin
GPT-J on generatiivinen esikoulutettu (GPT) kielimalli, ja se on arkkitehtuuriltaan verrattavissa suosittuihin, yksityisiin, suuriin kielimalleihin, kuten Open AI:n GPT-3. Kuten aiemmin todettiin, se koostuu noin 6 miljardista parametrista ja 28 kerroksesta, jotka koostuvat myötäkytkentälohkosta ja itsetarkkailulohkosta. Kun GPT-J julkaistiin ensimmäisen kerran, se oli yksi ensimmäisistä suurista kielimalleista, joita käytettiin pyörivät upotukset, uusi sijainnin koodausstrategia, joka yhdistää absoluuttisen ja suhteellisen sijainnin kooderit. Se käyttää myös innovatiivista rinnakkaisstrategiaa, jossa tiheät ja eteenpäin suuntautuvat kerrokset yhdistetään yhdeksi kerrokseksi, mikä minimoi tiedonsiirron.
Vaikka GPT-J ei ehkä olekaan niin suuri nykystandardien mukaan – suuret mallit koostuvat yleensä yli 100 miljardista parametrista – se on silti vaikuttavan suorituskykyinen, ja nopealla suunnittelulla tai vähäisellä hienosäädöllä voit käyttää sitä useiden ongelmien ratkaisemiseen. Lisäksi sen suhteellisen vaatimaton koko tarkoittaa, että voit ottaa sen käyttöön nopeammin ja paljon halvemmalla kuin suurempia malleja.
GPT-J on kuitenkin edelleen melko iso. Esimerkiksi GPT-J:n harjoittelu FP32:ssa täyden painon päivityksillä ja Adam-optimointiohjelmalla vaatii yli 200 Gt muistia: 24 Gt malliparametreille, 24 Gt kaltevuuksille, 24 Gt Adamin neliöille, 24 Gt optimointitiloille, sekä lisämuistivaatimukset harjoituserien lataamiseen ja aktivointien tallentamiseen. Tietenkin FP16-harjoittelu vähentää näitä muistivaatimuksia lähes puoleen, mutta yli 100 Gt:n muisti vaatii silti innovatiivisia harjoitusstrategioita. Esimerkiksi Mantiumin NLP-tiimi kehitti yhteistyössä SageMakerin kanssa a työnkulku koulutukseen (hienosäätöön) GPT-J käyttämällä SageMaker-hajautettua mallin rinnakkaiskirjastoa.
Sitä vastoin GPT-J:n käyttämisessä johtopäätöksiä varten on paljon pienemmät muistivaatimukset – FP16:ssa mallien painot vievät alle 13 Gt, mikä tarkoittaa, että johtopäätökset voidaan tehdä helposti yhdellä 16 Gt:n GPU:lla. Kuitenkin päätelmät GPT-J:n valmiista toteutuksista, kuten Hugging Face Transformers täytäntöönpano jota käytämme, on suhteellisen hidasta. Olemme keskittyneet GPT-J:n päättelyviiveen vähentämiseen tukeaksemme käyttötapauksia, jotka vaativat erittäin reagoivaa tekstin luomista.
GPT-J:n vasteen latenssihaasteet
Vastausviive on keskeinen este generatiivisille esiopetetuille muuntajille (GPT), kuten GPT-J, jotka tehostavat nykyaikaista tekstintuotantoa. GPT-mallit luovat tekstiä päättelyvaiheiden sarjoilla. Jokaisessa päättelyvaiheessa mallille annetaan tekstiä syötteenä, ja tämän syötteen ehdolla se ottaa näytteitä sanastostaan tekstiin liitettäväksi. Kun otetaan huomioon esimerkiksi merkkijono "Tarvitsen sateenvarjon, koska se on", todennäköisesti seuraava merkki voi olla "sade". Se voi kuitenkin olla myös "aurinkoinen" tai "sidottu", mikä voi olla ensimmäinen askel kohti tekstisarjaa, kuten "Tarvitsen sateenvarjon, koska väistämättä alkaa sataa".
Tällaiset skenaariot aiheuttavat mielenkiintoisia haasteita GPT-mallien käyttöönotolle, koska tosielämän käyttötapaukset voivat sisältää kymmeniä, satoja tai jopa tuhansia päättelyvaiheita. Esimerkiksi 1,000 1,000 merkin vastauksen luominen vaatii 280 100 päättelyvaihetta! Näin ollen, vaikka malli saattaa tarjota päättelynopeuksia, jotka vaikuttavat riittävän nopeilta yksinään, latenssi voi helposti saavuttaa kestämättömät tasot, kun luodaan pitkiä tekstejä. Havaitsimme keskimääräisen 6.7 millisekunnin viiveen päättelyvaihetta kohden V30 GPU:ssa. Tämä saattaa tuntua nopealta 500 miljardin parametrin mallissa, mutta tällaisilla viiveillä kestää noin XNUMX sekuntia XNUMX tunnuksen vastauksen luomiseen, mikä ei ole ihanteellinen käyttökokemuksen näkökulmasta.
Päättelynopeuksien optimointi DeepSpeed Inference -toiminnolla
Syvä nopeus on Microsoftin kehittämä avoimen lähdekoodin syväoppimisen optimointikirjasto. Vaikka se keskittyy ensisijaisesti suurten mallien koulutuksen optimointiin, DeepSpeed tarjoaa myös päätelmien optimointikehyksen, joka tukee tiettyjä malleja, mukaan lukien BERT, Megatron, GPT-Neo, GPT2 ja GPT-J. DeepSpeed Inference helpottaa korkean suorituskyvyn päättelyä suurilla muuntajapohjaisilla arkkitehtuureilla mallin rinnakkaisuuden, johtopäätösoptimoitujen CUDA-ytimien ja kvantisoinnin yhdistelmän avulla.
GPT-J:n päättelynopeuden lisäämiseksi käytämme DeepSpeedin päättelymoottoria optimoitujen CUDA-ytimien lisäämiseksi Hugging Face Transformers GPT-J -toteutukseen.
DeepSpeedin päättelymoottorin nopeushyötyjen arvioimiseksi suoritimme sarjan latenssitestejä, joissa ajoitimme GPT-J:n eri kokoonpanoissa. Erityisesti vaihtelimme sitä, käytettiinkö DeepSpeediä, laitteistoa, lähtösekvenssin pituutta ja tulosekvenssin pituutta. Keskityimme sekä lähtö- että tulosekvenssin pituuteen, koska ne molemmat vaikuttavat päättelynopeuteen. 50 tokenin tulossarjan luomiseksi mallin on suoritettava 50 päättelyvaihetta. Lisäksi päättelyvaiheen suorittamiseen tarvittava aika riippuu syöttösekvenssin koosta – suuremmat syötteet vaativat enemmän käsittelyaikaa. Vaikka lähtösekvenssin koon vaikutus on paljon suurempi kuin tulosekvenssin koon vaikutus, on silti tarpeen ottaa huomioon molemmat tekijät.
Kokeessamme käytimme seuraavaa mallia:
- DeepSpeed-päätelmämoottori – Päällä, pois päältä
- Tarvikkeet – T4 (ml.g4dn.2xlarge), V100 (ml.p3.2xlarge)
- Syötä sekvenssin pituus - 50, 200, 500, 1000
- Lähtösekvenssin pituus - 50, 100, 150, 200
Tässä mallissa on yhteensä 64 näiden neljän tekijän yhdistelmää, ja kullekin yhdistelmälle suoritimme 20 latenssitestiä. Jokainen testi ajettiin esialusoidulla SageMaker-päätelmäpäätepisteellä varmistaen, että latenssitestimme heijastavat tuotantoaikoja, mukaan lukien API-vaihdot ja esikäsittely.
Testimme osoittavat, että DeepSpeedin GPT-J-päätelmämoottori on huomattavasti nopeampi kuin Hugging Face Transformers PyTorch -toteutus. Seuraava kuva havainnollistaa GPT-J:n keskimääräisiä tekstin luontiviiveitä DeepSpeed-kiihdytyksen kanssa ja ilman sitä ml.g4dn.2xlarge- ja ml.p3.2xlarge SageMaker-päätepisteissä.
Havaitsimme ml.g4dn.2xlarge-esiintymässä, joka on varustettu 16 Gt:n NVIDIA T4 GPU:lla, keskimääräisen viiveen pienenemisen noin 24 % [Standard Deviation (SD) = 0.05]. Tämä vastasi kasvua keskimääräisestä 12.5 (SD = 0.91) merkkistä sekunnissa keskimääräiseen 16.5 (SD = 2.13) merkkiin sekunnissa. Erityisesti DeepSpeedin kiihtyvyysvaikutus oli vieläkin voimakkaampi ml.p3.2xlarge-esiintymässä, joka on varustettu NVIDIA V100 GPU:lla. Tällä laitteistolla havaitsimme 53 % (SD = 07) keskimääräisen latenssin pienenemisen. Tokeneita sekunnissa mitattuna tämä vastasi kasvua keskimääräisestä 21.9 (SD = 1.97) merkistä sekunnissa keskimääräiseen 47.5 (SD = 5.8) merkkiin sekunnissa.
Huomasimme myös, että DeepSpeedin tarjoama kiihtyvyys vaimeni hieman molemmissa laitteistokokoonpanoissa syöttösekvenssien koon kasvaessa. Kaikissa olosuhteissa DeepSpeedin GPT-J-optimoinneilla tehty päätelmä oli kuitenkin edelleen huomattavasti nopeampi kuin perusviiva. Esimerkiksi g4dn-esiintymässä latenssin enimmäis- ja vähimmäisvähennykset olivat 31 % (syöttösekvenssin koko = 50) ja 15 % (syöttösekvenssin koko = 1000). Ja p3-esiintymässä enimmäis- ja vähimmäisviiveen pieneneminen olivat 62 % (syöttösekvenssin koko = 50) ja 40 % (syöttösekvenssin koko = 1000).
GPT-J:n käyttöönotto DeepSpeedillä SageMaker-päätelmäpäätepisteessä
Sen lisäksi, että GPT-J:n tekstin luontinopeus kasvaa dramaattisesti, DeepSpeedin päättelymoottori on helppo integroida SageMaker-päätelmäpäätepisteeseen. Ennen kuin lisäsimme DeepSpeedin johtopäätöspinoamme, päätepisteemme toimivat mukautetulla Docker-kuvalla, joka perustui viralliseen PyTorch-kuvaan. SageMakerin avulla on erittäin helppoa ottaa käyttöön mukautettuja päätelmäpäätepisteitä, ja DeepSpeedin integrointi oli yhtä helppoa kuin riippuvuuden sisällyttäminen ja muutaman koodirivin kirjoittaminen. Avoimen lähdekoodin opas GPT-J:n käyttöönoton DeepSpeedillä käyttöönoton työnkulkuun on saatavilla osoitteessa GitHub.
Yhteenveto
Mantium on omistautunut johtavaan innovaatioon, jotta jokainen voi rakentaa nopeasti tekoälyllä. Tekoälypohjaisesta prosessiautomaatiosta tiukoihin turvallisuus- ja vaatimustenmukaisuusasetuksiin, täydellinen alustamme tarjoaa kaikki työkalut, joita tarvitaan kestävien, vastuullisten tekoälysovellusten kehittämiseen ja hallintaan mittakaavassa ja alentaa markkinoille pääsyn esteitä. SageMaker auttaa Mantiumin kaltaisia yrityksiä pääsemään markkinoille nopeasti.
Lisätietoja siitä, kuinka Mantium voi auttaa sinua rakentamaan monimutkaisia tekoälypohjaisia työnkulkuja organisaatiollesi, vieraile osoitteessa www.mantiumai.com.
Tietoja kirjoittajista
Joe Hoover on vanhempi sovellettu tutkija Mantiumin tekoälyn tutkimus- ja kehitystiimissä. Hän on intohimoinen kehittämään malleja, menetelmiä ja infrastruktuuria, jotka auttavat ihmisiä ratkaisemaan todellisia ongelmia huippuluokan NLP-järjestelmillä. Vapaa-ajallaan hän nauttii reppumatkasta, puutarhanhoidosta, ruoanlaitosta ja perheen kanssa hengailusta.
Dhawal Patel on AWS:n koneoppimisarkkitehti. Hän on työskennellyt organisaatioiden kanssa suurista yrityksistä keskikokoisiin startup-yrityksiin hajautettuun tietojenkäsittelyyn ja tekoälyyn liittyvien ongelmien parissa. Hän keskittyy syväoppimiseen, mukaan lukien NLP- ja Computer Vision -alueet. Hän auttaa asiakkaita tekemään korkean suorituskyvyn mallipäätelmiä SageMakerissa.
Sunil Padmanabhan on Startup Solutions -arkkitehti AWS:ssä. Entisenä startup-perustajana ja teknologiajohtajana hän on intohimoinen koneoppimiseen ja keskittyy auttamaan startup-yrityksiä hyödyntämään tekoälyä/ML:ää liiketoimintansa tulosten saavuttamiseksi sekä suunnittelemaan ja ottamaan käyttöön ML/AI-ratkaisuja mittakaavassa.
- Coinsmart. Euroopan paras Bitcoin- ja kryptopörssi.
- Platoblockchain. Web3 Metaverse Intelligence. Tietoa laajennettu. VAPAA PÄÄSY.
- CryptoHawk. Altcoinin tutka. Ilmainen kokeilu.
- Lähde: 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
- Meistä
- absoluuttinen
- pääsy
- sen mukaisesti
- Tili
- Saavuttaa
- poikki
- Lisäksi
- lisä-
- vaikuttaa
- AI
- Kaikki
- Vaikka
- aina
- Amazon
- analyysi
- joku
- api
- API
- sovelluksen
- sovellukset
- sovellettu
- lähestymistapa
- suunnilleen
- sovellukset
- arkkitehtuuri
- keinotekoinen
- tekoäly
- automaattisesti
- Automaatio
- saatavissa
- keskimäärin
- AWS
- este
- Lähtötilanne
- koska
- ennen
- Hyödyt
- Miljardi
- Tukkia
- rakentaa
- rakentaja
- Rakentaminen
- liiketoiminta
- yritykset
- tapauksissa
- haaste
- haasteet
- pilvi
- Pilvialusta
- koodi
- yhteistyö
- yhdistelmä
- yhdistelmät
- yhdistetty
- Viestintä
- Yritykset
- täydellinen
- monimutkainen
- noudattaminen
- kattava
- tietokone
- tietojenkäsittely
- olosuhteet
- Ydin
- voisi
- CTO
- asiakassuhde
- Asiakkaat
- leikkaamisreuna
- omistautunut
- syvä
- Antaa
- osoittaa
- Riippuen
- riippuu
- sijoittaa
- käyttöön
- levityspinnalta
- käyttöönotto
- kuvata
- Malli
- suunniteltu
- kehittää
- kehitetty
- kehittämällä
- Kehitys
- jaettu
- hajautettu laskenta
- Satamatyöläinen
- verkkotunnuksia
- dramaattisesti
- helposti
- vaikutus
- työllistää
- mahdollistaa
- päittäin
- päätepiste
- Moottori
- Tekniikka
- Engineers
- varmistamalla
- yrityksille
- varustettu
- arvioida
- jokainen
- esimerkki
- Vaihto
- experience
- kokeilu
- laaja
- epätavallinen
- Kasvot
- tekijät
- perhe
- FAST
- nopeampi
- Ominaisuus
- Ominaisuudet
- Kuva
- Etunimi
- keskityttiin
- keskittyy
- jälkeen
- Jalanjälki
- perustaja
- Puitteet
- alkaen
- koko
- Lisäksi
- tuottaa
- tuottaa
- sukupolvi
- generatiivinen
- Global
- hallinto
- GPU
- Kasvava
- ohjaavat
- Tarvikkeet
- auttaa
- auttaa
- auttaa
- tätä
- Korkea
- erittäin
- Miten
- Kuitenkin
- HTTPS
- Sadat
- ihanteellinen
- kuva
- täytäntöönpano
- Mukaan lukien
- Kasvaa
- lisää
- Innovaatio
- innovatiivinen
- panos
- esimerkki
- yhdistää
- integraatiot
- Älykkyys
- eristäminen
- IT
- Kieli
- suuri
- suurempi
- suurin
- kerros
- johtava
- OPPIA
- oppiminen
- Taso
- tasot
- Vaikutusvalta
- Kirjasto
- linjat
- lastaus
- Pitkät
- näköinen
- kone
- koneoppiminen
- tehdä
- TEE
- hoitaa
- toimitusjohtaja
- markkinat
- välineet
- Muisti
- menetelmät
- Microsoft
- ehkä
- minimi
- ML
- malli
- mallit
- seuranta
- kk
- lisää
- Luonnollinen
- välttämätön
- Nvidia
- este
- kampanja
- tarjotaan
- virallinen
- avata
- avoimen lähdekoodin
- Operations
- optimointi
- optimoitu
- optimoimalla
- organisaatio
- organisaatioiden
- oma
- intohimoinen
- Ihmiset
- suorituskyky
- näkökulma
- foorumi
- politiikkaa
- politiikka
- Suosittu
- sijainti
- positiivinen
- mahdollinen
- teho
- Ennusteet
- aika
- Pääasiallinen
- yksityinen
- ongelmia
- prosessi
- Prosessien automatisointi
- Prosessit
- käsittely
- tuotanto
- toimittaja
- tarjoajat
- tarjoaa
- tarjoamalla
- saada
- nopeasti
- T & K-
- nostaa
- alainen
- tavoittaa
- vähentämällä
- heijastaa
- julkaistu
- Tiedotteet
- edustus
- edellyttää
- tarvitaan
- vaatimukset
- Vaatii
- vastaus
- vastuullinen
- tulokset
- ajaa
- juoksu
- Turvallisuus
- Said
- Asteikko
- Tiedemies
- sekuntia
- valinta
- näkemys
- Sarjat
- palvelevat
- setti
- Yksinkertainen
- single
- Koko
- So
- Tuotteemme
- Ratkaisumme
- SOLVE
- jonkin verran
- hienostunut
- erityisesti
- nopeus
- nopeudet
- menot
- pino
- standardi
- Alkaa
- käynnistyksen
- Startups
- huippu-
- Valtiot
- Yhä
- strategiat
- Strategia
- vahvempi
- tuki
- Tukee
- järjestelmät
- joukkue-
- Tekninen
- ehdot
- testi
- testit
- -
- siksi
- tuhansia
- Kautta
- aika
- kertaa
- tämän päivän
- yhdessä
- symbolinen
- tokens
- työkalut
- perinteisesti
- koulutus
- tyypillisesti
- ui
- varten
- Päivitykset
- käyttää
- Käyttäjät
- eri
- visio
- tavalla
- verkko
- Mitä
- Pyörä
- onko
- ilman
- työskenteli
- työnkulkuja
- kirjoittaminen
- Sinun