Mallien isännöintimallit SageMakerissa: Parhaat käytännöt mallien testaamiseen ja päivittämiseen SageMaker PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.

Mallien isännöintimallit SageMakerissa: Parhaat käytännöt mallien testaamiseen ja päivittämiseen SageMakerissa

Amazon Sage Maker on täysin hallittu palvelu, joka tarjoaa kehittäjille ja datatieteilijöille mahdollisuuden nopeasti rakentaa, kouluttaa ja ottaa käyttöön koneoppimismalleja (ML). SageMakerin avulla voit ottaa käyttöön ML-mallejasi isännöityihin päätepisteisiin ja saada johtopäätöstuloksia reaaliajassa. Voit helposti tarkastella päätepisteidesi suorituskykymittareita amazonin pilvikello, skaalaa automaattisesti päätepisteitä liikenteen perusteella ja päivitä mallisi tuotannossa menettämättä saatavuutta. SageMaker tarjoaa laajan valikoiman vaihtoehtoja ML-mallien käyttöönottamiseksi johtopäätösten tekemiseksi millä tahansa seuraavista tavoista riippuen käyttötapauksestasi:

  • Käytä SageMakeria synkronisille ennusteille, jotka on toimitettava millisekuntien järjestyksessä reaaliaikainen johtopäätös
  • Työkuormissa, joissa on joutojaksoja liikenneruuhkien välillä ja jotka kestävät kylmäkäynnistystä, käytä Palvelimeton päätelmä
  • Käytä SageMakeria pyyntöihin, joissa on suuri hyötykuorma, jopa 1 Gt, pitkät käsittelyajat (jopa 15 minuuttia) ja lähes reaaliaikaiset latenssivaatimukset (sekunneista minuutteihin). Asynkroninen päättely
  • Käytä SageMakeria saadaksesi ennusteita koko tietojoukosta erämuunnos

Reaaliaikainen päättely on ihanteellinen päättelytyökuormille, joissa sinulla on reaaliaikaiset, interaktiiviset, alhaiset viivevaatimukset. Otat mallin käyttöön SageMaker-isännöintipalveluihin ja saat päätepisteen, jota voidaan käyttää päätelmien tekemiseen. Näitä päätepisteitä tukee täysin hallittu infrastruktuuri ja tuki automaattinen skaalaus. Voit parantaa tehokkuutta ja kustannuksia yhdistämällä useita malleja yhdeksi päätepisteeksi käyttämällä usean mallin päätepisteet or usean kontin päätepisteet.

Tietyissä käyttötapauksissa haluat ottaa tuotantoon käyttöön useita saman mallin muunnelmia niiden suorituskyvyn mittaamiseksi, parannuksien mittaamiseksi tai A/B-testien suorittamiseksi. Tällaisissa tapauksissa SageMakerin usean muunnelman päätepisteet ovat hyödyllisiä, koska niiden avulla voit ottaa käyttöön useita mallin tuotantoversioita samaan SageMaker-päätepisteeseen.

Tässä viestissä keskustelemme SageMakerin usean muunnelman päätepisteistä ja parhaista optimoinnin käytännöistä.

SageMakerin reaaliaikaisten päättelyvaihtoehtojen vertailu

Seuraava kaavio antaa nopean yleiskatsauksen SageMakerin reaaliaikaisista päättelyvaihtoehdoista.

Yhden mallin päätepisteen avulla voit ottaa yhden mallin käyttöön omistetuissa ilmentymissä isännöidyssä säilössä tai ilman palvelinta alhaisen viiveen ja suuren suorituskyvyn saavuttamiseksi. Voit luoda mallin ja noutaa a SageMakerin tukema kuva suosittuihin kehyksiin, kuten TensorFlow, PyTorch, Scikit-learn ja monet muut. Jos käytät mallillesi mukautettua kehystä, voit myös tehdä sen tuo oma kontti joka asentaa riippuvuutesi.

