Amazon SageMaker multi-model endpoints (MME) er en fullstendig administrert funksjon av SageMaker inference som lar deg distribuere tusenvis av modeller på ett enkelt endepunkt. Tidligere tildelte MME-er forhåndsbestemt CPU-datakraft til modeller statisk uavhengig av modelltrafikkbelastningen, ved å bruke Multi Model Server (MMS) som modellserver. I dette innlegget diskuterer vi en løsning der en MME dynamisk kan justere datakraften som er tildelt hver modell basert på modellens trafikkmønster. Denne løsningen lar deg bruke den underliggende beregningen av MMEer mer effektivt og spare kostnader.
MME-er laster og laster dynamisk ut modeller basert på innkommende trafikk til endepunktet. Når du bruker MMS som modellserver, tildeler MME-er et fast antall modellarbeidere for hver modell. For mer informasjon, se Modellvertsmønstre i Amazon SageMaker, del 3: Kjør og optimaliser multi-modellslutning med Amazon SageMaker multi-modell endepunkter.
Dette kan imidlertid føre til noen problemer når trafikkmønsteret ditt er variabelt. La oss si at du har en enkelt eller få modeller som mottar en stor mengde trafikk. Du kan konfigurere MMS til å tildele et høyt antall arbeidere for disse modellene, men dette blir tildelt alle modellene bak MME fordi det er en statisk konfigurasjon. Dette fører til at et stort antall arbeidere bruker maskinvareberegning – selv de inaktive modellene. Det motsatte problemet kan skje hvis du setter en liten verdi for antall arbeidere. De populære modellene vil ikke ha nok arbeidere på modellservernivå til å allokere nok maskinvare bak endepunktet for disse modellene. Hovedproblemet er at det er vanskelig å forbli trafikkmønsteragnostisk hvis du ikke dynamisk kan skalere arbeiderne dine på modellservernivå for å allokere den nødvendige mengden databehandling.
Løsningen vi diskuterer i dette innlegget bruker DJLServing som modellserver, noe som kan bidra til å redusere noen av problemene vi diskuterte og muliggjøre skalering per modell og gjøre det mulig for MME-er å være trafikkmønsteragnostiske.
MME-arkitektur
SageMaker MME-er lar deg distribuere flere modeller bak et enkelt sluttpunkt som kan inneholde en eller flere forekomster. Hver forekomst er designet for å laste og betjene flere modeller opp til minne og CPU/GPU-kapasitet. Med denne arkitekturen kan en programvare-som-en-tjeneste-virksomhet (SaaS) bryte de lineært økende kostnadene ved å være vert for flere modeller og oppnå gjenbruk av infrastruktur i samsvar med multi-tenancy-modellen som brukes andre steder i applikasjonsstakken. Følgende diagram illustrerer denne arkitekturen.
En SageMaker MME laster dynamisk modeller fra Amazon enkel lagringstjeneste (Amazon S3) når den påkalles, i stedet for å laste ned alle modellene når endepunktet først opprettes. Som et resultat kan en innledende påkalling til en modell se høyere slutningsforsinkelse enn de påfølgende slutningene, som fullføres med lav forsinkelse. Hvis modellen allerede er lastet på beholderen når den startes, hoppes nedlastingstrinnet over og modellen returnerer slutningene med lav latenstid. Anta for eksempel at du har en modell som bare brukes noen få ganger om dagen. Den lastes automatisk på forespørsel, mens ofte brukte modeller beholdes i minnet og påkalles med konsekvent lav ventetid.
Bak hver MME er modellvertsinstanser, som vist i følgende diagram. Disse forekomstene laster og kaster ut flere modeller til og fra minnet basert på trafikkmønstrene til modellene.
SageMaker fortsetter å rute slutningsforespørsler for en modell til forekomsten der modellen allerede er lastet slik at forespørslene blir servert fra en bufret modellkopi (se følgende diagram, som viser forespørselsbanen for den første prediksjonsforespørselen kontra den hurtigbufrede prediksjonen forespørselsbane). Men hvis modellen mottar mange invokasjonsforespørsler, og det er flere instanser for MME, ruter SageMaker noen forespørsler til en annen instans for å imøtekomme økningen. For å dra nytte av automatisert modellskalering i SageMaker, sørg for at du har forekomst automatisk skalering satt opp å sørge for ekstra instanskapasitet. Konfigurer skaleringspolicyen på endepunktnivå med enten egendefinerte parametere eller påkallinger per minutt (anbefalt) for å legge til flere forekomster til endepunktflåten.
Modellserveroversikt
En modellserver er en programvarekomponent som gir et kjøretidsmiljø for å distribuere og betjene maskinlæringsmodeller (ML). Den fungerer som et grensesnitt mellom de trente modellene og klientapplikasjonene som ønsker å lage spådommer ved å bruke disse modellene.
Hovedformålet med en modellserver er å tillate enkel integrasjon og effektiv distribusjon av ML-modeller i produksjonssystemer. I stedet for å bygge inn modellen direkte i en applikasjon eller et spesifikt rammeverk, gir modellserveren en sentralisert plattform der flere modeller kan distribueres, administreres og betjenes.
Modellservere tilbyr vanligvis følgende funksjoner:
- Modell lasting – Serveren laster de trente ML-modellene inn i minnet, og gjør dem klare for serveringsprediksjoner.
- Inferens API – Serveren avslører et API som lar klientapplikasjoner sende inndata og motta spådommer fra de utplasserte modellene.
- Skalering – Modellservere er designet for å håndtere samtidige forespørsler fra flere klienter. De gir mekanismer for parallell prosessering og administrasjon av ressurser effektivt for å sikre høy gjennomstrømning og lav ventetid.
- Integrasjon med backend-motorer – Modellservere har integrasjoner med backend-rammeverk som DeepSpeed og FasterTransformer for å partisjonere store modeller og kjøre svært optimalisert inferens.
DJL-arkitektur
DJL-servering er en åpen kildekode, høy ytelse, universell modellserver. DJL Serving er bygget på toppen av Djl, et dyplæringsbibliotek skrevet i programmeringsspråket Java. Det kan ta en dyp læringsmodell, flere modeller eller arbeidsflyter og gjøre dem tilgjengelige gjennom et HTTP-endepunkt. DJL Serving støtter distribusjon av modeller fra flere rammeverk som PyTorch, TensorFlow, Apache MXNet, ONNX, TensorRT, Hugging Face Transformers, DeepSpeed, FasterTransformer og mer.
DJL Serving tilbyr mange funksjoner som lar deg distribuere modellene dine med høy ytelse:
- Brukervennlighet – DJL Serving kan servere de fleste modeller ut av esken. Bare ta med modellartefaktene, og DJL Serving kan være vert for dem.
- Støtte for flere enheter og akselerator – DJL Serving støtter distribusjon av modeller på CPU, GPU og AWS slutning.
- Ytelse – DJL Serving kjører multithreaded inferens i en enkelt JVM for å øke gjennomstrømningen.
- Dynamisk batching – DJL Serving støtter dynamisk batching for å øke gjennomstrømningen.
- Automatisk skalering – DJL Serving vil automatisk skalere arbeidere opp og ned basert på trafikkbelastningen.
- Støtte for flere motorer – DJL Serving kan samtidig være vert for modeller som bruker forskjellige rammeverk (som PyTorch og TensorFlow).
- Ensemble- og arbeidsflytmodeller – DJL Serving støtter distribusjon av komplekse arbeidsflyter som består av flere modeller, og kjører deler av arbeidsflyten på CPU og deler på GPU. Modeller innenfor en arbeidsflyt kan bruke ulike rammeverk.
Spesielt gjør den automatiske skaleringsfunksjonen til DJL Serving det enkelt å sikre at modellene skaleres riktig for den innkommende trafikken. Som standard bestemmer DJL Serving det maksimale antallet arbeidere for en modell som kan støttes basert på tilgjengelig maskinvare (CPU-kjerner, GPU-enheter). Du kan angi nedre og øvre grenser for hver modell for å sikre at et minimum trafikknivå alltid kan betjenes, og at en enkelt modell ikke bruker alle tilgjengelige ressurser.
DJL Servering bruker en Netty frontend på toppen av backend worker thread pools. Frontend bruker et enkelt Netty-oppsett med flere HttpRequestHandlers. Ulike forespørselsbehandlere vil gi støtte for Inferens API, Management API, eller andre API-er tilgjengelig fra forskjellige plugins.
Backend er basert rundt WorkLoadManager (WLM) modul. WLM tar seg av flere arbeidertråder for hver modell sammen med batching og forespørselsruting til dem. Når flere modeller serveres, sjekker WLM først størrelsen på slutningsforespørselskøen for hver modell. Hvis køstørrelsen er større enn to ganger en modells batchstørrelse, skalerer WLM opp antallet arbeidere som er tildelt den modellen.
Løsningsoversikt
Implementeringen av DJL med en MME skiller seg fra standard MMS-oppsett. For DJL-servering med en MME, komprimerer vi følgende filer i model.tar.gz-formatet som SageMaker Inference forventer:
- model.joblib – For denne implementeringen skyver vi modellens metadata direkte inn i tarballen. I dette tilfellet jobber vi med en
.joblib
fil, så vi leverer den filen i tarballen vår slik at slutningsskriptet vårt kan leses. Hvis artefakten er for stor, kan du også skyve den til Amazon S3 og peke mot den i serveringskonfigurasjonen du definerer for DJL. - serveringsegenskaper – Her kan du konfigurere hvilken som helst modellserverrelatert Miljøvariabler. Kraften til DJL her er at du kan konfigurere
minWorkers
ogmaxWorkers
for hver modell tarball. Dette gjør det mulig for hver modell å skalere opp og ned på modellservernivå. For eksempel, hvis en enkelt modell mottar mesteparten av trafikken for en MME, vil modellserveren skalere arbeiderne opp dynamisk. I dette eksemplet konfigurerer vi ikke disse variablene og lar DJL bestemme det nødvendige antallet arbeidere avhengig av trafikkmønsteret vårt. - modell.py – Dette er slutningsskriptet for enhver tilpasset forbehandling eller etterbehandling du ønsker å implementere. Model.py forventer at logikken din er innkapslet i en håndteringsmetode som standard.
- requirements.txt (valgfritt) – Som standard kommer DJL installert med PyTorch, men eventuelle ekstra avhengigheter du trenger kan skyves her.
For dette eksemplet viser vi frem kraften til DJL med en MME ved å ta en prøvemodell av SKLearn. Vi kjører en treningsjobb med denne modellen og lager deretter 1,000 kopier av denne modellartefakten for å støtte vår MME. Vi viser deretter hvordan DJL dynamisk kan skalere for å håndtere alle typer trafikkmønster som din MME kan motta. Dette kan inkludere en jevn fordeling av trafikken på alle modeller eller til og med noen få populære modeller som mottar mesteparten av trafikken. Du finner all koden i det følgende GitHub repo.
Forutsetninger
For dette eksemplet bruker vi en SageMaker notebook-forekomst med en conda_python3-kjerne og ml.c5.xlarge-forekomst. For å utføre belastningstestene kan du bruke en Amazon Elastic Compute Cloud (Amazon EC2)-forekomst eller en større SageMaker-notebook-forekomst. I dette eksemplet skalerer vi til over tusen transaksjoner per sekund (TPS), så vi foreslår å teste på en tyngre EC2-instans som en ml.c5.18xlarge slik at du har mer data å jobbe med.
Lag en modellartefakt
Vi må først lage vår modellartefakt og data som vi bruker i dette eksemplet. For dette tilfellet genererer vi noen kunstige data med NumPy og trener ved hjelp av en SKLearn lineær regresjonsmodell med følgende kodebit:
Etter at du har kjørt den foregående koden, bør du ha en model.joblib
fil opprettet i ditt lokale miljø.
Trekk DJL Docker-bildet
Docker-bildet djl-inference:0.23.0-cpu-full-v1.0 er vår DJL-serveringsbeholder som brukes i dette eksemplet. Du kan justere følgende URL avhengig av din region:
inference_image_uri = "474422712127.dkr.ecr.us-east-1.amazonaws.com/djl-serving-cpu:latest"
Eventuelt kan du også bruke dette bildet som et basisbilde og utvide det til å bygge ditt eget Docker-bilde på Amazon Elastic Container Registry (Amazon ECR) med andre avhengigheter du trenger.
Lag modellfilen
Først lager vi en fil som heter serving.properties
. Dette instruerer DJLServing til å bruke Python-motoren. Vi definerer også max_idle_time
av en arbeider til å være 600 sekunder. Dette sørger for at vi bruker lengre tid på å skalere ned antall arbeidere vi har per modell. Vi justerer ikke minWorkers
og maxWorkers
som vi kan definere, og vi lar DJL dynamisk beregne antall arbeidere som trengs avhengig av trafikken hver modell mottar. Serveringsegenskapene vises som følger. For å se den komplette listen over konfigurasjonsalternativer, se Motorkonfigurasjon.
Deretter lager vi vår model.py-fil, som definerer modellens lasting og inferenslogikk. For MME-er er hver model.py-fil spesifikk for en modell. Modeller lagres i sine egne baner under modellbutikken (vanligvis /opt/ml/model/
). Ved lasting av modeller vil de bli lastet under modellbutikkbanen i sin egen katalog. Hele model.py-eksemplet i denne demoen kan sees i GitHub repo.
Vi lager en model.tar.gz
fil som inkluderer vår modell (model.joblib
), model.py
og serving.properties
:
For demonstrasjonsformål lager vi 1,000 eksemplarer av det samme model.tar.gz
fil for å representere det store antallet modeller som skal være vert. I produksjonen må du lage en model.tar.gz
fil for hver av modellene dine.
Til slutt laster vi opp disse modellene til Amazon S3.
Lag en SageMaker-modell
Vi oppretter nå en SageMaker modell. Vi bruker ECR-bildet definert tidligere og modellartefakten fra forrige trinn for å lage SageMaker-modellen. I modelloppsettet konfigurerer vi Mode som MultiModel. Dette forteller DJLServing at vi lager en MME.
Opprett et SageMaker-endepunkt
I denne demoen bruker vi 20 ml.c5d.18xlarge forekomster for å skalere til en TPS i tusenvis. Sørg for å få en grenseøkning på instanstypen din, om nødvendig, for å oppnå TPS-en du målretter mot.
Lasttesting
I skrivende stund, SageMaker in-house lasttestverktøy Amazon SageMaker Inference Recommender støtter ikke testing for MME-er. Derfor bruker vi åpen kildekode Python-verktøyet Locust. Locust er enkel å sette opp og kan spore beregninger som TPS og ende-til-ende-forsinkelse. For en full forståelse av hvordan du setter det opp med SageMaker, se Beste praksis for belastningstesting av Amazon SageMaker sanntidsslutningsendepunkter.
I dette brukstilfellet har vi tre forskjellige trafikkmønstre vi ønsker å simulere med MME-er, så vi har følgende tre Python-skript som stemmer overens med hvert mønster. Målet vårt her er å bevise at, uavhengig av trafikkmønsteret vårt, kan vi oppnå samme mål-TPS og skalere riktig.
Vi kan spesifisere en vekt i Locust-skriptet vårt for å tilordne trafikk på tvers av ulike deler av modellene våre. For eksempel, med vår single hot modell implementerer vi to metoder som følger:
Vi kan deretter tildele en viss vekt til hver metode, som er når en bestemt metode mottar en bestemt prosentandel av trafikken:
For 20 ml.c5d.18xlarge forekomster ser vi følgende påkallingsberegninger på Amazon CloudWatch konsoll. Disse verdiene forblir ganske konsistente på tvers av alle tre trafikkmønstrene. For å forstå CloudWatch-beregninger for SageMaker sanntidsslutning og MME-er bedre, se SageMaker Endpoint Invocation Metrics.
Du kan finne resten av Locust-skriptene i locust-utils-katalogen i GitHub-depotet.
Oppsummering
I dette innlegget diskuterte vi hvordan en MME dynamisk kan justere datakraften som er tildelt hver modell basert på modellens trafikkmønster. Denne nylig lanserte funksjonen er tilgjengelig i alle AWS-regioner der SageMaker er tilgjengelig. Merk at på kunngjøringstidspunktet er det bare CPU-forekomster som støttes. For å lære mer, se Støttede algoritmer, rammeverk og forekomster.
Om forfatterne
Ram Vegiraju er en ML-arkitekt med SageMaker Service-teamet. Han fokuserer på å hjelpe kunder med å bygge og optimalisere sine AI/ML-løsninger på Amazon SageMaker. På fritiden elsker han å reise og skrive.
Qingwei Li er maskinlæringsspesialist hos Amazon Web Services. Han fikk sin doktorgrad. i Operations Research etter at han brøt sin rådgivers forskningsbevilgningskonto og ikke klarte å levere Nobelprisen han lovet. For tiden hjelper han kunder i finans- og forsikringsbransjen med å bygge maskinlæringsløsninger på AWS. På fritiden liker han å lese og undervise.
James Wu er senior AI/ML spesialistløsningsarkitekt hos AWS. hjelpe kunder med å designe og bygge AI/ML-løsninger. James sitt arbeid dekker et bredt spekter av ML-brukstilfeller, med en primær interesse for datasyn, dyp læring og skalering av ML på tvers av bedriften. Før han begynte i AWS, var James arkitekt, utvikler og teknologileder i over 10 år, inkludert 6 år innen ingeniørfag og 4 år i markedsførings- og reklamebransjen.
Saurabh Trikande er senior produktsjef for Amazon SageMaker Inference. Han brenner for å jobbe med kunder og er motivert av målet om å demokratisere maskinlæring. Han fokuserer på kjerneutfordringer knyttet til distribusjon av komplekse ML-applikasjoner, multi-tenant ML-modeller, kostnadsoptimaliseringer og å gjøre distribusjon av dyplæringsmodeller mer tilgjengelig. På fritiden liker Saurabh å gå tur, lære om innovative teknologier, følge TechCrunch og tilbringe tid med familien.
Xu Deng er Software Engineer Manager med SageMaker-teamet. Han fokuserer på å hjelpe kunder med å bygge og optimalisere deres AI/ML-inferensopplevelse på Amazon SageMaker. På fritiden elsker han å reise og kjøre snowboard.
Siddharth Venkatesan er programvareingeniør i AWS Deep Learning. Han fokuserer for tiden på å bygge løsninger for store modellslutninger. Før AWS jobbet han i Amazon Grocery-organisasjonen med å bygge nye betalingsfunksjoner for kunder over hele verden. Utenom jobben liker han å gå på ski, friluftsliv og se på sport.
Rohith Nallamaddi er programvareutviklingsingeniør hos AWS. Han jobber med å optimalisere deep learning arbeidsbelastninger på GPUer, bygge høyytelses ML-slutninger og serveringsløsninger. Før dette jobbet han med å bygge mikrotjenester basert på AWS for Amazon F3-virksomhet. Utenom jobben liker han å spille og se på sport.
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk deg selv. Tilgang her.
- PlatoAiStream. Web3 Intelligence. Kunnskap forsterket. Tilgang her.
- PlatoESG. Karbon, CleanTech, Energi, Miljø, Solenergi, Avfallshåndtering. Tilgang her.
- PlatoHelse. Bioteknologisk og klinisk etterretning. Tilgang her.
- kilde: https://aws.amazon.com/blogs/machine-learning/run-ml-inference-on-unplanned-and-spiky-traffic-using-amazon-sagemaker-multi-model-endpoints/
- :er
- :hvor
- $OPP
- 000
- 1
- 10
- 100
- 116
- 118
- 12
- 16
- 17
- 20
- 23
- 31
- 600
- 7
- 9
- a
- Om oss
- akselerator
- aksesseres
- tilgjengelig
- imøtekomme
- Logg inn
- Oppnå
- tvers
- handlinger
- legge til
- Ytterligere
- Fordel
- Annonsering
- Etter
- AI / ML
- algoritmer
- justere
- Alle
- tildele
- allokert
- tillate
- tillater
- langs
- allerede
- også
- alltid
- Amazon
- Amazon EC2
- Amazon SageMaker
- Amazon Web Services
- beløp
- an
- og
- Kunngjøring
- En annen
- noen
- Apache
- api
- APIer
- Søknad
- søknader
- anvendt
- hensiktsmessig
- arkitektur
- ER
- rundt
- kunstig
- AS
- tildelt
- anta
- At
- auto
- Automatisert
- automatisk
- tilgjengelig
- AWS
- tilbake
- Backend
- basen
- basert
- batching
- BE
- fordi
- bak
- Bedre
- mellom
- kroppen
- øke
- grensene
- Eske
- Break
- bringe
- Broke
- bygge
- Bygning
- bygget
- virksomhet
- men
- by
- som heter
- CAN
- evne
- Kapasitet
- hvilken
- saken
- saker
- celle
- sentralisert
- viss
- utfordringer
- Sjekker
- klasse
- kunde
- klienter
- kode
- kommer
- fullføre
- Terminado
- komplekse
- komponent
- Omfattet
- Beregn
- datamaskin
- Datamaskin syn
- databehandling
- databehandlingskraft
- samtidig
- Konfigurasjon
- konsistent
- konsekvent
- Konsoll
- forbruke
- inneholde
- Container
- kontekst
- fortsetter
- Kjerne
- Kostnad
- Kostnader
- Dekker
- skape
- opprettet
- Opprette
- I dag
- skikk
- Kunder
- dato
- dag
- dyp
- dyp læring
- Misligholde
- definere
- definert
- definerer
- leverer
- Etterspørsel
- demo
- Demokratisering
- avhengig
- avhengig
- avbildet
- utplassere
- utplassert
- utplasserings
- distribusjon
- utforming
- designet
- Bestem
- bestemmes
- Utvikler
- Utvikling
- enhet
- Enheter
- diagram
- forskjellig
- vanskelig
- direkte
- katalog
- diskutere
- diskutert
- distribusjon
- Docker
- ikke
- ikke
- ned
- nedlasting
- Nedlasting
- dynamisk
- dynamisk
- hver enkelt
- Tidligere
- effektiv
- effektivt
- uanstrengt
- enten
- andre steder
- embedding
- muliggjøre
- muliggjør
- innkapslet
- ende til ende
- Endpoint
- Motor
- ingeniør
- Ingeniørarbeid
- nok
- sikre
- Enterprise
- Miljø
- feil
- Selv
- eksempel
- unntak
- venter
- forventer
- erfaring
- utvide
- Face
- Mislyktes
- ganske
- familie
- Trekk
- Egenskaper
- Noen få
- filet
- Filer
- finansiell
- økonomiske tjenester
- Finn
- Først
- fikset
- FLÅTE
- fokuserer
- etter
- følger
- Til
- format
- Rammeverk
- rammer
- ofte
- fra
- Frontend
- fullt
- fullt
- funksjonalitet
- generere
- få
- blir
- GitHub
- mål
- GPU
- GPU
- innvilge
- større
- håndtere
- skje
- maskinvare
- Ha
- he
- hjelpe
- hjelpe
- hjelper
- her.
- Høy
- høyere
- svært
- hans
- vert
- vert
- Hosting
- HOT
- Hvordan
- Hvordan
- Men
- HTML
- http
- HTTPS
- Idle
- if
- illustrerer
- bilde
- iverksette
- gjennomføring
- importere
- in
- inkludere
- inkluderer
- Inkludert
- Innkommende
- Øke
- økende
- bransjer
- industri
- informasjon
- Infrastruktur
- innledende
- innovative
- innovative teknologier
- inngang
- installerte
- f.eks
- i stedet
- forsikring
- integrering
- integrasjoner
- interesse
- Interface
- inn
- påkalt
- utstedelse
- saker
- IT
- DET ER
- james
- Java
- Jobb
- sammenføyning
- jpg
- bare
- Språk
- stor
- større
- Ventetid
- siste
- lansert
- føre
- leder
- Fører
- LÆRE
- læring
- la
- Nivå
- Bibliotek
- i likhet med
- liker
- BEGRENSE
- lineær
- Liste
- laste
- lasting
- laster
- lokal
- logikk
- lenger
- elsker
- Lav
- lavere
- maskin
- maskinlæring
- Hoved
- Flertall
- gjøre
- GJØR AT
- Making
- fikk til
- leder
- administrerende
- mange
- Marketing
- Markedsføring og annonsering
- maksimal
- Kan..
- mekanismer
- Minne
- metadata
- metode
- metoder
- Metrics
- microservices
- kunne
- minimum
- minutt
- Minske
- ML
- Mote
- modell
- modeller
- Moduler
- mer
- mest
- motivert
- flere
- navn
- fritt
- nødvendig
- Trenger
- nødvendig
- Ny
- nylig
- Nobel pris
- none
- note
- bærbare
- nå
- Antall
- følelsesløs
- of
- tilby
- Tilbud
- on
- ONE
- bare
- åpen
- åpen kildekode
- Drift
- motsatt
- optimaliseringer
- Optimalisere
- optimalisert
- optimalisere
- alternativer
- or
- Annen
- vår
- ut
- utendørs
- produksjon
- utenfor
- enn
- egen
- Parallel
- parametere
- del
- Spesielt
- deler
- lidenskapelig
- banen
- baner
- Mønster
- mønstre
- betaling
- for
- prosent
- Utfør
- ytelse
- rør
- plattform
- plato
- Platon Data Intelligence
- PlatonData
- spiller
- plugins
- Point
- politikk
- pools
- Populær
- Post
- makt
- praksis
- forut
- prediksjon
- Spådommer
- forrige
- tidligere
- primære
- Før
- premie
- Problem
- prosess
- prosessering
- Produkt
- Produktsjef
- Produksjon
- Programmering
- lovet
- riktig
- egenskaper
- Bevis
- gi
- gir
- forsyning
- formål
- formål
- Skyv
- presset
- Python
- pytorch
- tilfeldig
- område
- Lese
- Lesning
- klar
- sanntids
- motta
- mottatt
- mottar
- mottak
- anbefales
- referere
- Uansett
- region
- regioner
- i slekt
- forbli
- erstatte
- Repository
- representere
- anmode
- forespørsler
- Krav
- forskning
- Ressurser
- svar
- REST
- resultere
- avkastning
- gjenbruk
- Rute
- ruter
- ruting
- Kjør
- går
- runtime
- SaaS
- sagemaker
- SageMaker Inference
- samme
- sample
- Spar
- sier
- Skala
- skalert
- vekter
- skalering
- script
- skript
- Sekund
- sekunder
- se
- sett
- SELV
- send
- senior
- betjene
- servert
- server
- Servere
- tjeneste
- Tjenester
- servering
- sett
- sett
- oppsett
- flere
- bør
- presentere
- vist
- Viser
- Enkelt
- simulere
- samtidig
- enkelt
- entall
- Størrelse
- liten
- tekstutdrag
- So
- Software
- programvare som en tjeneste
- programvareutvikling
- Software Engineer
- løsning
- Solutions
- noen
- kilde
- spesialist
- spesifikk
- utgifter
- splittet
- Sports
- stable
- statisk
- Trinn
- lagring
- oppbevare
- lagret
- rett fram
- senere
- slik
- foreslår
- støtte
- Støttes
- Støtter
- sikker
- Systemer
- Ta
- tar
- ta
- Target
- rettet mot
- Undervisning
- lag
- TechCrunch
- Technologies
- Teknologi
- forteller
- tensorflow
- Testing
- tester
- enn
- Det
- De
- deres
- Dem
- deretter
- Der.
- derfor
- Disse
- de
- denne
- De
- tusen
- tusener
- tre
- Gjennom
- gjennomstrømning
- tid
- ganger
- til
- også
- verktøy
- topp
- mot
- tps
- spor
- trafikk
- Tog
- trent
- Kurs
- Transaksjoner
- transformers
- Traveling
- prøve
- to
- typen
- typisk
- etter
- underliggende
- forstå
- forståelse
- Universell
- URL
- bruke
- bruk sak
- brukt
- bruker
- ved hjelp av
- vanligvis
- utnytte
- verdi
- Verdier
- variabel
- ulike
- syn
- vs
- ønsker
- var
- se
- we
- web
- webtjenester
- vekt
- Hva
- når
- mens
- hvilken
- bred
- Bred rekkevidde
- vil
- med
- innenfor
- Arbeid
- arbeidet
- arbeidstaker
- arbeidere
- arbeidsflyt
- arbeidsflyt
- arbeid
- virker
- ville
- skriving
- skrevet
- X
- år
- Du
- Din
- zephyrnet