Suunnittele mallit sarjapäätelmiä varten Amazon SageMaker PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.

Suunnittele mallit sarjapäätelmiä varten Amazon SageMakerissa

Kun koneoppiminen (ML) siirtyy valtavirtaan ja laajenee, ML-pohjaiset sovellukset ovat yhä yleisempiä monimutkaisten liiketoimintaongelmien ratkaisemiseksi. Näiden monimutkaisten liiketoimintaongelmien ratkaiseminen vaatii usein useiden ML-mallien käyttöä. Näitä malleja voidaan yhdistää peräkkäin suorittamaan erilaisia ​​tehtäviä, kuten esikäsittelyä, tietojen muuntamista, mallin valintaa, päätelmien generointia, johtopäätösten konsolidointia ja jälkikäsittelyä. Organisaatiot tarvitsevat joustavia vaihtoehtoja näiden monimutkaisten ML-työnkulkujen järjestämiseen. Sarjapäättelyliukuhihnat ovat yksi tällainen suunnittelumalli näiden työnkulkujen järjestämiseksi vaiheiden sarjaksi, jolloin jokainen vaihe rikastaa tai käsittelee edelleen aikaisempien vaiheiden tuottamaa tulosta ja siirtää tuotoksen liukuhihnan seuraavaan vaiheeseen.

Lisäksi näiden sarjapäätelmäputkien tulee tarjota seuraavat tiedot:

  • Joustava ja mukautettu toteutus (riippuvuudet, algoritmit, liiketoimintalogiikka ja niin edelleen)
  • Toistettava ja johdonmukainen tuotannon toteutukseen
  • Erottamatonta raskasta nostoa minimoimalla infrastruktuurin hallinta

Tässä viestissä tarkastelemme joitain yleisiä sarjapäätelmäputkien käyttötapauksia ja käymme läpi joitakin toteutusvaihtoehtoja jokaiselle näistä käyttötapauksista käyttämällä Amazon Sage Maker. Keskustelemme myös kunkin toteutusvaihtoehdon näkökohdista.

Seuraavassa taulukossa on yhteenveto sarjapäätelmien eri käyttötapauksista, toteutusnäkökohdista ja vaihtoehdoista. Niitä käsitellään tässä postauksessa.

Käytä asiaa Käytä tapauksen kuvausta Ensisijaiset huomiot Yleinen toteutuksen monimutkaisuus Suositellut toteutusvaihtoehdot Esimerkkikoodiesineet ja muistikirjat
Sarjapäättelyputki (mukaan lukien esi- ja jälkikäsittelyvaiheet) Päätelmäputkilinjan on esikäsiteltävä saapuvat tiedot ennen kuin ohjataan koulutettua mallia johtopäätösten luomista varten, ja sitten jälkikäsiteltävä luodut johtopäätökset, jotta loppupään sovellukset voivat käyttää niitä helposti. Helppo toteutus Matala Päätelmäsäilö käyttämällä SageMaker Inference Toolkit -työkalua Ota käyttöön koulutettu PyTorch-malli
Sarjapäättelyputki (mukaan lukien esi- ja jälkikäsittelyvaiheet) Päätelmäputkilinjan on esikäsiteltävä saapuvat tiedot ennen kuin ohjataan koulutettua mallia johtopäätösten luomista varten, ja sitten jälkikäsiteltävä luodut johtopäätökset, jotta loppupään sovellukset voivat käyttää niitä helposti. Irrottaminen, yksinkertaistettu käyttöönotto ja päivitykset Keskikokoinen SageMaker-päätelmäputki Päätelmäputki mukautetuilla säilöillä ja xgBoostilla
Sarjamallikokonaisuus Päätelmäputkilinjan on isännöitävä ja järjestettävä useita malleja peräkkäin, jotta jokainen malli parantaa edellisen luomaa päätelmää ennen lopullisen päätelmän luomista Irrottaminen, yksinkertaistettu käyttöönotto ja päivitykset, joustavuus mallikehyksen valinnassa Keskikokoinen SageMaker-päätelmäputki Päätelmäputki Scikit-learnillä ja Lineaarisella oppijalla
Sarjapäättelyputki (kohdennettu mallin kutsu ryhmästä) Päätelmäputkilinjan on esikäsittely- ja jälkikäsittelytehtävien lisäksi esitettävä tietty räätälöity malli käyttöönotettujen mallien ryhmästä pyynnön ominaisuuksien perusteella tai kustannusten optimointia varten. Kustannusoptimointi ja räätälöinti Korkea SageMaker-päätelmäputki monimallipäätepisteillä (MME) Amazon SageMaker Multi-Model -päätepisteet käyttämällä Linear Learneria

