Mantium er en global skyplattformleverandør for å bygge AI-applikasjoner og administrere dem i stor skala. Mantiums ende-til-ende utviklingsplattform gjør det mulig for bedrifter og virksomheter i alle størrelser å bygge AI-applikasjoner og automatisering raskere og enklere enn det som tradisjonelt har vært mulig. Med Mantium kan tekniske og ikke-tekniske team prototype, utvikle, teste og distribuere AI-applikasjoner, alt med en lavkodetilnærming. Gjennom automatisk logging, overvåking og sikkerhetsfunksjoner frigjør Mantium også programvare og DevOps-ingeniører fra å bruke tiden sin på å finne opp hjulet på nytt. På et høyt nivå leverer Mantium:
- State-of-the-art AI – Eksperimenter og utvikler med et omfattende utvalg av åpen kildekode og private store språkmodeller med et enkelt brukergrensesnitt eller API.
- AI prosessautomatisering – Bygg enkelt AI-drevne applikasjoner med et voksende bibliotek med integrasjoner og Mantiums grafiske AI Builder.
- Rask utplassering – Forkort produksjonstidslinjen fra måneder til uker eller til og med dager med ett-klikks distribusjon. Denne funksjonen gjør AI-applikasjoner til delbare nettapper med ett klikk.
- Sikkerhet og regulering – Sikre sikkerhet og overholdelse av styringspolicyer og støtte for menneskelige prosesser.
Med Mantium AI Builder kan du utvikle sofistikerte arbeidsflyter som integrerer eksterne APIer, logiske operasjoner og AI-modeller. Følgende skjermbilde viser et eksempel på Mantium AI-appen, som lenker sammen en Twilio-inngang, styringspolicy, AI-blokk (som kan stole på en åpen kildekode-modell som GPT-J) og Twilio-utgang.
For å støtte denne appen, gir Mantium omfattende og enhetlig tilgang til ikke bare modell-API-er fra AI-leverandører som Open AI, Co:here og AI21, men også state-of-the-art åpen kildekode-modeller. Hos Mantium mener vi at hvem som helst bør kunne bygge moderne AI-applikasjoner som de eier, ende-til-ende, og vi støtter dette ved å gi tilgang uten kode og lav kode til ytelsesoptimerte åpen kildekode-modeller.
For eksempel er en av Mantiums kjernemodeller med åpen kildekode GPT-J, en state-of-the-art naturlig språkbehandling (NLP) modell utviklet av Eleuther AI. Med 6 milliarder parametere er GPT-J en av de største og best ytende modellene for generering av åpen kildekode. Mantium-brukere kan integrere GPT-J i AI-applikasjonene sine via Mantiums AI Builder. Når det gjelder GPT-J, innebærer dette å spesifisere en teksten (en naturlig språkrepresentasjon av hva modellen skal gjøre) og konfigurere noen valgfrie parametere.
Følgende skjermbilde viser for eksempel en forkortet demonstrasjon av en forespørsel om sentimentanalyse som gir forklaringer og sentimentforutsigelser. I dette eksemplet skrev forfatteren at "maten var fantastisk" og at "tjenesten deres var ekstraordinær." Derfor uttrykker denne teksten positive følelser.
En utfordring med åpen kildekode-modeller er imidlertid at de sjelden er designet for ytelse i produksjonsgrad. Når det gjelder store modeller som GPT-J, kan dette gjøre produksjonsdistribusjon upraktisk og til og med umulig, avhengig av brukstilfellet.
For å sikre at brukerne våre har tilgang til klassens beste ytelse, leter vi alltid etter måter å redusere ventetiden til kjernemodellene våre. I dette innlegget beskriver vi resultatene av et slutningsoptimaliseringseksperiment der vi bruker DeepSpeeds slutningsmotor for å øke GPT-Js slutningshastighet med omtrent 116 %. Vi beskriver også hvordan vi har implementert Hugging Face Transformers-implementeringen av GPT-J med DeepSpeed i vår Amazon SageMaker sluttpunkter.
Oversikt over GPT-J-modellen
GPT-J er en generativ fortrent (GPT) språkmodell, og når det gjelder arkitekturen, kan den sammenlignes med populære, private, store språkmodeller som Open AIs GPT-3. Som nevnt tidligere, består den av omtrent 6 milliarder parametere og 28 lag, som består av en feedforward-blokk og en selvoppmerksomhetsblokk. Da den først ble utgitt, var GPT-J en av de første store språkmodellene som ble brukt roterende innstøpninger, en ny posisjonskodingsstrategi som forener absolutte og relative posisjonskodere. Den bruker også en nyskapende parallelliseringsstrategi der tette og fremadgående lag kombineres i ett enkelt lag, noe som minimerer kommunikasjonsoverhead.
Selv om GPT-J kanskje ikke helt kvalifiserer så stort i dagens standarder – store modeller består vanligvis av mer enn 100 milliarder parametere – er den fortsatt imponerende ytelse, og med litt rask konstruksjon eller minimal finjustering kan du bruke den til å løse mange problemer. Videre betyr dens relativt beskjedne størrelse at du kan distribuere den raskere og til en mye lavere kostnad enn større modeller.
Når det er sagt, er GPT-J fortsatt ganske stor. For eksempel krever trening av GPT-J i FP32 med fullvektsoppdateringer og Adam optimizer over 200 GB minne: 24 GB for modellparametrene, 24 GB for gradientene, 24 GB for Adams kvadratiske gradienter, 24 GB for optimaliseringstilstandene, og tilleggsminnekravene for lasting av treningsbatcher og lagring av aktiveringer. Selvfølgelig reduserer trening i FP16 disse minnekravene nesten med det halve, men et minneavtrykk på over 100 GB krever fortsatt innovative treningsstrategier. For eksempel, i samarbeid med SageMaker, utviklet Mantiums NLP-team en arbeidsflyt for trening (finjustering) av GPT-J ved bruk av SageMaker distribuerte modell parallellbibliotek.
I motsetning til dette har visning av GPT-J for slutninger mye lavere minnekrav – i FP16 opptar modellvekter mindre enn 13 GB, noe som betyr at slutninger enkelt kan utføres på en enkelt 16 GB GPU. Men, slutning med ut-av-boksen implementeringer av GPT-J, for eksempel Hugging Face Transformers gjennomføring som vi bruker, er relativt treg. For å støtte brukstilfeller som krever svært responsiv tekstgenerering, har vi fokusert på å redusere GPT-Js slutningsforsinkelse.
Responsforsinkelsesutfordringer for GPT-J
Responslatens er et kjernehinder for de generative pretrained transformatorene (GPT-er) som GPT-J som driver moderne tekstgenerering. GPT-modeller genererer tekst gjennom sekvenser av slutningstrinn. Ved hvert slutningstrinn gis modellen tekst som input, og, betinget av denne input, prøver den et ord fra vokabularet for å legge til teksten. For eksempel, gitt sekvensen av tokens «Jeg trenger en paraply fordi det er», kan et neste token med høy sannsynlighet «regne». Imidlertid kan det også være "solfylt" eller "bundet", som kan være det første skrittet mot en tekstsekvens som "Jeg trenger en paraply fordi det kommer til å begynne å regne."
Scenarier som dette reiser noen interessante utfordringer for å distribuere GPT-modeller fordi brukstilfeller i den virkelige verden kan involvere titalls, hundrevis eller til og med tusenvis av slutningstrinn. For eksempel, å generere et svar på 1,000 tokener krever 1,000 slutningstrinn! Følgelig, selv om en modell kan tilby slutningshastigheter som virker raske nok isolert sett, er det lett for latens å nå uholdbare nivåer når lange tekster genereres. Vi observerte en gjennomsnittlig ventetid på 280 millisekunder per slutningstrinn på en V100 GPU. Dette kan virke raskt for en 6.7 milliarder parametermodell, men med slike ventetider tar det omtrent 30 sekunder å generere et svar på 500 tokener, noe som ikke er ideelt fra et brukeropplevelsesperspektiv.
Optimalisering av slutningshastigheter med DeepSpeed Inference
DeepSpeed er et åpen kildekode, dyplæringsoptimeringsbibliotek utviklet av Microsoft. Selv om det primært fokuserer på optimalisering av trening av store modeller, gir DeepSpeed også et rammeverk for inferensoptimalisering som støtter et utvalgt sett med modeller, inkludert BERT, Megatron, GPT-Neo, GPT2 og GPT-J. DeepSpeed Inference forenkler høyytelses-inferens med store transformatorbaserte arkitekturer gjennom en kombinasjon av modellparallellisme, inferensoptimaliserte CUDA-kjerner og kvantisering.
For å øke inferenshastigheten med GPT-J bruker vi DeepSpeeds inferensmotor for å injisere optimaliserte CUDA-kjerner i Hugging Face Transformers GPT-J-implementeringen.
For å evaluere hastighetsfordelene til DeepSpeeds inferensmotor, gjennomførte vi en serie latenstidstester der vi tidsbestemte GPT-J under forskjellige konfigurasjoner. Spesifikt varierte vi om DeepSpeed ble brukt eller ikke, maskinvare, utgangssekvenslengde og inngangssekvenslengde. Vi fokuserte på både utdata og inngangssekvenslengde, fordi de begge påvirker inferenshastigheten. For å generere en utdatasekvens på 50 tokens, må modellen utføre 50 slutningstrinn. Videre avhenger tiden som kreves for å utføre et slutningstrinn av størrelsen på inngangssekvensen – større innganger krever mer behandlingstid. Selv om effekten av utdatasekvensstørrelsen er mye større enn effekten av inputsekvensstørrelsen, er det fortsatt nødvendig å ta hensyn til begge faktorene.
I eksperimentet vårt brukte vi følgende design:
- DeepSpeed-inferensmotor - På av
- maskinvare – T4 (ml.g4dn.2xlarge), V100 (ml.p3.2xlarge)
- Inndatasekvenslengde - 50, 200, 500, 1000
- Lengde på utgangssekvens - 50, 100, 150, 200
Totalt har dette designet 64 kombinasjoner av disse fire faktorene, og for hver kombinasjon kjørte vi 20 latenstidstester. Hver test ble kjørt på et forhåndsinitialisert SageMaker-slutningsendepunkt, noe som sikrer at latenstidstestene våre gjenspeiler produksjonstider, inkludert API-utveksling og forhåndsbehandling.
Våre tester viser at DeepSpeeds GPT-J inferensmotor er vesentlig raskere enn den grunnleggende Hugging Face Transformers PyTorch-implementeringen. Følgende figur illustrerer gjennomsnittlig tekstgenereringsforsinkelser for GPT-J med og uten DeepSpeed-akselerasjon på ml.g4dn.2xlarge og ml.p3.2xlarge SageMaker-slutningsendepunkter.
På ml.g4dn.2xlarge-forekomsten, som er utstyrt med en 16 GB NVIDIA T4 GPU, observerte vi en gjennomsnittlig latensreduksjon på omtrent 24 % [Standard Deviation (SD) = 0.05]. Dette tilsvarte en økning fra gjennomsnittlig 12.5 (SD = 0.91) tokens per sekund til gjennomsnittlig 16.5 (SD = 2.13) tokens per sekund. Spesielt var DeepSpeeds akselerasjonseffekt enda sterkere på ml.p3.2xlarge-forekomsten, som er utstyrt med en NVIDIA V100 GPU. På den maskinvaren observerte vi en gjennomsnittlig latensreduksjon på 53 % (SD = 07). Når det gjelder tokens per sekund, tilsvarte dette en økning fra gjennomsnittlig 21.9 (SD = 1.97) tokens per sekund til gjennomsnittlig 47.5 (SD = 5.8) tokens per sekund.
Vi observerte også at akselerasjonen som tilbys av DeepSpeed dempet litt på begge maskinvarekonfigurasjonene etter hvert som størrelsen på inngangssekvensene vokste. Men på tvers av alle forhold var konklusjonen med DeepSpeeds GPT-J-optimaliseringer fortsatt betydelig raskere enn grunnlinjen. For eksempel, på g4dn-forekomsten, var den maksimale og minste latensreduksjonen henholdsvis 31 % (input-sekvensstørrelse = 50) og 15 % (input-sekvensstørrelse = 1000). Og på p3-forekomsten var reduksjonen av maksimal og minimum latens henholdsvis 62 % (input-sekvensstørrelse = 50) og 40 % (input-sekvensstørrelse = 1000).
Utplassering av GPT-J med DeepSpeed på et SageMaker-slutningsendepunkt
I tillegg til dramatisk økende tekstgenereringshastigheter for GPT-J, er DeepSpeeds inferensmotor enkel å integrere i et SageMaker-slutningsendepunkt. Før vi la til DeepSpeed i slutningsstabelen vår, kjørte endepunktene våre på et tilpasset Docker-bilde basert på et offisielt PyTorch-bilde. SageMaker gjør det veldig enkelt å distribuere tilpassede slutningsendepunkter, og integrering av DeepSpeed var like enkelt som å inkludere avhengigheten og skrive noen få linjer med kode. Den åpne kildekodeveiledningen til distribusjonsarbeidsflyten for å distribuere GPT-J med DeepSpeed er tilgjengelig på GitHub.
konklusjonen
Mantium er dedikert til å lede innovasjon slik at alle raskt kan bygge med AI. Fra AI-drevet prosessautomatisering til strenge sikkerhets- og samsvarsinnstillinger, vår komplette plattform gir alle verktøyene som er nødvendige for å utvikle og administrere robuste, ansvarlige AI-applikasjoner i stor skala og senker barrieren for inngang. SageMaker hjelper selskaper som Mantium å komme raskt ut på markedet.
For å finne ut hvordan Mantium kan hjelpe deg med å bygge komplekse AI-drevne arbeidsflyter for organisasjonen din, besøk www.mantiumai.com.
Om forfatterne
Joe Hoover er Senior Applied Scientist på Mantiums AI R&D-team. Han er lidenskapelig opptatt av å utvikle modeller, metoder og infrastruktur som hjelper folk med å løse virkelige problemer med banebrytende NLP-systemer. På fritiden liker han backpacking, hagearbeid, matlaging og å henge med familien.
Dhawal Patel er en hovedmaskinlæringsarkitekt ved AWS. Han har jobbet med organisasjoner som spenner fra store bedrifter til mellomstore startups med problemer knyttet til distribuert databehandling og kunstig intelligens. Han fokuserer på dyp læring inkludert NLP- og Computer Vision-domener. Han hjelper kundene med å oppnå høy ytelse modellslutning på SageMaker.
Sunil Padmanabhan er en Startup Solutions Architect hos AWS. Som tidligere oppstartsgründer og CTO brenner han for maskinlæring og fokuserer på å hjelpe startups å utnytte AI/ML for sine forretningsresultater og designe og distribuere ML/AI-løsninger i stor skala.
- Myntsmart. Europas beste Bitcoin og Crypto Exchange.
- Platoblokkkjede. Web3 Metaverse Intelligence. Kunnskap forsterket. FRI TILGANG.
- CryptoHawk. Altcoin Radar. Gratis prøveperiode.
- Kilde: 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
- Om oss
- Absolute
- adgang
- tilsvar
- Logg inn
- Oppnå
- tvers
- tillegg
- Ytterligere
- påvirke
- AI
- Alle
- Selv
- alltid
- Amazon
- analyse
- noen
- api
- APIer
- app
- søknader
- anvendt
- tilnærming
- ca
- apps
- arkitektur
- kunstig
- kunstig intelligens
- Automatisk
- Automatisering
- tilgjengelig
- gjennomsnittlig
- AWS
- barriere
- Baseline
- fordi
- før du
- Fordeler
- Milliarder
- Blokker
- bygge
- bygger
- Bygning
- virksomhet
- bedrifter
- saker
- utfordre
- utfordringer
- Cloud
- Skyplattform
- kode
- samarbeid
- kombinasjon
- kombinasjoner
- kombinert
- Kommunikasjon
- Selskaper
- fullføre
- komplekse
- samsvar
- omfattende
- datamaskin
- databehandling
- forhold
- Kjerne
- kunne
- CTO
- skikk
- Kunder
- skjærekant
- dedikert
- dyp
- leverer
- demonstrere
- avhengig
- avhenger
- utplassere
- utplassert
- utplasserings
- distribusjon
- beskrive
- utforming
- designet
- utvikle
- utviklet
- utvikle
- Utvikling
- distribueres
- distribuert databehandling
- Docker
- domener
- dramatisk
- lett
- effekt
- anvender
- muliggjør
- ende til ende
- Endpoint
- Motor
- Ingeniørarbeid
- Ingeniører
- sikrer
- bedrifter
- utstyrt
- evaluere
- alle
- eksempel
- Børser
- erfaring
- eksperiment
- omfattende
- ekstraordinær
- Face
- faktorer
- familie
- FAST
- raskere
- Trekk
- Egenskaper
- Figur
- Først
- fokuserte
- fokuserer
- etter
- Fotspor
- Grunnleggeren
- Rammeverk
- fra
- fullt
- Dess
- generere
- genererer
- generasjonen
- generative
- Global
- styresett
- GPU
- Økende
- veilede
- maskinvare
- hjelpe
- hjelpe
- hjelper
- her.
- Høy
- svært
- Hvordan
- Men
- HTTPS
- Hundrevis
- ideell
- bilde
- gjennomføring
- Inkludert
- Øke
- økende
- Innovasjon
- innovative
- inngang
- f.eks
- integrere
- integrasjoner
- Intelligens
- isolasjon
- IT
- Språk
- stor
- større
- største
- lag
- ledende
- LÆRE
- læring
- Nivå
- nivåer
- Leverage
- Bibliotek
- linjer
- lasting
- Lang
- ser
- maskin
- maskinlæring
- gjøre
- GJØR AT
- administrer
- administrerende
- marked
- midler
- Minne
- metoder
- Microsoft
- kunne
- minimum
- ML
- modell
- modeller
- overvåking
- måneder
- mer
- Naturlig
- nødvendig
- Nvidia
- hindring
- tilby
- tilbudt
- offisiell
- åpen
- åpen kildekode
- Drift
- optimalisering
- optimalisert
- optimalisere
- organisasjon
- organisasjoner
- egen
- lidenskapelig
- Ansatte
- ytelse
- perspektiv
- plattform
- Politikk
- politikk
- Populær
- posisjon
- positiv
- mulig
- makt
- Spådommer
- pen
- Principal
- privat
- problemer
- prosess
- Prosessautomatisering
- Prosesser
- prosessering
- Produksjon
- leverandør
- tilbydere
- gir
- gi
- kvalifisere
- raskt
- FoU
- heve
- spenner
- å nå
- redusere
- reflektere
- utgitt
- Utgivelser
- representasjon
- krever
- påkrevd
- Krav
- Krever
- svar
- ansvarlig
- Resultater
- Kjør
- rennende
- Sikkerhet
- Sa
- Skala
- Forsker
- sekunder
- utvalg
- sentiment
- Serien
- servering
- sett
- Enkelt
- enkelt
- Størrelse
- So
- Software
- Solutions
- LØSE
- noen
- sofistikert
- spesielt
- fart
- hastigheter
- utgifter
- stable
- Standard
- Begynn
- oppstart
- startups
- state-of-the-art
- Stater
- Still
- strategier
- Strategi
- sterkere
- støtte
- Støtter
- Systemer
- lag
- Teknisk
- vilkår
- test
- tester
- De
- derfor
- tusener
- Gjennom
- tid
- ganger
- dagens
- sammen
- token
- tokens
- verktøy
- tradisjonelt
- Kurs
- typisk
- ui
- etter
- oppdateringer
- bruke
- Brukere
- ulike
- syn
- måter
- web
- Hva
- Hjul
- om
- uten
- arbeidet
- arbeidsflyt
- skriving
- Din