SageMaker tukee myös kehittyneempiä vaihtoehtoja, kuten multi-model endpoints (MME) ja multi-container endpoints (MCE). MME:t ovat hyödyllisiä, kun käsittelet satoja tai kymmeniä tuhansia malleja ja joissa sinun ei tarvitse ottaa jokaista mallia käyttöön yksittäisenä päätepisteenä. MME:iden avulla voit isännöidä useita malleja kustannustehokkaalla ja skaalautuvalla tavalla samassa päätepisteessä käyttämällä jaettua käyttösäilöä, jota isännöidään ilmentymässä. Taustalla oleva infrastruktuuri (säilö ja ilmentymä) pysyy samana, mutta mallit ladataan ja puretaan dynaamisesti yhteisestä S3-paikasta käytön ja päätepisteen käytettävissä olevan muistin mukaan. Sovelluksesi tarvitsee vain sisällyttää API-kutsu kohdemallin kanssa tähän päätepisteeseen, jotta saadaan aikaan matalan viiveen ja suuren suorituskyvyn päätelmä. Sen sijaan, että maksaisit erillisestä päätepisteestä jokaisesta mallista, voit isännöidä useita malleja yhden päätepisteen hinnalla.

MCE:iden avulla voit ajaa jopa 15 erilaista ML-säilöä yhdessä päätepisteessä ja kutsua niitä itsenäisesti. Voit rakentaa nämä ML-säilöt erilaisille käyttöpinoille (kuten ML-kehykselle, mallipalvelimelle ja algoritmille) ajettavaksi samassa päätepisteessä kustannussäästöjen vuoksi. Voit ommella säiliöt yhteen a sarjapäätelmäputki tai kutsua säilöä itsenäisesti. Tämä voi olla ihanteellinen, kun sinulla on useita erilaisia ​​ML-malleja, joilla on erilaiset liikennemallit ja samanlaiset resurssitarpeet. Esimerkkejä MCE:n käytöstä ovat seuraavat, mutta eivät rajoitu näihin:

  • Isännöintimalleja eri kehyksissä (kuten TensorFlow, PyTorch ja Scikit-learn), joilla ei ole tarpeeksi liikennettä instanssin täyden kapasiteetin kyllästämiseksi
  • Isännöintimalleja samasta viitekehyksestä erilaisilla ML-algoritmeilla (kuten suositukset, ennusteet tai luokittelu) ja käsittelijätoiminnot
  • Samanlaisten arkkitehtuurien vertailut eri kehysversioissa (kuten TensorFlow 1.x vs. TensorFlow 2.x) skenaarioissa, kuten A/B-testauksessa

SageMakerin monimuunnelmien päätepisteiden (MVE) avulla voit testata useita malleja tai malliversioita saman päätepisteen takana tuotantoversioita käyttämällä. Jokainen tuotantoversio identifioi ML-mallin ja mallin isännöintiin käytetyt resurssit, kuten käyttösäiliön ja ilmentymän.

Yleiskatsaus SageMakerin usean muunnelman päätepisteisiin

Tuotannon ML-työnkuluissa datatieteilijät ja ML-insinöörit tarkentavat malleja useilla eri menetelmillä, kuten datan/mallin/konseptin ajautumiseen perustuvalla uudelleenkoulutuksella, hyperparametrien virittämisellä, ominaisuuksien valinnalla, kehyksen valinnalla ja muilla menetelmillä. A/B-testauksen suorittaminen uuden mallin ja vanhan mallin välillä tuotantoliikenteen kanssa voi olla tehokas viimeinen vaihe uuden mallin validointiprosessissa. A/B-testauksessa testaat malliesi eri muunnelmia ja vertailet, miten kukin versio toimii suhteessa toisiinsa. Valitset sitten parhaiten suoriutuneen mallin korvataksesi edellisen mallin uudella versiolla, joka tarjoaa paremman suorituskyvyn kuin edellinen versio. Tuotantoversioita käyttämällä voit testata näitä ML-malleja ja eri malliversioita saman päätepisteen takana. Voit kouluttaa näitä ML-malleja käyttämällä erilaisia ​​​​tietojoukkoja, erilaisia ​​​​algoritmeja ja ML-kehyksiä; ottaa ne käyttöön eri ilmentymätyypeissä; tai mikä tahansa näiden vaihtoehtojen yhdistelmä. SageMaker-päätepisteeseen yhdistetty kuormituksen tasapainotin tarjoaa mahdollisuuden jakaa kutsupyynnöt useille tuotantoversioille. Voit esimerkiksi jakaa liikennettä tuotantoversioiden välillä määrittämällä liikenteen jakautumisen kullekin versiolle tai voit kutsua tietyn muunnelman suoraan kullekin pyynnölle.