Seuraavissa osioissa käsittelemme jokaista käyttötapausta yksityiskohtaisemmin.

Sarjapäättelyputki päättelysäiliöiden avulla

Sarjapäätelmäliukuhihnan käyttötapauksissa on vaatimus esikäsitellä saapuva data ennen esiopetetun ML-mallin käyttämistä päätelmien luomiseksi. Lisäksi joissakin tapauksissa generoituja päätelmiä voidaan joutua prosessoimaan edelleen, jotta ne voivat helposti kuluttaa alavirran sovelluksia. Tämä on yleinen skenaario käyttötapauksissa, joissa suoratoistotietolähde on käsiteltävä reaaliajassa ennen kuin malli voidaan sovittaa siihen. Tämä käyttötapaus voi kuitenkin ilmetä myös eräpäätelmissä.

SageMaker tarjoaa mahdollisuuden mukauttaa päättelysäilöjä ja käyttää niitä sarjapäätelmäputken rakentamiseen. Päätelmäsäiliöt käyttävät SageMaker Inference Toolkit ja niiden päälle rakennetaan SageMaker Multi Model Server (MMS), joka tarjoaa joustavan mekanismin palvella ML-malleja. Seuraava kaavio havainnollistaa viitemallia siitä, kuinka sarjapäätelmäliukulinja toteutetaan johtopäätössäiliöiden avulla.

SageMaker MMS odottaa Python-skriptin, joka toteuttaa seuraavat toiminnot mallin lataamiseksi, syöttötietojen esikäsittelyksi, ennusteiden saamiseksi mallista ja tulostietojen jälkikäsittelyksi:

  • input_fn () – Vastaa syöttötietojen sarjoittamisesta ja esikäsittelystä
  • model_fn () – Vastaa koulutetun mallin lataamisesta esineistä Amazonin yksinkertainen tallennuspalvelu (Amazon S3)
  • predict_fn () – Vastaa johtopäätösten tekemisestä mallista
  • output_fn () – Vastaa tulostiedon sarjoittamisesta ja jälkikäsittelystä (päätelmät)

Katso tarkemmat vaiheet päättelysäilön mukauttamiseen Oman johtopäätössäiliön mukauttaminen.

Päätelmäsäiliöt ovat ihanteellinen suunnittelumalli sarjapäätelmäputkien käyttötapauksiin seuraavilla ensisijaisilla näkökohdilla:

  • Korkea koheesio – Prosessointilogiikka ja vastaava malli ohjaavat yksittäistä liiketoimintaa, ja ne on sijoitettava samaan paikkaan
  • Matala yleinen latenssi – Aika, joka on kulunut päättelypyynnön tekemisen ja vastauksen vastaanottamisen välillä

Sarjapäättelyputkessa käsittelylogiikka ja malli on kapseloitu samaan säilöön, joten suuri osa kutsukutsuista jää säilöön. Tämä auttaa vähentämään hyppyjen kokonaismäärää, mikä parantaa putkilinjan kokonaislatenssia ja reagointikykyä.

Myös käyttötapauksissa, joissa toteutuksen helppous on tärkeä kriteeri, johtopäätössäiliöt voivat auttaa, kun putkilinjan eri käsittelyvaiheet sijoitetaan samaan säiliöön.

Sarjapäätelmäliukuhihna käyttäen SageMaker-päätelmäliukuhihnaa

