Mantium is een wereldwijde leverancier van cloudplatforms voor het bouwen van AI-applicaties en het op grote schaal beheren ervan. Het end-to-end ontwikkelingsplatform van Mantium stelt ondernemingen en bedrijven van elke omvang in staat om AI-applicaties en automatisering sneller en gemakkelijker te bouwen dan traditioneel mogelijk was. Met Mantium kunnen technische en niet-technische teams AI-applicaties prototypen, ontwikkelen, testen en implementeren, allemaal met een low-code-aanpak. Door automatische logging, monitoring en veiligheidsfuncties zorgt Mantium er ook voor dat software en DevOps-engineers hun tijd niet hoeven te besteden aan het opnieuw uitvinden van het wiel. Op hoog niveau levert Mantium:
- State-of-the-art AI – Experimenteer en ontwikkel met een uitgebreide selectie van open-source en private grote taalmodellen met een eenvoudige UI of API.
- AI-procesautomatisering – Bouw eenvoudig AI-gestuurde applicaties met een groeiende bibliotheek van integraties en Mantium's grafische AI Builder.
- Snelle inzet – Verkort de productietijdlijn van maanden tot weken of zelfs dagen met implementatie met één klik. Deze functie maakt van AI-applicaties met één klik deelbare web-apps.
- Veiligheid en regelgeving – Zorgen voor veiligheid en naleving van het governancebeleid en ondersteuning voor human-in-the-loop-processen.
Met de Mantium AI Builder kunt u geavanceerde workflows ontwikkelen die externe API's, logische bewerkingen en AI-modellen integreren. De volgende schermafbeelding toont een voorbeeld van de Mantium AI-app, die een Twilio-invoer, governancebeleid, AI-blok (dat kan vertrouwen op een open-sourcemodel zoals GPT-J) en Twilio-uitvoer aan elkaar koppelt.
Om deze app te ondersteunen, biedt Mantium uitgebreide en uniforme toegang tot niet alleen model-API's van AI-providers zoals Open AI, Co:here en AI21, maar ook tot state-of-the-art open source-modellen. Bij Mantium zijn we van mening dat iedereen in staat zou moeten zijn om moderne AI-applicaties te bouwen waarvan hij de eigenaar is, end-to-end, en we ondersteunen dit door no-code en low-code toegang te bieden tot prestatie-geoptimaliseerde open-source modellen.
Een van de belangrijkste open-sourcemodellen van Mantium is bijvoorbeeld: GPT-J, een state-of-the-art natural language processing (NLP) model ontwikkeld door Eleuther AI. Met 6 miljard parameters is GPT-J een van de grootste en best presterende open-source tekstgeneratiemodellen. Mantium-gebruikers kunnen GPT-J integreren in hun AI-applicaties via Mantium's AI Builder. In het geval van GPT-J gaat het om het specificeren van a prompt (een natuurlijke taalweergave van wat het model zou moeten doen) en het configureren van enkele optionele parameters.
De volgende schermafbeelding toont bijvoorbeeld een verkorte demonstratie van een prompt voor sentimentanalyse die uitleg en sentimentvoorspellingen produceert. In dit voorbeeld schreef de auteur dat het 'eten geweldig was' en dat hun 'service buitengewoon' was. Daarom drukt deze tekst een positief sentiment uit.
Een uitdaging met open-sourcemodellen is echter dat ze zelden zijn ontworpen voor prestaties op productieniveau. In het geval van grote modellen zoals GPT-J kan dit, afhankelijk van het gebruik, productie-implementatie onpraktisch en zelfs onhaalbaar maken.
Om ervoor te zorgen dat onze gebruikers toegang hebben tot de beste prestaties in hun klasse, zijn we altijd op zoek naar manieren om de latentie van onze kernmodellen te verminderen. In dit bericht beschrijven we de resultaten van een inferentie-optimalisatie-experiment waarin we de inferentie-engine van DeepSpeed gebruiken om de inferentiesnelheid van GPT-J met ongeveer 116% te verhogen. We beschrijven ook hoe we de Hugging Face Transformers-implementatie van GPT-J met DeepSpeed hebben geïmplementeerd in onze Amazon Sage Maker inferentie eindpunten.
Overzicht van het GPT-J-model
GPT-J is een generatief voorgetraind (GPT) taalmodel en qua architectuur vergelijkbaar met populaire, privé, grote taalmodellen zoals GPT-3 van Open AI. Zoals eerder opgemerkt, bestaat het uit ongeveer 6 miljard parameters en 28 lagen, die bestaan uit een feedforward-blok en een zelf-aandachtsblok. Toen het voor het eerst werd uitgebracht, was GPT-J een van de eerste grote taalmodellen die werd gebruikt roterende inbeddingen, een nieuwe positiecoderingsstrategie die absolute en relatieve positie-encoders verenigt. Het maakt ook gebruik van een innovatieve parallellisatiestrategie waarbij dichte en feedforward-lagen worden gecombineerd in een enkele laag, waardoor de communicatie-overhead wordt geminimaliseerd.
Hoewel GPT-J volgens de huidige normen misschien niet zo groot is - grote modellen bestaan doorgaans uit meer dan 100 miljard parameters - is hij nog steeds indrukwekkend presterend, en met wat snelle engineering of minimale fijnafstemming, kun je hem gebruiken om veel problemen op te lossen. Bovendien betekent zijn relatief bescheiden formaat dat u het sneller en tegen veel lagere kosten kunt inzetten dan grotere modellen.
Dat gezegd hebbende, GPT-J is nog steeds behoorlijk groot. Bijvoorbeeld, het trainen van GPT-J in FP32 met volledige gewichtsupdates en de Adam-optimizer vereist meer dan 200 GB geheugen: 24 GB voor de modelparameters, 24 GB voor de hellingen, 24 GB voor Adam's kwadratische hellingen, 24 GB voor de optimalisatiestatussen, en de extra geheugenvereisten voor het laden van trainingsbatches en het opslaan van activeringen. Natuurlijk vermindert training in FP16 deze geheugenvereisten met bijna de helft, maar een geheugenvoetafdruk van meer dan 100 GB vereist nog steeds innovatieve trainingsstrategieën. Zo ontwikkelde het NLP-team van Mantium in samenwerking met SageMaker een workflow voor het trainen (fine-tunen) van GPT-J met behulp van de parallelle bibliotheek met gedistribueerde modellen van SageMaker.
Daarentegen heeft het bedienen van GPT-J voor inferentie veel lagere geheugenvereisten: in FP16 nemen modelgewichten minder dan 13 GB in beslag, wat betekent dat inferentie gemakkelijk kan worden uitgevoerd op een enkele 16 GB GPU. Echter, gevolgtrekking met out-of-the-box implementaties van GPT-J, zoals de Hugging Face Transformers uitvoering die we gebruiken, is relatief traag. Om gebruiksgevallen te ondersteunen die zeer responsieve tekstgeneratie vereisen, hebben we ons gericht op het verminderen van de inferentielatentie van GPT-J.
Uitdagingen voor responslatentie van GPT-J
Responslatentie is een belangrijk obstakel voor de generatieve vooraf getrainde transformatoren (GPT's) zoals GPT-J die moderne tekstgeneratie aandrijven. GPT-modellen genereren tekst via reeksen inferentiestappen. Bij elke inferentiestap krijgt het model tekst als invoer en, afhankelijk van deze invoer, bemonstert het een woord uit zijn vocabulaire om aan de tekst toe te voegen. Bijvoorbeeld, gezien de volgorde van tokens "Ik heb een paraplu nodig omdat het dat is", zou een volgende token met hoge waarschijnlijkheid "regenen" kunnen zijn. Het kan echter ook 'zonnig' of 'gebonden' zijn, wat de eerste stap zou kunnen zijn in de richting van een tekstreeks als 'Ik heb een paraplu nodig omdat het vast gaat regenen'.
Scenario's als deze brengen een aantal interessante uitdagingen met zich mee voor het implementeren van GPT-modellen, omdat praktijkvoorbeelden tientallen, honderden of zelfs duizenden gevolgtrekkingsstappen kunnen omvatten. Voor het genereren van een respons van 1,000 tokens zijn bijvoorbeeld 1,000 inferentiestappen vereist! Dienovereenkomstig, hoewel een model inferentiesnelheden kan bieden die afzonderlijk snel genoeg lijken, is het gemakkelijk voor latentie om onhoudbare niveaus te bereiken wanneer lange teksten worden gegenereerd. We observeerden een gemiddelde latentie van 280 milliseconden per gevolgtrekkingsstap op een V100 GPU. Dit lijkt misschien snel voor een model met 6.7 miljard parameters, maar met dergelijke latenties duurt het ongeveer 30 seconden om een respons van 500 tokens te genereren, wat niet ideaal is vanuit het perspectief van de gebruikerservaring.
Inferentiesnelheden optimaliseren met DeepSpeed Inference
diepe snelheid is een open-source deep-learning optimalisatiebibliotheek ontwikkeld door Microsoft. Hoewel het zich voornamelijk richt op het optimaliseren van het trainen van grote modellen, biedt DeepSpeed ook een raamwerk voor inferentieoptimalisatie dat een select aantal modellen ondersteunt, waaronder BERT, Megatron, GPT-Neo, GPT2 en GPT-J. DeepSpeed Inference maakt krachtige inferentie mogelijk met grote op Transformer gebaseerde architecturen door een combinatie van modelparallellisme, voor inferentie geoptimaliseerde CUDA-kernels en kwantisering.
Om de inferentiesnelheid met GPT-J te verhogen, gebruiken we de inferentie-engine van DeepSpeed om geoptimaliseerde CUDA-kernels te injecteren in de Hugging Face Transformers GPT-J-implementatie.
Om de snelheidsvoordelen van de inferentie-engine van DeepSpeed te evalueren, hebben we een reeks latentietests uitgevoerd waarin we GPT-J onder verschillende configuraties hebben getimed. We hebben met name gevarieerd of DeepSpeed al dan niet werd gebruikt, de hardware, de lengte van de uitvoerreeks en de lengte van de invoerreeks. We hebben ons gericht op de lengte van zowel de output als de input-sequentie, omdat ze allebei invloed hebben op de inferentiesnelheid. Om een uitvoerreeks van 50 tokens te genereren, moet het model 50 inferentiestappen uitvoeren. Bovendien hangt de tijd die nodig is om een inferentiestap uit te voeren af van de grootte van de invoerreeks - grotere invoer vereist meer verwerkingstijd. Hoewel het effect van de grootte van de uitvoerreeks veel groter is dan het effect van de grootte van de invoerreeks, is het toch nodig om met beide factoren rekening te houden.
In ons experiment hebben we het volgende ontwerp gebruikt:
- DeepSpeed-inferentie-engine - Aan uit
- Hardware – T4 (ml.g4dn.2xgroot), V100 (ml.p3.2xgroot)
- Lengte van invoerreeks – 50, 200, 500, 1000
- Lengte uitgangssequentie – 50, 100, 150, 200
In totaal heeft dit ontwerp 64 combinaties van deze vier factoren en voor elke combinatie hebben we 20 latentietests uitgevoerd. Elke test werd uitgevoerd op een vooraf geïnitialiseerd SageMaker-inferentie-eindpunt, zodat onze latentietests de productietijden weerspiegelen, inclusief API-uitwisselingen en voorverwerking.
Onze tests tonen aan dat de GPT-J-inferentie-engine van DeepSpeed aanzienlijk sneller is dan de baseline Hugging Face Transformers PyTorch-implementatie. De volgende afbeelding illustreert de gemiddelde latentie van tekstgeneratie voor GPT-J met en zonder DeepSpeed-versnelling op ml.g4dn.2xlarge en ml.p3.2xlarge SageMaker-inferentie-eindpunten.
Op de ml.g4dn.2xlarge instance, die is uitgerust met een 16 GB NVIDIA T4 GPU, zagen we een gemiddelde latentiereductie van ongeveer 24% [Standard Deviation (SD) = 0.05]. Dit kwam overeen met een stijging van gemiddeld 12.5 (SD = 0.91) tokens per seconde naar gemiddeld 16.5 (SD = 2.13) tokens per seconde. Het versnellingseffect van DeepSpeed was met name nog sterker op de ml.p3.2xlarge instance, die is uitgerust met een NVIDIA V100 GPU. Op die hardware zagen we een gemiddelde latentiereductie van 53% (SD = 07). In termen van tokens per seconde kwam dit overeen met een stijging van gemiddeld 21.9 (SD = 1.97) tokens per seconde naar gemiddeld 47.5 (SD = 5.8) tokens per seconde.
We hebben ook vastgesteld dat de door DeepSpeed geboden acceleratie bij beide hardwareconfiguraties licht afzwakte naarmate de invoerreeksen groter werden. Onder alle omstandigheden was de conclusie met de GPT-J-optimalisaties van DeepSpeed echter nog steeds aanzienlijk sneller dan de basislijn. Op de g4dn-instantie waren de maximale en minimale latentieverminderingen respectievelijk 31% (grootte invoerreeks = 50) en 15% (grootte invoerreeks = 1000). En op de p3-instantie waren de maximale en minimale latentiereducties respectievelijk 62% (invoerreeksgrootte = 50) en 40% (invoerreeksgrootte = 1000).
GPT-J met DeepSpeed implementeren op een SageMaker-inferentie-eindpunt
Naast het drastisch verhogen van tekstgeneratiesnelheden voor GPT-J, is de inferentie-engine van DeepSpeed eenvoudig te integreren in een SageMaker-inferentie-eindpunt. Voordat we DeepSpeed aan onze inference-stack toevoegden, draaiden onze eindpunten op een aangepaste Docker-image op basis van een officiële PyTorch-image. SageMaker maakt het heel eenvoudig om aangepaste inferentie-eindpunten te implementeren, en het integreren van DeepSpeed was net zo eenvoudig als het opnemen van de afhankelijkheid en het schrijven van een paar regels code. De open source-gids voor de implementatieworkflow voor het implementeren van GPT-J met DeepSpeed is beschikbaar op GitHub.
Conclusie
Mantium is toegewijd aan het leiden van innovatie, zodat iedereen snel kan bouwen met AI. Van AI-gestuurde procesautomatisering tot strikte veiligheids- en compliance-instellingen, ons complete platform biedt alle tools die nodig zijn om robuuste, verantwoorde AI-applicaties op grote schaal te ontwikkelen en te beheren en verlaagt de toegangsdrempel. SageMaker helpt bedrijven als Mantium om snel op de markt te komen.
Ga voor meer informatie over hoe Mantium u kan helpen bij het bouwen van complexe AI-gestuurde workflows voor uw organisatie naar www.mantiumai.com.
Over de auteurs
Joe Hoover is een Senior Applied Scientist in het AI R&D-team van Mantium. Hij heeft een passie voor het ontwikkelen van modellen, methoden en infrastructuur die mensen helpen echte problemen op te lossen met geavanceerde NLP-systemen. In zijn vrije tijd houdt hij van backpacken, tuinieren, koken en uitgaan met zijn gezin.
Dhawal Patel is een Principal Machine Learning Architect bij AWS. Hij heeft gewerkt met organisaties variërend van grote ondernemingen tot middelgrote startups aan problemen met betrekking tot gedistribueerde computing en kunstmatige intelligentie. Hij richt zich op Deep learning inclusief NLP en Computer Vision domeinen. Hij helpt klanten bij het bereiken van high-performance modelinferentie op SageMaker.
Sunil Padmanabhan is een Startup Solutions Architect bij AWS. Als voormalig oprichter en CTO van startups is hij gepassioneerd door machine learning en richt hij zich op het helpen van startups om AI/ML te gebruiken voor hun bedrijfsresultaten en om ML/AI-oplossingen op grote schaal te ontwerpen en te implementeren.
- Coinsmart. Europa's beste Bitcoin- en crypto-uitwisseling.
- Platoblockchain. Web3 Metaverse Intelligentie. Kennis versterkt. GRATIS TOEGANG.
- CryptoHawk. Altcoin-radar. Gratis proefversie.
- Bron: 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
- Over
- absoluut
- toegang
- dienovereenkomstig
- Account
- Bereiken
- over
- toevoeging
- Extra
- invloed hebben op
- AI
- Alles
- Hoewel
- altijd
- Amazone
- analyse
- iedereen
- api
- APIs
- gebruiken
- toepassingen
- toegepast
- nadering
- ongeveer
- apps
- architectuur
- kunstmatig
- kunstmatige intelligentie
- Automatisch
- Automatisering
- Beschikbaar
- gemiddelde
- AWS
- barrière
- Baseline
- omdat
- vaardigheden
- betekent
- Miljard
- Blok
- bouw
- bouwer
- Gebouw
- bedrijfsdeskundigen
- ondernemingen
- gevallen
- uitdagen
- uitdagingen
- Cloud
- Cloud Platform
- code
- samenwerking
- combinatie van
- combinaties
- gecombineerde
- Communicatie
- Bedrijven
- compleet
- complex
- nakoming
- uitgebreid
- computer
- computergebruik
- voorwaarden
- Kern
- kon
- CTO
- gewoonte
- Klanten
- op het randje
- toegewijd aan
- deep
- levert
- tonen
- Afhankelijk
- afhankelijk
- implementeren
- ingezet
- het inzetten
- inzet
- beschrijven
- Design
- ontworpen
- ontwikkelen
- ontwikkelde
- het ontwikkelen van
- Ontwikkeling
- verdeeld
- distributed computing
- havenarbeider
- domeinen
- dramatisch
- gemakkelijk
- effect
- telt
- maakt
- eind tot eind
- Endpoint
- Motor
- Engineering
- Ingenieurs
- zorgen
- bedrijven
- uitgerust
- schatten
- iedereen
- voorbeeld
- Exchanges
- ervaring
- experiment
- uitgebreid
- buitengewoon
- Gezicht
- factoren
- familie
- SNELLE
- sneller
- Kenmerk
- Voordelen
- Figuur
- Voornaam*
- gericht
- richt
- volgend
- Footprint
- oprichter
- Achtergrond
- oppompen van
- vol
- Bovendien
- voortbrengen
- het genereren van
- generatie
- generatief
- Globaal
- bestuur
- GPU
- Groeiend
- gids
- Hardware
- hulp
- het helpen van
- helpt
- hier
- Hoge
- zeer
- Hoe
- Echter
- HTTPS
- Honderden
- ideaal
- beeld
- uitvoering
- Inclusief
- Laat uw omzet
- meer
- Innovatie
- innovatieve
- invoer
- instantie
- integreren
- integraties
- Intelligentie
- isolatie
- IT
- taal
- Groot
- groter
- grootste
- lagen
- leidend
- LEARN
- leren
- Niveau
- niveaus
- Hefboomwerking
- Bibliotheek
- lijnen
- het laden
- lang
- op zoek
- machine
- machine learning
- maken
- MERKEN
- beheer
- beheren
- Markt
- middel
- Geheugen
- methoden
- Microsoft
- macht
- minimum
- ML
- model
- modellen
- Grensverkeer
- maanden
- meer
- Naturel
- noodzakelijk
- Nvidia
- hindernis
- bieden
- aangeboden
- officieel
- open
- open source
- Operations
- optimalisatie
- geoptimaliseerde
- optimaliseren
- organisatie
- organisaties
- het te bezitten.
- hartstochtelijk
- Mensen
- prestatie
- perspectief
- platform
- beleidsmaatregelen door te lezen.
- beleidsmaatregelen
- Populair
- positie
- positief
- mogelijk
- energie
- Voorspellingen
- mooi
- Principal
- privaat
- problemen
- Process Automation
- processen
- verwerking
- productie
- leverancier
- providers
- biedt
- het verstrekken van
- kwalificeren
- snel
- R & D
- verhogen
- variërend
- bereiken
- vermindering
- reflecteren
- uitgebracht
- Releases
- vertegenwoordiging
- vereisen
- nodig
- Voorwaarden
- vereist
- antwoord
- verantwoordelijk
- Resultaten
- lopen
- lopend
- Veiligheid
- Zei
- Scale
- Wetenschapper
- seconden
- selectie
- sentiment
- -Series
- serveer-
- reeks
- Eenvoudig
- single
- Maat
- So
- Software
- Oplossingen
- OPLOSSEN
- sommige
- geraffineerd
- specifiek
- snelheid
- snelheden
- Uitgaven
- stack
- standaard
- begin
- startup
- Startups
- state-of-the-art
- Staten
- Still
- strategieën
- Strategie
- sterker
- ondersteuning
- steunen
- Systems
- team
- Technisch
- termen
- proef
- testen
- De
- daarom
- duizenden kosten
- Door
- niet de tijd of
- keer
- vandaag
- samen
- teken
- tokens
- tools
- traditioneel
- Trainingen
- typisch
- ui
- voor
- updates
- .
- gebruikers
- divers
- visie
- manieren
- web
- Wat
- Wiel
- of
- zonder
- werkte
- workflows
- het schrijven van
- Your