Voit myös määrittää automaattisen skaalauskäytännön skaalaamaan muunnelmasi automaattisesti sisään tai ulos muunnelmien, kuten pyyntöjen sekunnissa, perusteella.

Seuraava kaavio havainnollistaa MVE:n toimintaa yksityiskohtaisemmin.

SageMaker monen muunnelman päätepiste

MVE:n käyttöönotto on myös erittäin yksinkertaista. Sinun tarvitsee vain määrittää malliobjektit kuvan ja mallitietojen avulla käyttämällä create_model rakentaa SageMaker Python SDK:sta ja määrittää päätepistemääritykset käyttämällä production_variant rakentaa luodakseen tuotantovariantteja, joista jokaisella on omat malli- ja resurssivaatimukset (instanssityyppi ja määrät). Näin voit myös testata malleja eri instanssityypeillä. Ota käyttöön käyttämällä endpoint_from_production_variant rakentaa päätepisteen luomiseksi.

Päätepisteen luomisen aikana SageMaker valmistaa päätepisteasetuksissa määritetyn isännöintiesiintymän ja lataa tuotantoversion määrittämän mallin ja päätelmäsäiliön isännöintiesiintymään. Jos onnistunut vastaus palautetaan säilön käynnistämisen ja kuntotarkastuksen suorittamisen jälkeen pingillä, käyttäjälle lähetetään viesti, joka osoittaa, että päätepisteen luominen on valmis. Katso seuraava koodi:

sm_session.create_model(
	name=model_name,
	role=role,
	container_defs={'Image':  image_uri, 'ModelDataUrl': model_url}
	)

sm_session.create_model(
	name=model_name2,
	role=role,
	container_defs={'Image':  image_uri, 'ModelDataUrl': model_url2 }
	)

variant1 = production_variant(
	model_name=model_name,
	instance_type="ml.c5.4xlarge",
	initial_instance_count=1,
	variant_name="Variant1",
	initial_weight=1
	)

variant2 = production_variant(
	model_name=model_name2,
	instance_type="ml.m5.4xlarge",
	initial_instance_count=1,
	variant_name="Variant2",
	initial_weight=1
	)

sm_session.endpoint_from_production_variants(
	name=endpoint_name,
	production_variants=[variant1,  variant2]
	)

Edellisessä esimerkissä loimme kaksi muunnelmaa, joilla kullakin on oma erilainen mallinsa (näillä voi myös olla eri ilmentymien tyyppejä ja lukumäärä). Asetamme an initial_weight 1 molemmille versioille: tämä tarkoittaa, että 50 % pyynnöistämme menee osoitteeseen Variant1, ja loput 50 % Variant2. Kummankin muunnelman painojen summa on 2 ja kunkin muunnelman painoarvo on 1. Tämä tarkoittaa, että kukin versio saa 50 % kokonaisliikenteestä.

Päätepisteen kutsuminen on samanlaista kuin yleinen SageMaker-rakenne invoke_endpoint; voit soittaa päätepisteeseen suoraan datalla hyötykuormana:

sm_runtime.invoke_endpoint(
	EndpointName=endpoint_name,
	ContentType="text/csv",
	Body=payload
	)

SageMaker lähettää mittareita, kuten Latency ja Invocations jokaiselle CloudWatchin versiolle. Katso täydellinen luettelo SageMakerin lähettämistä mittareista Seuraa Amazon SageMakeria Amazon CloudWatch -sovelluksella. Voit kysyä CloudWatchilta, kuinka monta kutsua varianttikohtaisesti voit nähdä, kuinka kutsut jaetaan oletusarvoisesti muunnelmien kesken.

Voit kutsua mallin tietyn version määrittämällä muunnelman muodossa TargetVariant kutsussa invoke_endpoint:

sm_runtime.invoke_endpoint(
	EndpointName=endpoint_name,
	ContentType="text/csv",
	Body=payload,
	TargetVariant="Variant1"
	)