Toinen sarjapäätelmäliukuhihnan käyttötapauksen muunnelma edellyttää selkeämpää irrottamista liukuhihnan eri vaiheiden välillä (kuten tietojen esikäsittely, päätelmien luominen, tietojen jälkikäsittely sekä muotoilu ja sarjoittaminen). Tämä voi johtua useista syistä:

  • irrottamista – Putkilinjan eri vaiheilla on selkeästi määritelty tarkoitus, ja ne on ajettava erillisissä säiliöissä taustalla olevien riippuvuuksien vuoksi. Tämä auttaa myös pitämään putkilinjan hyvin rakenteellisena.
  • kehykset – Putkilinjan eri vaiheissa käytetään erityisiä käyttötarkoitukseensa sopivia kehyksiä (kuten scikit tai Spark ML), ja siksi ne on ajettava erillisissä säiliöissä.
  • Resurssien eristäminen – Putkilinjan eri vaiheilla on erilaiset resurssienkulutusvaatimukset, ja siksi ne on ajettava erillisissä säiliöissä joustavuuden ja hallinnan lisäämiseksi.

Lisäksi hieman monimutkaisemmissa sarjapäätelmäputkissa voi olla useita vaiheita pyynnön käsittelemiseksi ja päätelmän luomiseksi. Siksi toiminnallisesta näkökulmasta voi olla hyödyllistä isännöidä nämä vaiheet erillisiin säiliöihin paremman toiminnallisen eristyksen vuoksi ja helpottaaksesi päivityksiä ja parannuksia (muuta yksi vaihe vaikuttamatta muihin malleihin tai käsittelyvaiheisiin).

Jos käyttötapauksesi vastaa joitakin näistä näkökohdista, a SageMaker-päätelmäputki tarjoaa helpon ja joustavan vaihtoehdon sarjapäätelmäputkilinjan rakentamiseen. Seuraava kaavio havainnollistaa viitemallia siitä, kuinka sarjapäätelmäliukulinja toteutetaan käyttämällä useita vaiheita, jotka on isännöity omistetuissa säilöissä SageMaker-päätelmäliukuhihnan avulla.

ml9154-päätelmäputki

SageMaker-päätelmäputki koostuu 2–15 säilön lineaarisesta sekvenssistä, joka käsittelee dataa koskevia päätelmäpyyntöjä. Päätelmäputki tarjoaa mahdollisuuden käyttää valmiiksi koulutettuja SageMakerin sisäänrakennettuja algoritmeja tai mukautettuja algoritmeja, jotka on pakattu Docker-säiliöihin. Säilöjä isännöidään samassa taustalla olevassa ilmentymässä, mikä auttaa vähentämään yleistä latenssia ja minimoimaan kustannuksia.

Seuraava koodinpätkä näyttää, kuinka useita prosessointivaiheita ja malleja voidaan yhdistää sarjapäätelmäputken luomiseksi.

Aloitamme rakentamalla ja määrittämällä Spark ML- ja XGBoost-pohjaisia ​​malleja, joita aiomme käyttää osana putkilinjaa:

from sagemaker.model import Model
from sagemaker.pipeline_model import PipelineModel
from sagemaker.sparkml.model import SparkMLModel
sparkml_data = 's3://{}/{}/{}'.format(s3_model_bucket, s3_model_key_prefix, 'model.tar.gz')
sparkml_model = SparkMLModel(model_data=sparkml_data)
xgb_model = Model(model_data=xgb_model.model_data, image=training_image)

Mallit järjestetään sitten peräkkäin putkimallin määritelmässä:

model_name = 'serial-inference-' + timestamp_prefix
endpoint_name = 'serial-inference-ep-' + timestamp_prefix
sm_model = PipelineModel(name=model_name, role=role, models=[sparkml_model, xgb_model])

Päätelmäputki otetaan sitten käyttöön päätepisteen takana reaaliaikaista päättelyä varten määrittämällä isäntä-ML-esiintymien tyyppi ja lukumäärä:

sm_model.deploy(initial_instance_count=1, instance_type='ml.c4.xlarge', endpoint_name=endpoint_name)

Koko koottua päättelyliukuhihnaa voidaan pitää SageMaker-mallina, jonka avulla voit tehdä joko reaaliaikaisia ​​ennusteita tai käsitellä erämuunnoksia suoraan ilman ulkoista esikäsittelyä. Päätelmäputkimallissa SageMaker käsittelee kutsuja ulkoisesta sovelluksesta peräisin olevien HTTP-pyyntöjen sarjana. Liukuhihnan ensimmäinen kontti käsittelee alkuperäisen pyynnön, suorittaa jonkin verran käsittelyä ja lähettää sitten välivastauksen pyyntönä liukuhihnan toiseen säiliöön. Tämä tapahtuu jokaiselle liukuhihnassa olevalle säiliölle ja palauttaa lopuksi lopullisen vastauksen kutsuvalle asiakassovellukselle.

