Amazon SageMaker multi-model endpoints (MME'er) er en fuldt administreret kapacitet af SageMaker inference, der giver dig mulighed for at implementere tusindvis af modeller på et enkelt slutpunkt. Tidligere tildelte MME'er forudbestemt CPU-computerkraft til modeller statisk uanset modeltrafikbelastningen, vha. Multi Model Server (MMS) som sin modelserver. I dette indlæg diskuterer vi en løsning, hvor en MME dynamisk kan justere den computerkraft, der er tildelt hver model baseret på modellens trafikmønster. Denne løsning giver dig mulighed for at bruge den underliggende beregning af MME'er mere effektivt og spare omkostninger.
MME'er indlæser og losser dynamisk modeller baseret på indgående trafik til slutpunktet. Ved brug af MMS som modelserver, tildeler MME'er et fast antal modelarbejdere for hver model. For mere information, se Modelværtsmønstre i Amazon SageMaker, del 3: Kør og optimer multimodel-inferens med Amazon SageMaker multi-model-slutpunkter.
Dette kan dog føre til nogle få problemer, når dit trafikmønster er variabelt. Lad os sige, at du har en enkelt eller få modeller, der modtager en stor mængde trafik. Du kan konfigurere MMS til at allokere et højt antal arbejdere til disse modeller, men dette bliver tildelt alle modellerne bag MME'en, fordi det er en statisk konfiguration. Dette fører til, at et stort antal arbejdere bruger hardwareberegning - selv de inaktive modeller. Det modsatte problem kan ske, hvis du indstiller en lille værdi for antallet af arbejdere. De populære modeller vil ikke have nok arbejdere på modelserverniveau til korrekt at allokere nok hardware bag endepunktet for disse modeller. Hovedproblemet er, at det er svært at forblive trafikmønsteragnostisk, hvis du ikke dynamisk kan skalere dine arbejdere på modelserverniveau for at allokere den nødvendige mængde beregning.
Den løsning, vi diskuterer i dette indlæg, bruger DJLServering som modelserveren, hvilket kan hjælpe med at afbøde nogle af de problemer, vi diskuterede, og muliggøre skalering pr. model og gøre det muligt for MME'er at være trafikmønsteragnostiske.
MME arkitektur
SageMaker MME'er giver dig mulighed for at implementere flere modeller bag et enkelt inferensendepunkt, der kan indeholde en eller flere forekomster. Hver instans er designet til at indlæse og betjene flere modeller op til dens hukommelse og CPU/GPU-kapacitet. Med denne arkitektur kan en software as a service-virksomhed (SaaS) bryde de lineært stigende omkostninger ved hosting af flere modeller og opnå genbrug af infrastruktur i overensstemmelse med multi-tenancy-modellen, der anvendes andre steder i applikationsstakken. Følgende diagram illustrerer denne arkitektur.
En SageMaker MME indlæser dynamisk modeller fra Amazon Simple Storage Service (Amazon S3), når den aktiveres, i stedet for at downloade alle modellerne, når slutpunktet først oprettes. Som et resultat heraf kan en indledende invokation til en model se højere slutningsforsinkelse end de efterfølgende slutninger, som afsluttes med lav latens. Hvis modellen allerede er indlæst på containeren, når den startes, springes downloadtrinnet over, og modellen returnerer inferenserne med lav latenstid. Antag for eksempel, at du har en model, der kun bliver brugt få gange om dagen. Det indlæses automatisk efter behov, hvorimod hyppigt tilgåede modeller bevares i hukommelsen og påkaldes med konsekvent lav latenstid.
Bag hver MME er model-hosting-instanser, som afbildet i følgende diagram. Disse tilfælde indlæser og fjerner flere modeller til og fra hukommelsen baseret på trafikmønstrene til modellerne.
SageMaker fortsætter med at dirigere slutningsanmodninger for en model til den instans, hvor modellen allerede er indlæst, således at anmodningerne serveres fra en cachelagret modelkopi (se følgende diagram, som viser anmodningsstien for den første forudsigelsesanmodning vs. den cachelagrede forudsigelse anmodningssti). Men hvis modellen modtager mange invokationsanmodninger, og der er yderligere instanser til MME'en, dirigerer SageMaker nogle anmodninger til en anden instans for at imødekomme stigningen. For at drage fordel af automatiseret modelskalering i SageMaker skal du sørge for at have opsætning af automatisk skalering at tilvejebringe yderligere instanskapacitet. Konfigurer din skaleringspolitik på endepunktsniveau med enten brugerdefinerede parametre eller opkald pr. minut (anbefales) for at tilføje flere forekomster til endepunktsflåden.
Model server oversigt
En modelserver er en softwarekomponent, der giver et runtime-miljø til implementering og servering af maskinlæringsmodeller (ML). Det fungerer som en grænseflade mellem de trænede modeller og klientapplikationer, der ønsker at lave forudsigelser ved hjælp af disse modeller.
Det primære formål med en modelserver er at tillade ubesværet integration og effektiv implementering af ML-modeller i produktionssystemer. I stedet for at indlejre modellen direkte i en applikation eller en specifik ramme, giver modelserveren en centraliseret platform, hvor flere modeller kan implementeres, administreres og betjenes.
Modelservere tilbyder typisk følgende funktionaliteter:
- Ladning af model – Serveren indlæser de trænede ML-modeller i hukommelsen, hvilket gør dem klar til serveringsforudsigelser.
- Inference API – Serveren afslører en API, der tillader klientapplikationer at sende inputdata og modtage forudsigelser fra de implementerede modeller.
- Skalering – Modelservere er designet til at håndtere samtidige anmodninger fra flere klienter. De leverer mekanismer til parallel behandling og styring af ressourcer effektivt for at sikre høj gennemløb og lav latenstid.
- Integration med backend-motorer – Modelservere har integrationer med backend-frameworks som DeepSpeed og FasterTransformer for at partitionere store modeller og køre meget optimeret inferens.
DJL arkitektur
DJL servering er en open source, højtydende, universel modelserver. DJL Serving er bygget ovenpå DJL, et dybt læringsbibliotek skrevet i programmeringssproget Java. Det kan tage en dyb læringsmodel, flere modeller eller arbejdsgange og gøre dem tilgængelige via et HTTP-slutpunkt. DJL Serving understøtter implementering af modeller fra flere rammer som PyTorch, TensorFlow, Apache MXNet, ONNX, TensorRT, Hugging Face Transformers, DeepSpeed, FasterTransformer og mere.
DJL Serving tilbyder mange funktioner, der giver dig mulighed for at implementere dine modeller med høj ydeevne:
- Brugervenlighed – DJL Serving kan betjene de fleste modeller ud af æsken. Bare medbring modelartefakter, og DJL Serving kan være vært for dem.
- Understøttelse af flere enheder og accelerator – DJL Serving understøtter implementering af modeller på CPU, GPU og AWS-inferens.
- Performance (Præstation) – DJL Serving kører multithreaded inferens i en enkelt JVM for at øge gennemløbet.
- Dynamisk batching – DJL Serving understøtter dynamisk batching for at øge gennemløbet.
- Automatisk skalering – DJL Serving vil automatisk skalere arbejdere op og ned baseret på trafikbelastningen.
- Multi-motor support – DJL Serving kan samtidigt hoste modeller ved hjælp af forskellige rammer (såsom PyTorch og TensorFlow).
- Ensemble- og arbejdsgangsmodeller – DJL Serving understøtter implementering af komplekse workflows bestående af flere modeller og kører dele af workflowet på CPU og dele på GPU. Modeller inden for en arbejdsgang kan bruge forskellige rammer.
Især gør den automatiske skaleringsfunktion i DJL Serving det ligetil at sikre, at modellerne skaleres passende til den indkommende trafik. Som standard bestemmer DJL Serving det maksimale antal arbejdere for en model, der kan understøttes baseret på den tilgængelige hardware (CPU-kerner, GPU-enheder). Du kan indstille nedre og øvre grænser for hver model for at sikre, at et minimumstrafikniveau altid kan betjenes, og at en enkelt model ikke bruger alle tilgængelige ressourcer.
DJL Servering bruger en Netty frontend oven på backend worker thread pools. Frontenden bruger en enkelt Netty-opsætning med flere HttpRequestHandlers. Forskellige anmodningsbehandlere vil yde support til Inference API, Management API, eller andre API'er tilgængelige fra forskellige plugins.
Backend er baseret omkring WorkLoadManager (WLM) modul. WLM tager sig af flere arbejdstråde for hver model sammen med batching og anmodningsruting til dem. Når der serveres flere modeller, kontrollerer WLM først størrelsen af inferensanmodningskøen for hver model. Hvis køstørrelsen er større end to gange en models batchstørrelse, skalerer WLM antallet af arbejdere, der er tildelt den model.
Løsningsoversigt
Implementeringen af DJL med en MME adskiller sig fra standard MMS-opsætningen. Til DJL-servering med en MME komprimerer vi følgende filer i formatet model.tar.gz, som SageMaker Inference forventer:
- model.joblib – Til denne implementering skubber vi direkte modellens metadata ind i tarballen. I dette tilfælde arbejder vi med en
.joblib
fil, så vi leverer den fil i vores tarball, så vores inferensscript kan læses. Hvis artefakten er for stor, kan du også skubbe den til Amazon S3 og pege mod det i den serveringskonfiguration, du definerer for DJL. - serveringsejendomme – Her kan du konfigurere enhver modelserverrelateret miljøvariabler. Styrken ved DJL her er, at du kan konfigurere
minWorkers
,maxWorkers
for hver model tarball. Dette gør det muligt for hver model at skalere op og ned på modelserverniveau. For eksempel, hvis en enkelt model modtager størstedelen af trafikken for en MME, vil modelserveren skalere arbejderne op dynamisk. I dette eksempel konfigurerer vi ikke disse variabler og lader DJL bestemme det nødvendige antal arbejdere afhængigt af vores trafikmønster. - model.py – Dette er slutningsscriptet for enhver tilpasset forbehandling eller efterbehandling, du gerne vil implementere. model.py forventer, at din logik som standard er indkapslet i en håndteringsmetode.
- requirements.txt (valgfrit) – Som standard kommer DJL installeret med PyTorch, men eventuelle yderligere afhængigheder, du har brug for, kan skubbes her.
I dette eksempel viser vi styrken ved DJL med en MME ved at tage en prøve SKLearn-model. Vi kører et træningsjob med denne model og skaber derefter 1,000 kopier af denne modelartefakt for at understøtte vores MME. Vi viser derefter, hvordan DJL dynamisk kan skalere til at håndtere enhver type trafikmønster, som din MME kan modtage. Dette kan omfatte en jævn fordeling af trafikken på tværs af alle modeller eller endda nogle få populære modeller, der modtager størstedelen af trafikken. Du kan finde al koden i det følgende GitHub repo.
Forudsætninger
Til dette eksempel bruger vi en SageMaker notebook-instans med en conda_python3-kerne og ml.c5.xlarge-instans. For at udføre belastningstestene kan du bruge en Amazon Elastic Compute Cloud (Amazon EC2) instans eller en større SageMaker notebook instans. I dette eksempel skalerer vi til over tusinde transaktioner pr. sekund (TPS), så vi foreslår, at du tester på en tungere EC2-instans såsom en ml.c5.18xlarge, så du har mere computer at arbejde med.
Opret en modelartefakt
Vi skal først oprette vores modelartefakt og data, som vi bruger i dette eksempel. I dette tilfælde genererer vi nogle kunstige data med NumPy og træner ved hjælp af en SKLearn lineær regressionsmodel med følgende kodestykke:
Når du har kørt den foregående kode, bør du have en model.joblib
fil oprettet i dit lokale miljø.
Træk DJL Docker-billedet
Docker-billedet djl-inference:0.23.0-cpu-full-v1.0 er vores DJL-serveringsbeholder brugt i dette eksempel. Du kan justere følgende URL afhængigt af din region:
inference_image_uri = "474422712127.dkr.ecr.us-east-1.amazonaws.com/djl-serving-cpu:latest"
Eventuelt kan du også bruge dette billede som et basisbillede og udvide det til at bygge dit eget Docker-billede på Amazon Elastic Container Registry (Amazon ECR) med alle andre afhængigheder, du har brug for.
Opret modelfilen
Først opretter vi en fil kaldet serving.properties
. Dette instruerer DJLServing i at bruge Python-motoren. Vi definerer også max_idle_time
af en arbejder til at være 600 sekunder. Dette sikrer, at vi tager længere tid at nedskalere antallet af medarbejdere, vi har pr. model. Vi tilpasser os ikke minWorkers
, maxWorkers
som vi kan definere, og vi lader DJL dynamisk beregne antallet af nødvendige arbejdere afhængigt af den trafik, hver model modtager. Serveringsegenskaberne vises som følger. For at se den komplette liste over konfigurationsmuligheder, se motor konfiguration.
Dernæst opretter vi vores model.py-fil, som definerer modelindlæsnings- og inferenslogikken. For MME'er er hver model.py-fil specifik for en model. Modeller gemmes i deres egne stier under modelbutikken (normalt /opt/ml/model/
). Når modeller indlæses, vil de blive indlæst under modelbutikstien i deres egen mappe. Det fulde model.py-eksempel i denne demo kan ses i GitHub repo.
Vi opretter en model.tar.gz
fil, der inkluderer vores model (model.joblib
), model.py
og serving.properties
:
Til demonstrationsformål laver vi 1,000 kopier af samme model.tar.gz
fil for at repræsentere det store antal modeller, der skal hostes. I produktionen skal du oprette en model.tar.gz
fil for hver af dine modeller.
Til sidst uploader vi disse modeller til Amazon S3.
Opret en SageMaker-model
Vi opretter nu en SageMaker model. Vi bruger det tidligere definerede ECR-billede og modelartefakten fra det foregående trin til at skabe SageMaker-modellen. I modelopsætningen konfigurerer vi Mode som MultiModel. Dette fortæller DJLServing, at vi opretter en MME.
Opret et SageMaker-slutpunkt
I denne demo bruger vi 20 ml.c5d.18xlarge forekomster til at skalere til en TPS i tusindvis. Sørg for at få en grænseforøgelse på din instanstype, hvis det er nødvendigt, for at opnå den TPS, du målretter mod.
Belastningstest
I skrivende stund, SageMaker in-house belastningstestværktøj Amazon SageMaker Inference Recommender understøtter ikke naturligt test for MME'er. Derfor bruger vi open source Python-værktøjet Locust. Locust er ligetil at konfigurere og kan spore metrics såsom TPS og ende-til-ende latency. For en fuld forståelse af, hvordan du konfigurerer det med SageMaker, se Bedste praksis for belastningstestning af Amazon SageMaker-slutpunkter i realtid.
I dette tilfælde har vi tre forskellige trafikmønstre, vi ønsker at simulere med MME'er, så vi har følgende tre Python-scripts, der stemmer overens med hvert mønster. Vores mål her er at bevise, at uanset hvad vores trafikmønster er, kan vi opnå samme mål-TPS og skalere passende.
Vi kan angive en vægt i vores Locust-script for at tildele trafik på tværs af forskellige dele af vores modeller. For eksempel implementerer vi med vores single hot model to metoder som følger:
Vi kan derefter tildele en vis vægt til hver metode, hvilket er når en bestemt metode modtager en bestemt procentdel af trafikken:
For 20 ml.c5d.18xlarge forekomster ser vi følgende invokationsmetrikker på amazoncloudwatch konsol. Disse værdier forbliver nogenlunde konsistente på tværs af alle tre trafikmønstre. For bedre at forstå CloudWatch-metrics for SageMaker realtidsinferens og MME'er, se SageMaker Endpoint Invocation Metrics.
Du kan finde resten af Locust-scripts i locust-utils bibliotek i GitHub -depotet.
Resumé
I dette indlæg diskuterede vi, hvordan en MME dynamisk kan justere den computerkraft, der er tildelt hver model baseret på modellens trafikmønster. Denne nyligt lancerede funktion er tilgængelig i alle AWS-regioner, hvor SageMaker er tilgængelig. Bemærk, at på tidspunktet for annonceringen er det kun CPU-forekomster, der understøttes. For at lære mere, se Understøttede algoritmer, rammer og instanser.
Om forfatterne
Ram Vegiraju er ML-arkitekt hos SageMaker Service-teamet. Han fokuserer på at hjælpe kunder med at bygge og optimere deres AI/ML-løsninger på Amazon SageMaker. I sin fritid elsker han at rejse og skrive.
Qingwei Li er Machine Learning Specialist hos Amazon Web Services. Han fik sin ph.d. i Operations Research, efter at han brød sin rådgivers forskningsbevillingskonto og undlod at levere den nobelpris, han lovede. I øjeblikket hjælper han kunder i finans- og forsikringsbranchen med at bygge maskinlæringsløsninger på AWS. I sin fritid kan han godt lide at læse og undervise.
James Wu er Senior AI/ML Specialist Solution Architect hos AWS. hjælpe kunder med at designe og bygge AI/ML-løsninger. James' arbejde dækker en bred vifte af ML use cases med en primær interesse i computervision, deep learning og skalering af ML på tværs af virksomheden. Inden han kom til AWS, var James arkitekt, udvikler og teknologileder i over 10 år, herunder 6 år inden for ingeniørvidenskab og 4 år i marketing- og reklamebranchen.
Saurabh Trikande er Senior Product Manager for Amazon SageMaker Inference. Han brænder for at arbejde med kunder og er motiveret af målet om at demokratisere machine learning. Han fokuserer på kerneudfordringer relateret til implementering af komplekse ML-applikationer, multi-tenant ML-modeller, omkostningsoptimeringer og at gøre implementering af deep learning-modeller mere tilgængelig. I sin fritid nyder Saurabh at vandre, lære om innovative teknologier, følge TechCrunch og tilbringe tid med sin familie.
Xu Deng er Software Engineer Manager hos SageMaker-teamet. Han fokuserer på at hjælpe kunder med at opbygge og optimere deres AI/ML-inferensoplevelse på Amazon SageMaker. I sin fritid elsker han at rejse og snowboarde.
Siddharth Venkatesan er softwareingeniør i AWS Deep Learning. Han fokuserer i øjeblikket på at bygge løsninger til store modelslutninger. Før AWS arbejdede han i Amazon Grocery-organisationen med at bygge nye betalingsfunktioner til kunder over hele verden. Uden for arbejdet nyder han at stå på ski, udendørs og se sport.
Rohith Nallamaddi er softwareudviklingsingeniør hos AWS. Han arbejder på at optimere deep learning-arbejdsbelastninger på GPU'er, opbygning af højtydende ML-inferens og serveringsløsninger. Før dette arbejdede han med at bygge mikrotjenester baseret på AWS til Amazon F3-virksomhed. Uden for arbejdet nyder han at spille og se sport.
- SEO Powered Content & PR Distribution. Bliv forstærket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk dig selv. Adgang her.
- PlatoAiStream. Web3 intelligens. Viden forstærket. Adgang her.
- PlatoESG. Kulstof, CleanTech, Energi, Miljø, Solenergi, Affaldshåndtering. Adgang her.
- PlatoHealth. Bioteknologiske og kliniske forsøgs intelligens. Adgang 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
- $OP
- 000
- 1
- 10
- 100
- 116
- 118
- 12
- 16
- 17
- 20
- 23
- 31
- 600
- 7
- 9
- a
- Om
- accelerator
- af udleverede
- tilgængelig
- imødekomme
- Konto
- opnå
- tværs
- handlinger
- tilføje
- Yderligere
- Fordel
- Reklame
- Efter
- AI / ML
- algoritmer
- tilpasse
- Alle
- tildele
- allokeret
- tillade
- tillader
- sammen
- allerede
- også
- altid
- Amazon
- Amazon EC2
- Amazon SageMaker
- Amazon Web Services
- beløb
- an
- ,
- Fondsbørsmeddelelse
- En anden
- enhver
- Apache
- api
- API'er
- Anvendelse
- applikationer
- anvendt
- passende
- arkitektur
- ER
- omkring
- kunstig
- AS
- tildelt
- antage
- At
- auto
- Automatiseret
- automatisk
- til rådighed
- AWS
- tilbage
- Bagende
- bund
- baseret
- vejeafmålings
- BE
- fordi
- bag
- Bedre
- mellem
- krop
- boost
- bounds
- Boks
- Pause
- bringe
- Broke
- bygge
- Bygning
- bygget
- virksomhed
- men
- by
- kaldet
- CAN
- kapacitet
- Kapacitet
- hvilken
- tilfælde
- tilfælde
- celle
- centraliseret
- vis
- udfordringer
- Kontrol
- klasse
- kunde
- kunder
- kode
- kommer
- fuldføre
- Afsluttet
- komplekse
- komponent
- Indeholder
- Compute
- computer
- Computer Vision
- computing
- computerkraft
- konkurrent
- Konfiguration
- konsekvent
- konsekvent
- Konsol
- forbruge
- indeholder
- Container
- sammenhæng
- fortsætter
- Core
- Koste
- Omkostninger
- Dækker
- skabe
- oprettet
- Oprettelse af
- For øjeblikket
- skik
- Kunder
- data
- dag
- dyb
- dyb læring
- Standard
- definere
- definerede
- definerer
- levere
- Efterspørgsel
- demo
- demokratisering
- afhængigheder
- Afhængigt
- afbildet
- indsætte
- indsat
- implementering
- implementering
- Design
- konstrueret
- Bestem
- bestemmer
- Udvikler
- Udvikling
- enhed
- Enheder
- diagram
- forskellige
- svært
- direkte
- Vejviser
- diskutere
- drøftet
- fordeling
- Docker
- Er ikke
- Dont
- ned
- downloade
- downloading
- dynamisk
- dynamisk
- hver
- tidligere
- effektiv
- effektivt
- nemt
- enten
- andetsteds
- indlejring
- muliggøre
- muliggør
- indkapslet
- ende til ende
- Endpoint
- Engine (Motor)
- ingeniør
- Engineering
- nok
- sikre
- Enterprise
- Miljø
- fejl
- Endog
- eksempel
- undtagelse
- forventer
- forventer
- erfaring
- udvide
- Ansigtet
- mislykkedes
- retfærdigt
- familie
- Feature
- Funktionalitet
- få
- File (Felt)
- Filer
- finansielle
- finansiel service
- Finde
- Fornavn
- fast
- FLÅDE
- fokuserer
- efter
- følger
- Til
- format
- Framework
- rammer
- hyppigt
- fra
- frontend
- fuld
- fuldt ud
- funktionaliteter
- generere
- få
- får
- GitHub
- mål
- GPU
- GPU'er
- indrømme
- større
- håndtere
- ske
- Hardware
- Have
- he
- hjælpe
- hjælpe
- hjælper
- link.
- Høj
- højere
- stærkt
- hans
- host
- hostede
- Hosting
- HOT
- Hvordan
- How To
- Men
- HTML
- http
- HTTPS
- tomgang
- if
- illustrerer
- billede
- gennemføre
- implementering
- importere
- in
- omfatter
- omfatter
- Herunder
- Indgående
- Forøg
- stigende
- industrier
- industrien
- oplysninger
- Infrastruktur
- initial
- innovativ
- innovative teknologier
- indgang
- installeret
- instans
- i stedet
- forsikring
- integration
- integrationer
- interesse
- grænseflade
- ind
- påberåbes
- spørgsmål
- spørgsmål
- IT
- ITS
- james
- Java
- Job
- sammenføjning
- jpg
- lige
- Sprog
- stor
- større
- Latency
- seneste
- lanceret
- føre
- leder
- Leads
- LÆR
- læring
- lad
- Niveau
- Bibliotek
- ligesom
- synes godt om
- GRÆNSE
- lineær
- Liste
- belastning
- lastning
- belastninger
- lokale
- logik
- længere
- elsker
- Lav
- lavere
- maskine
- machine learning
- Main
- Flertal
- lave
- maerker
- Making
- lykkedes
- leder
- styring
- mange
- Marketing
- Marketing & Annoncering
- maksimal
- Kan..
- mekanismer
- Hukommelse
- Metadata
- metode
- metoder
- Metrics
- microservices
- måske
- minimum
- minut
- afbøde
- ML
- tilstand
- model
- modeller
- Moduler
- mere
- mest
- motiveret
- flere
- navn
- indbygget
- nødvendig
- Behov
- behov
- Ny
- nyligt
- Nobel pris
- Ingen
- Bemærk
- notesbog
- nu
- nummer
- bedøvet
- of
- tilbyde
- Tilbud
- on
- ONE
- kun
- åbent
- open source
- Produktion
- modsat
- optimeringer
- Optimer
- optimeret
- optimering
- Indstillinger
- or
- Andet
- vores
- ud
- udendørs
- output
- uden for
- i løbet af
- egen
- Parallel
- parametre
- del
- særlig
- dele
- lidenskabelige
- sti
- stier
- Mønster
- mønstre
- betaling
- per
- procentdel
- Udfør
- ydeevne
- rør
- perron
- plato
- Platon Data Intelligence
- PlatoData
- spiller
- Plugins
- Punkt
- politik
- Pools
- Populær
- Indlæg
- magt
- praksis
- forud
- forudsigelse
- Forudsigelser
- tidligere
- tidligere
- primære
- Forud
- præmie
- Problem
- behandle
- forarbejdning
- Produkt
- produktchef
- produktion
- Programmering
- lovede
- korrekt
- egenskaber
- Bevise
- give
- giver
- bestemmelse
- formål
- formål
- Skub ud
- skubbet
- Python
- pytorch
- tilfældig
- rækkevidde
- Læs
- Læsning
- klar
- realtid
- modtage
- modtaget
- modtager
- modtagende
- anbefales
- henvise
- Uanset
- region
- regioner
- relaterede
- forblive
- erstatte
- Repository
- repræsentere
- anmode
- anmodninger
- Krav
- forskning
- Ressourcer
- svar
- REST
- resultere
- afkast
- genbruge
- R
- veje
- routing
- Kør
- løber
- runtime
- SaaS
- sagemaker
- SageMaker Inference
- samme
- prøve
- Gem
- siger
- Scale
- skaleret
- skalaer
- skalering
- script
- scripts
- Anden
- sekunder
- se
- set
- SELV
- send
- senior
- tjener
- serveret
- server
- Servere
- tjeneste
- Tjenester
- servering
- sæt
- sæt
- setup
- flere
- bør
- udstillingsvindue
- vist
- Shows
- Simpelt
- simulere
- samtidigt
- enkelt
- ental
- Størrelse
- lille
- uddrag
- So
- Software
- software som en tjeneste
- softwareudvikling
- Software Engineer
- løsninger
- Løsninger
- nogle
- Kilde
- specialist
- specifikke
- udgifterne
- delt
- Sport
- stable
- statisk
- Trin
- opbevaring
- butik
- opbevaret
- ligetil
- efterfølgende
- sådan
- tyder
- support
- Understøttet
- Understøtter
- sikker
- Systemer
- Tag
- tager
- tager
- mål
- rettet mod
- Undervisning
- hold
- TechCrunch
- Teknologier
- Teknologier
- fortæller
- tensorflow
- Test
- tests
- end
- at
- deres
- Them
- derefter
- Der.
- derfor
- Disse
- de
- denne
- dem
- tusinde
- tusinder
- tre
- Gennem
- kapacitet
- tid
- gange
- til
- også
- værktøj
- top
- mod
- TPS
- spor
- Trafik
- Tog
- uddannet
- Kurser
- Transaktioner
- transformers
- Traveling
- prøv
- to
- typen
- typisk
- under
- underliggende
- forstå
- forståelse
- Universal
- URL
- brug
- brug tilfælde
- anvendte
- bruger
- ved brug af
- sædvanligvis
- Ved hjælp af
- værdi
- Værdier
- variabel
- forskellige
- vision
- vs
- ønsker
- var
- ser
- we
- web
- webservices
- vægt
- Hvad
- hvornår
- ud fra følgende betragtninger
- som
- bred
- Bred rækkevidde
- vilje
- med
- inden for
- Arbejde
- arbejdede
- arbejdstager
- arbejdere
- workflow
- arbejdsgange
- arbejder
- virker
- ville
- skrivning
- skriftlig
- X
- år
- Du
- Din
- zephyrnet