Voit arvioida kunkin tuotantoversion suorituskyvyn tarkastelemalla mittareita, kuten tarkkuus, tarkkuus, palautus, F1-pisteet ja vastaanottimen toimintaominaisuudet/käyrän alla oleva alue kunkin muunnelman osalta käyttämällä Amazon SageMaker -mallimonitori. Voit sitten päättää lisätä liikennettä parhaaseen malliin päivittämällä kullekin versiolle määritetyt painot soittamalla Päivitä Päätepisteen painot ja kapasiteetit. Tämä muuttaa liikenteen jakautumista tuotantoversioihisi ilman, että päätepisteesi tarvitsee päivittää. Joten sen sijaan, että 50% liikenteestä alkuperäisestä asetuksesta siirretään 75% liikenteestä Variant2 määrittämällä uudet painot jokaiselle versiolle käyttämällä UpdateEndpointWeightsAndCapacities. Katso seuraava koodi:

sm.update_endpoint_weights_and_capacities(
	EndpointName=endpoint_name,
	DesiredWeightsAndCapacities=[
	{
		"DesiredWeight": 25,
		"VariantName": variant1["VariantName"]
	},
	{
		"DesiredWeight": 75,
		"VariantName": variant2["VariantName"]
	}
] )

Kun olet tyytyväinen muunnelman suorituskykyyn, voit reitittää 100 % liikenteestä kyseiseen muunnelmaan. Voit esimerkiksi asettaa painon Variant1 0 ja paino Variant2 1. SageMaker lähettää sitten 100 % kaikista päättelypyynnöistä osoitteeseen Variant2. Voit sitten turvallisesti päivittää päätepisteesi ja poistaa sen Variant1 päätepisteestäsi. Voit myös jatkaa uusien mallien testaamista tuotannossa lisäämällä uusia muunnelmia päätepisteeseesi. Voit myös määrittää nämä päätepisteet skaalautumaan automaattisesti päätepisteiden vastaanottaman liikenteen perusteella.

Usean muunnelman päätepisteiden edut

SageMaker MVE:n avulla voit tehdä seuraavat:

  • Ota käyttöön ja testaa useita mallin muunnelmia käyttämällä samaa SageMaker-päätepistettä. Tämä on hyödyllistä testattaessa mallin muunnelmia tuotannossa. Oletetaan esimerkiksi, että olet ottanut mallin käyttöön tuotannossa. Voit testata mallin muunnelmaa ohjaamalla pienen määrän liikennettä, esimerkiksi 5%, uuteen malliin.
  • Arvioi mallin suorituskykyä tuotannossa keskeyttämättä liikennettä seuraamalla kunkin muunnelman toimintamittareita CloudWatchissa.
  • Päivitä tuotannossa olevat mallit menettämättä saatavuutta. Voit muokata päätepistettä poistamatta käytöstä tuotantoon jo otettuja malleja. Voit esimerkiksi lisätä uusia mallimuunnelmia, päivittää olemassa olevien mallimuunnelmien ML-laskentaesiintymien konfiguraatioita tai muuttaa liikenteen jakautumista mallimuunnelmien kesken. Katso lisätietoja Päivitä päätepiste ja Päivitä Päätepisteen painot ja kapasiteetit.

Haasteita käytettäessä usean muunnelman päätepisteitä