SageMaker-päätelmäputkia hallitaan täysin. Kun liukuhihna on otettu käyttöön, SageMaker asentaa ja suorittaa kaikki määritetyt säilöt kussakin Amazonin elastinen laskentapilvi (Amazon EC2) -esiintymät, jotka on määritetty osana päätepisteen tai erämuunnostyötä. Lisäksi, koska säiliöt sijaitsevat samassa paikassa ja isännöidään samassa EC2-esiintymässä, putken kokonaisviive pienenee.

Sarjamallikokonaisuus käyttäen SageMaker-päätelmäliukuhihnaa

Ensemble-malli on lähestymistapa ML:ssä, jossa useita ML-malleja yhdistetään ja käytetään osana päättelyprosessia lopullisten päätelmien luomiseen. Ensemble-mallien motiiveja voisivat olla muun muassa tarkkuuden parantaminen, mallin herkkyyden vähentäminen tietyille syöttöominaisuuksille ja yksittäisen mallin harhaanjohtamisen vähentäminen. Tässä viestissä keskitymme käyttötapauksiin, jotka liittyvät sarjamallien kokonaisuuteen, jossa useita ML-malleja yhdistetään peräkkäin osana sarjapäätelmäliukuhihnaa.

Tarkastellaan tiettyä esimerkkiä sarjamallikokonaisuudesta, jossa meidän on ryhmiteltävä käyttäjän lataamat kuvat tiettyjen teemojen tai aiheiden perusteella. Tämä putki voisi koostua kolmesta ML-mallista:

  • Malli 1 – Hyväksyy kuvan syötteeksi ja arvioi kuvan laadun kuvan resoluution, suunnan ja muiden perusteella. Tämä malli yrittää sitten parantaa kuvanlaatua ja lähettää käsitellyt kuvat, jotka täyttävät tietyn laatukynnyksen, seuraavaan malliin (malli 2).
  • Malli 2 – Hyväksyy Model 1:n kautta validoidut kuvat ja suorittaa kuvan tunnistaminen tunnistaa kohteita, paikkoja, ihmisiä, tekstiä ja muita mukautettuja toimintoja ja käsitteitä kuvista. Mallin 2 tulos, joka sisältää tunnistettuja objekteja, lähetetään malliin 3.
  • Malli 3 – Hyväksyy mallin 2 tulosteen ja suorittaa luonnollisen kielen käsittelyyn (NLP) tehtäviä, kuten aihemallinnusta kuvien ryhmittelemiseksi yhteen teemojen perusteella. Esimerkiksi kuvat voidaan ryhmitellä sijainnin tai tunnistettujen ihmisten perusteella. Tulos (ryhmät) lähetetään takaisin asiakassovellukseen.

Seuraava kaavio havainnollistaa viitemallin useiden sarjamallien joukossa isännöityjen ML-mallien toteuttamisesta SageMaker-päätelmäliukulinjan avulla.

ml9154-mallikokonaisuus

Kuten aiemmin mainittiin, SageMaker-päätelmäliukuhihnaa hallitaan, minkä ansiosta voit keskittyä ML-mallin valintaan ja kehittämiseen samalla, kun vähennät sarjakokoonpanon putkilinjan rakentamiseen liittyvää erottumatonta raskasta nostoa.

Lisäksi jotkin aiemmin käsitellyt näkökohdat koskien irrottamista, algoritmien ja mallien kehittämisen puitteiden valintaa ja käyttöönottoa ovat merkityksellisiä myös tässä. Esimerkiksi, koska jokaista mallia isännöidään erillisessä säilössä, voit valita joustavasti kullekin mallille ja yleiseen käyttötilanteeseesi parhaiten sopivan ML-kehyksen. Lisäksi irrotuksen ja toiminnan kannalta voit jatkaa yksittäisten vaiheiden päivittämistä tai muokkaamista paljon helpommin vaikuttamatta muihin malleihin.