SageMaker MVE:t sisältävät seuraavat haasteet:

  • Kuormitustestaus – Jokaisen muunnelman testaamiseen ja mallimatriisivertailuihin on panostettava kohtuullisen paljon vaivaa ja resursseja. Jotta A/B-testiä voidaan pitää onnistuneena, sinun on suoritettava testistä kerättyjen mittareiden tilastollinen analyysi määrittääksesi, onko tulos tilastollisesti merkitsevä. Voi olla haastavaa minimoida huonosti toimivien varianttien tutkiminen. Voisit mahdollisesti käyttää monikätinen rosvo optimointitekniikkaa välttääksesi liikenteen lähettämisen kokeisiin, jotka eivät toimi, ja optimoimaan suorituskyvyn testauksen aikana. Kuormitustestausta varten voit myös tutkia Amazon SageMakerin päätelmäsuositus suorittaa laajoja vertailuja, jotka perustuvat tuotantovaatimuksiin latenssille ja suorituskyvylle, mukautetuille liikennemalleille ja valitsemillesi esiintymille (enintään 10).
  • Tiivis kytkentä malliversion ja päätepisteen välillä – Siitä voi tulla hankalaa mallin käyttöönottotiheydestä riippuen, koska päätepiste saattaa päätyä sisään updating kunkin päivitettävän tuotantoversion tila. SageMaker tukee myös käyttöönoton suojakaiteet, jonka avulla voit helposti vaihtaa nykyisestä tuotannossa olevasta mallista uuteen hallitusti. Tämä vaihtoehto esittelee kanarialintu ja lineaarinen liikenteen siirtotilat, jotta voit hallita tarkasti liikenteen siirtymistä nykyisestä mallistasi uuteen päivityksen aikana. Sisäänrakennettujen suojatoimien, kuten automaattisten palautusten, avulla voit havaita ongelmat ajoissa ja ryhtyä korjaaviin toimiin automaattisesti, ennen kuin ne vaikuttavat merkittävästi tuotantoon.

Usean muunnelman päätepisteiden parhaat käytännöt

Kun isännöi SageMaker MVE:itä käyttäviä malleja, ota huomioon seuraavat seikat:

  • SageMaker on loistava uusien mallien testaamiseen, koska voit helposti ottaa ne käyttöön A/B-testausympäristössä ja maksat vain käyttämästäsi. Sinua veloitetaan kustakin esiintymästä kulutetusta ilmentymätunnista päätepisteen ollessa käynnissä. Kun olet suorittanut testit etkä enää käytä päätepistettä tai muunnelmia laajasti, sinun tulee poistaa se kustannusten säästämiseksi. Voit aina luoda sen uudelleen, kun tarvitset sitä uudelleen, koska malli on tallennettu Amazonin yksinkertainen tallennuspalvelu (Amazon S3).
  • Sinun tulisi käyttää optimaalisin ilmentymän tyyppiä ja kokoa mallien käyttöönotossa. SageMaker tarjoaa tällä hetkellä ML laskee instansseja eri esimerkkiperheissä. Päätepisteinstanssi on käynnissä koko ajan (kun ilmentymä on palvelussa). Siksi oikean tyyppisen ilmentymän valinnalla voi olla merkittävä vaikutus ML-mallien kokonaiskustannuksiin ja suorituskykyyn. Kuormitustestaus on paras käytäntö sopivan ilmentymän tyypin ja kaluston koon määrittämiseen reaaliaikaisen päätepisteesi automaattisella skaalauksella tai ilman, jotta vältytään ylimääräiseltä ja ylimääräiseltä kapasiteetista, jota et tarvitse.
  • Voit seurata mallin suorituskykyä ja resurssien käyttöä CloudWatchissa. Voit määrittää a ProductionVariant käyttää Sovelluksen automaattinen skaalaus. Jos haluat määrittää skaalauskäytännön tiedot ja tavoitearvot, määrität kohteen seurannan skaalauskäytännön. Voit käyttää joko ennalta määritettyä tai mukautettua mittaria. Lisätietoja käytännön määrityssyntaksista on kohdassa TargetTrackingScalingPolicyConfiguration. Lisätietoja automaattisen skaalauksen määrittämisestä on kohdassa Skaalaa automaattisesti Amazon SageMaker -mallit. Voit määrittää nopeasti kohteen seurannan skaalauskäytännön variantille valitsemalla tietyn CloudWatch-mittarin ja asettaa kynnysarvot. Käytä esimerkiksi metriikkaa SageMakerVariantInvocationsPerInstance seurataksesi sitä, kuinka monta kertaa minuutissa kutakin muunnelman esiintymää keskimäärin kutsutaan, tai käytä mittaria CPUUtilization valvoa CPU:n käsittelemän työn määrää. Seuraava esimerkki käyttää SageMakerVariantInvocationsPerInstance ennalta määritetty metriikka, jolla voit säätää muunnelmien lukumäärää niin, että jokaisella esiintymällä on InvocationsPerInstance mittari 70:
{
	"TargetValue": 70.0,
	"PredefinedMetricSpecification":
	{
		"PredefinedMetricType": "SageMakerVariantInvocationsPerInstance"
	}
}

  • Mallin artefaktien muuttaminen tai poistaminen tai päättelykoodin muuttaminen mallin käyttöönoton jälkeen tuottaa arvaamattomia tuloksia. Ennen kuin otat mallit käyttöön tuotantoon, on hyvä käytäntö tarkistaa, onko mallin isännöinti paikallisessa tilassa onnistunut, kun päättelykoodinpätkät (esim. model_fn, input_fn, predict_fnja output_fn) paikallisessa kehitysympäristössä, kuten SageMaker-muistikirjan ilmentymä tai paikallinen palvelin. Jos haluat muuttaa tai poistaa mallin artefakteja tai muuttaa päättelykoodia, muokkaa päätepistettä antamalla uusi päätepistemääritys. Kun olet antanut uuden päätepistemäärityksen, voit muuttaa tai poistaa vanhaa päätepisteen kokoonpanoa vastaavia malliartefakteja.
  • Voit käyttää SageMakeria erämuunnos testata tuotantoversioita. Erämuunnos on ihanteellinen johtopäätösten saamiseksi suurista tietojoukoista. Voit luoda erillisen muunnostyön jokaiselle uudelle malliversiolle ja käyttää testaukseen validointitietojoukkoa. Määritä jokaiselle muunnostyölle yksilöllinen mallin nimi ja sijainti Amazon S3:ssa tulostiedostolle. Voit analysoida tuloksia käyttämällä päätelmäputken lokit ja mittarit.