SageMaker-päätelmäputki on myös integroitu SageMaker-mallirekisteri mallien luettelointiin, versiointiin, metatietojen hallintaan ja ohjattuun käyttöönottoon tuotantoympäristöissä johdonmukaisten toiminnan parhaiden käytäntöjen tukemiseksi. SageMaker-päätelmäputki on myös integroitu amazonin pilvikello mahdollistaa monikonttimallien valvonnan päättelyputkissa. Voit myös saada näkyvyyttä sisään reaaliaikaiset mittarit Ymmärtääksesi paremmin kunkin valmistettavan säilön kutsuja ja latenssia, mikä auttaa vianmäärityksessä ja resurssien optimoinnissa.

Sarjapäättelyputki (kohdennettu mallikutsu ryhmästä) käyttäen SageMaker-päätelmäliukuhihnaa

SageMakerin usean mallin päätepisteet (MME) tarjoavat kustannustehokkaan ratkaisun useiden ML-mallien käyttöönottamiseksi yhden päätepisteen takana. Motiiveja usean mallin päätepisteiden käyttämiselle voivat sisältää tietyn mukautetun mallin käynnistämisen pyynnön ominaisuuksien (kuten alkuperä, maantieteellinen sijainti, käyttäjän personointi ja niin edelleen) perusteella tai yksinkertaisesti useiden mallien isännöimisen saman päätepisteen takana kustannusten optimoimiseksi.

Kun otat useita malleja käyttöön yhdessä usean mallin käyttöönoton päätepisteessä, kaikki mallit jakavat laskentaresurssit ja mallin käyttösäilön. SageMaker-päätelmäliukuhihna voidaan ottaa käyttöön MME:ssä, jossa yksi liukuhihnassa olevista säilöistä voi palvella dynaamisesti pyyntöjä tietyn mallin perusteella. Liukulinjan näkökulmasta malleilla on identtiset esikäsittelyvaatimukset ja ne odottavat samaa ominaisuusjoukkoa, mutta ne on koulutettu mukautumaan tiettyyn käyttäytymiseen. Seuraava kaavio havainnollistaa vertailukuvion siitä, kuinka tämä integroitu putkisto toimisi.

ml9154-mme

MME:ssä asiakassovelluksesta lähtevän päättelypyynnön tulee määrittää kohdemalli, joka on vedettävä. Liukuhihnan ensimmäinen kontti käsittelee alkuperäisen pyynnön, suorittaa jonkin verran käsittelyä ja lähettää sitten välivastauksen pyyntönä liukuhihnan toiseen säiliöön, joka isännöi useita malleja. Päättelypyynnössä määritetyn kohdemallin perusteella mallia kutsutaan luomaan päätelmä. Luotu päätelmä lähetetään seuraavaan putkilinjassa olevaan säiliöön jatkokäsittelyä varten. Tämä tapahtuu jokaiselle liukuhihnan seuraavalle säiliölle, ja lopuksi SageMaker palauttaa lopullisen vastauksen kutsuvalle asiakassovellukselle.

Useita malliesineitä säilytetään S3-ämpärissä. Kun tiettyä mallia kutsutaan, SageMaker lataa sen dynaamisesti päätepistettä isännöivään säilöön. Jos malli on jo ladattu kontin muistiin, kutsuminen on nopeampaa, koska SageMakerin ei tarvitse ladata mallia Amazon S3:sta. Jos ilmentymän muistin käyttöaste on korkea ja uusi malli kutsutaan ja siksi se on ladattava, käyttämättömät mallit puretaan muistista. Lataamattomat mallit jäävät kuitenkin ilmentymän tallennustilaan, ja ne voidaan ladata kontin muistiin myöhemmin uudelleen ilman, että niitä ladataan uudelleen S3-ämpäriin.