Yhteenveto

SageMakerin avulla voit helposti A/B-testaa ML-malleja tuotannossa ajamalla useita tuotantoversioita päätepisteessä. SageMakerin ominaisuuksien avulla voit testata malleja, jotka on koulutettu käyttämällä erilaisia ​​opetustietojoukkoja, hyperparametrejä, algoritmeja tai ML-kehyksiä; kuinka ne toimivat eri ilmentymätyypeissä; tai kaikkien edellä mainittujen yhdistelmä. Voit määrittää liikenteen jakautumisen päätepisteen muunnelmien välillä, ja SageMaker jakaa päätelmäliikenteen muunnelmille määritetyn jakauman perusteella. Vaihtoehtoisesti, jos haluat testata malleja tietyille asiakassegmenteille, voit määrittää muunnelman, jonka pitäisi käsitellä päättelypyyntö antamalla TargetVariant otsikko, ja SageMaker reitittää pyynnön määrittämääsi varianttiin. Lisätietoja A/B-testauksesta on kohdassa Päivitä tuotannossa olevat mallit turvallisesti.

Viitteet


Tietoja kirjoittajista

Mallien isännöintimallit SageMakerissa: Parhaat käytännöt mallien testaamiseen ja päivittämiseen SageMaker PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.Deepali Rajale on AI/ML Specialist Technical Account Manager Amazon Web Servicesissä. Hän työskentelee yritysasiakkaiden kanssa ja tarjoaa teknistä ohjausta koneoppimisratkaisujen toteuttamiseen parhaiden käytäntöjen avulla. Vapaa-ajallaan hän nauttii vaelluksesta, elokuvista ja hengailusta perheen ja ystävien kanssa.

Mallien isännöintimallit SageMakerissa: Parhaat käytännöt mallien testaamiseen ja päivittämiseen SageMaker PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.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.

Mallien isännöintimallit SageMakerissa: Parhaat käytännöt mallien testaamiseen ja päivittämiseen SageMaker PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai. Saurabh Trikande on Amazon SageMaker Inferencen -tuotepäällikkö. Hän on intohimoinen asiakkaiden kanssa työskentelyyn, ja häntä motivoi tavoite demokratisoida koneoppimista. Hän keskittyy ydinhaasteisiin, jotka liittyvät monimutkaisten ML-sovellusten käyttöönottoon, usean vuokralaisen ML-malleihin, kustannusten optimointiin ja syvän oppimismallien käyttöönoton helpottamiseen. Vapaa-ajallaan Saurabh nauttii vaeltamisesta, innovatiivisten teknologioiden oppimisesta, TechCrunchien seuraamisesta ja perheensä kanssa viettämisestä.

Aikaleima:

Lisää aiheesta AWS-koneoppiminen