Yksi keskeisistä näkökohdista MME:itä käytettäessä on ymmärtää mallin kutsun latenssikäyttäytyminen. Kuten aiemmin mainittiin, mallit ladataan dynaamisesti päätepistettä isännöivän ilmentymän säilön muistiin, kun niitä kutsutaan. Siksi mallin kutsuminen voi kestää kauemmin, kun sitä kutsutaan ensimmäisen kerran. Kun malli on jo instanssisäiliön muistissa, seuraavat kutsut ovat nopeampia. Jos ilmentymän muistin käyttöaste on korkea ja uusi malli on ladattava, käyttämättömät mallit puretaan. Jos ilmentymän tallennustila on täynnä, käyttämättömät mallit poistetaan tallennustilalta. SageMaker hallitsee täysin mallien lastaamisen ja purkamisen ilman, että sinun tarvitsee tehdä mitään erityisiä toimia. On kuitenkin tärkeää ymmärtää tämä käyttäytyminen, koska sillä on vaikutuksia mallin kutsun latenssiin ja siten yleiseen päästä päähän -viiveeseen.

Pipeline hosting -vaihtoehdot

SageMaker tarjoaa useita esiintymätyyppi valittavissa olevat vaihtoehdot ML-mallien käyttöönottoon ja päättelyputkien rakentamiseen käyttötapauksesi, suorituskyvyn ja kustannusvaatimustesi perusteella. Voit esimerkiksi valita CPU- tai GPU-optimoidut ilmentymät sarjapäätelmäputkien rakentamiseen yhdelle säilölle tai useiden säiliöiden kesken. Joskus on kuitenkin vaatimuksia, joissa halutaan joustavuutta ja tukea mallien ajamiseen CPU- tai GPU-pohjaisissa instansseissa samassa liukuhihnassa lisäjoustavuuden vuoksi.

Voit nyt käyttää NVIDIA Triton Inference Serveriä palvelemaan malleja SageMakerin johtopäätösten tekemiseksi heterogeenisille laskentavaatimuksille. Tarkista Ota nopea ja skaalautuva tekoäly käyttöön Amazon SageMakerin NVIDIA Triton Inference Serverin avulla lisätietoja.

Yhteenveto

Kun organisaatiot löytävät ja rakentavat uusia ML-pohjaisia ​​ratkaisuja, näiden putkien organisointiin tarvittavien työkalujen tulee olla riittävän joustavia tukemaan tiettyä käyttötapausta, samalla kun ne yksinkertaistavat ja vähentävät käynnissä olevia yleiskustannuksia. SageMaker tarjoaa useita vaihtoehtoja näiden sarjajohtopäätösten työnkulkujen suunnitteluun ja rakentamiseen tarpeidesi mukaan.

Odotamme innolla kuulevasi siitä, mitä käyttötapauksia rakennat sarjapäätelmäputkien avulla. Jos sinulla on kysyttävää tai palautetta, jaa ne kommenteissa.


Tietoja kirjoittajista

Suunnittele mallit sarjapäätelmiä varten Amazon SageMaker PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai. Rahul Sharma on AWS Data Labin vanhempi ratkaisuarkkitehti, joka auttaa AWS:n asiakkaita suunnittelemaan ja rakentamaan AI/ML-ratkaisuja. Ennen AWS:ään liittymistään Rahul on työskennellyt useita vuosia rahoitus- ja vakuutusalalla auttaen asiakkaita rakentamaan data- ja analyyttisiä alustoja.

Suunnittele mallit sarjapäätelmiä varten Amazon SageMaker PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai. Anand Prakash on vanhempi ratkaisuarkkitehti AWS Data Labissa. Anand keskittyy auttamaan asiakkaita suunnittelemaan ja rakentamaan AI/ML-, data-analytiikka- ja tietokantaratkaisuja nopeuttaakseen heidän polkuaan tuotantoon.

Suunnittele mallit sarjapäätelmiä varten Amazon 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.

Suunnittele mallit sarjapäätelmiä varten Amazon SageMaker PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai. Saurabh Trikande on Amazon SageMaker Inferencen -tuotepäällikkö. Hän on intohimoinen työskennellä asiakkaiden kanssa ja tehdä koneoppimisesta helpompaa. Vapaa-ajallaan Saurabh nauttii vaeltamisesta, innovatiivisten teknologioiden oppimisesta, TechCrunchien seuraamisesta ja perheensä kanssa viettämisestä.

Aikaleima:

Lisää aiheesta AWS-koneoppiminen