Ohjelmointi

Kuinka valita pilvikoneoppimisalusta

Tehokkaiden koneoppimisen ja syvällisten oppimismallien luomiseksi tarvitset runsaasti datamääriä, tapaa puhdistaa tiedot ja suorittaa niihin ominaisuuksien suunnittelu ja tapa kouluttaa tietojesi malleja kohtuullisessa ajassa. Sitten tarvitset tavan ottaa mallit käyttöön, seurata niiden ajautumista ja kouluttaa niitä tarvittaessa.

Voit tehdä kaiken paikan päällä, jos olet sijoittanut laskentaresursseihin ja kiihdyttimiin, kuten GPU: hin, mutta saatat huomata, että jos resurssit ovat riittävät, ne ovat myös käyttämättömiä suurimman osan ajasta. Toisaalta voi joskus olla kustannustehokkaampaa ajaa koko putkisto pilvessä käyttämällä suuria määriä laskentaresursseja ja kiihdyttimiä tarpeen mukaan ja vapauttamalla ne sitten.

Tech Spotlight: tekoäly ja koneoppiminen

  • 5 koneoppimisen menestystarinaa: Sisäinen ilme (CIO)
  • Tekoäly työssä: Seuraava työtoverisi voisi olla algoritmi (Computerworld)
  • Kuinka turvallisia tekoäly- ja koneoppimisprojektisi ovat? (CSO)
  • Kuinka valita pilvikoneoppimisalusta ()
  • Kuinka tekoäly voi luoda itse ajavien datakeskusten (Network World)

Suurimmat pilvipalvelujen tarjoajat - ja joukko pienempiä pilviä - ovat panostaneet merkittävästi koneoppimisalustojen rakentamiseen tukemaan koko koneoppimisen elinkaarta projektin suunnittelusta mallin ylläpitoon tuotannossa. Kuinka määrität, mitkä näistä pilvistä vastaavat tarpeitasi? Tässä on 12 ominaisuutta, jotka jokaisen päästä päähän -opiskelualustan tulisi tarjota.

Ole lähellä tietojasi

Jos sinulla on tarkkojen mallien rakentamiseen tarvittavat suuret tietomäärät, et halua lähettää niitä puolivälissä ympäri maailmaa. Tässä ei ole kysymys etäisyydestä, vaan on aika: Valon nopeus rajoittaa viime kädessä tiedonsiirtonopeutta jopa täydellisessä verkossa, jolla on ääretön kaistanleveys. Pitkät etäisyydet tarkoittavat latenssia.

Ihanteellinen tapaus erittäin suurille tietojoukoille on rakentaa malli, jossa data jo sijaitsee, jotta massatiedonsiirtoa ei tarvita. Useat tietokannat tukevat sitä rajoitetusti.

Seuraavaksi paras tapa on, että data on samassa suuressa nopeudessa kuin mallinrakennusohjelmisto, mikä tarkoittaa tyypillisesti samaa palvelinkeskusta. Jopa datan siirtäminen yhdestä datakeskuksesta toiseen pilvipalvelun vyöhykkeellä voi aiheuttaa merkittävän viiveen, jos sinulla on teratavuja (TB) tai enemmän. Voit lieventää tätä tekemällä asteittaisia ​​päivityksiä.

Pahin tapaus olisi, jos joudut siirtämään suuria tietoja pitkiä matkoja tiellä, jolla on rajoitettu kaistanleveys ja korkea viive. Australiaan menevät Tyynenmeren alueen ylittävät kaapelit ovat erityisen törkeitä tässä suhteessa.

Tukee ETL- tai ELT-putkistoa

ETL (vienti, muunnos ja lataus) ja ELT (vienti, lataus ja muunnos) ovat kaksi dataputken kokoonpanoa, jotka ovat yleisiä tietokantamaailmassa. Koneoppiminen ja syvällinen oppiminen lisäävät näiden tarvetta, erityisesti muunnososan. ELT antaa sinulle enemmän joustavuutta, kun muunnostesi on muututtava, koska latausvaihe on yleensä suurinta dataa vievää.

Yleensä tiedot luonnossa ovat meluisia. Se on suodatettava. Lisäksi luonnossa olevalla tiedolla on vaihtelevia alueita: Yhdellä muuttujalla voi olla maksimimäärä miljoonissa, kun taas toisella muuttuja voi olla -0,1 - -0,001. Koneoppimista varten muuttujat on muunnettava vakioiduiksi alueiksi, jotta suuret alueet eivät hallitsisi mallia. Mikä standardoitu alue riippuu mallissa käytetystä algoritmista.

Tukea online-ympäristöä mallin rakentamiseen

Tavanomainen viisaus oli, että sinun pitäisi tuoda tiedot työpöydällesi mallin rakentamista varten. Hyvän koneoppimisen ja syvällisen oppimisen mallien rakentamiseen tarvittava pelkkä tietomäärä muuttaa kuvaa: Voit ladata pienen otoksen työpöydällesi tutkimustietojen analysointia ja mallien rakentamista varten, mutta tuotantomalleja varten sinulla on oltava käyttöoikeus kaikkiin tietoihin tiedot.

Verkkopohjaiset kehitysympäristöt, kuten Jupyter Notebooks, JupyterLab ja Apache Zeppelin, soveltuvat hyvin mallin rakentamiseen. Jos tietosi ovat samassa pilvessä kannettavan ympäristön kanssa, voit tuoda analyysin dataan minimoimalla tiedon vievän liikenteen.

Tuki laajentamiseen ja laajentamiseen liittyvää koulutusta

Muistikirjojen laskenta- ja muistivaatimukset ovat yleensä vähäiset, lukuun ottamatta harjoitusmalleja. Se auttaa paljon, jos muistikirja voi saada aikaan koulutustöitä, jotka suoritetaan useilla suurilla virtuaalikoneilla tai -säiliöillä. Se auttaa myös paljon, jos koulutuksella on pääsy kiihdyttimiin, kuten GPU: hin, TPU: iin ja FPGA: hin; nämä voivat muuttaa harjoittelupäivät tunneiksi.

Tukee AutoML: ää ja automaattista ominaisuuksien suunnittelua

Kaikki eivät osaa valita koneoppimismalleja, valita ominaisuuksia (mallin käyttämät muuttujat) ja suunnitella uusia ominaisuuksia raaka havainnoista. Vaikka olisitkin hyvä näissä tehtävissä, ne vievät aikaa ja ne voidaan automatisoida suurelta osin.

AutoML-järjestelmät yrittävät usein monilla malleilla selvittää, mitkä tuottavat parhaat kohdefunktion arvot, esimerkiksi regressio-ongelmien pienimmän neliösumman virheen. Parhaat AutoML-järjestelmät voivat myös suorittaa ominaisuuksien suunnittelun ja käyttää resurssejaan tehokkaasti parhaisiin mahdollisiin malleihin parhailla mahdollisilla ominaisuuksilla.

Tukea parhaita koneoppimista ja syvällisiä oppimisen puitteita

Useimmilla datatieteilijöillä on suosikkikehykset ja ohjelmointikielet koneoppimiseen ja syvään oppimiseen. Niille, jotka pitävät Pythonista, Scikit-learn on usein koneoppimisen suosikki, kun taas TensorFlow, PyTorch, Keras ja MXNet ovat usein suosituimpia syvällisessä oppimisessa. Scalassa Spark MLlib on yleensä edullinen koneoppimisessa. R: ssä on monia alkuperäisiä koneoppimispaketteja ja hyvä käyttöliittymä Pythonille. Java: ssa H2O.ai on erittäin korkea, samoin kuin Java-ML ja Deep Java Library.

Pilvikoneoppimisella ja syvähankinta-alustoilla on yleensä oma kokoelma algoritmeja, ja ne tukevat usein ulkoisia kehyksiä ainakin yhdellä kielellä tai säilöinä erityisillä sisääntulopisteillä. Joissakin tapauksissa voit integroida omat algoritmit ja tilastolliset menetelmät alustan AutoML-palveluihin, mikä on melko kätevää.

Jotkut pilvialustat tarjoavat myös omia viritettyjä versioitaan suurista syvällisen oppimisen puitteista. Esimerkiksi AWS: llä on optimoitu TensorFlow-versio, jonka se väittää saavuttavan lähes lineaarisen skaalautuvuuden syvälle hermoverkkokoulutukselle.

Tarjoa valmiiksi koulutettuja malleja ja tuki siirto-oppimista

Kaikki eivät halua viettää aikaa ja laskea resursseja omien malliensa kouluttamiseksi - eikä niiden pitäisi myöskään, kun valmiiksi koulutettuja malleja on saatavilla. Esimerkiksi ImageNet-tietojoukko on valtava, ja huipputason syvän hermoverkon kouluttaminen sitä vastaan ​​voi viedä viikkoja, joten on järkevää käyttää siihen valmiiksi koulutettua mallia, kun voit.

Toisaalta ennalta koulutetut mallit eivät välttämättä aina tunnista sinua kiinnostavia esineitä. Siirron oppiminen voi auttaa sinua mukauttamaan hermoverkon viimeiset kerrokset tietylle tietojoukolle ilman koko verkon harjoittamisen aikaa ja kustannuksia.

Tarjoa viritettyä tekoälypalvelua

Suurimmat pilvialustat tarjoavat vankat, viritetyt tekoälypalvelut monille sovelluksille, ei vain kuvien tunnistamiseen. Esimerkiksi kielen käännös, puheesta tekstiksi, tekstistä puheeksi, ennustaminen ja suositukset.

Nämä palvelut on jo koulutettu ja testattu useammalla datalla kuin yrityksille yleensä on tarjolla. Ne ovat myös jo käytössä palvelun päätepisteissä, joissa on riittävästi laskennallisia resursseja, mukaan lukien kiihdyttimet, jotta varmistetaan hyvä vasteaika maailmanlaajuisesti kuormitettuna.

Hallitse kokeilujasi

Ainoa tapa löytää paras malli tietojoukollesi on kokeilla kaikkea, joko manuaalisesti tai AutoML: n avulla. Se jättää toisen ongelman: kokeiden hallinta.

Hyvällä pilvikoneoppimisalustalla on tapa, jolla voit nähdä ja verrata kunkin kokeilun tavoitefunktion arvoja sekä harjoitusjoukoille että testitiedoille, sekä mallin ja sekaannusmatriisin koolle. Se, että pystyt piirtämään kaiken tämän, on selvä plus.

Tukee mallin käyttöönottoa ennustamista varten

Kun sinulla on tapa valita paras kokeesi kriteerisi perusteella, tarvitset myös helpon tavan ottaa malli käyttöön. Jos otat useita malleja samaan tarkoitukseen, tarvitset myös tavan jakaa liikenne niiden kesken a / b-testausta varten.

Seuraa ennusteen suorituskykyä

Valitettavasti maailma pyrkii muuttumaan, ja data muuttuu sen myötä. Tämä tarkoittaa, että et voi ottaa mallia käyttöön ja unohtaa sitä. Sen sijaan sinun on seurattava ennusteita varten toimitettuja tietoja ajan myötä. Kun tiedot alkavat muuttua merkittävästi alkuperäisen harjoitustietojoukon lähtötasosta, sinun on koulutettava mallisi uudelleen.

Valvontakulut

Lopuksi tarvitset tapoja hallita malleihisi liittyviä kustannuksia. Tuotantopäätösten mallien käyttöönotto on usein 90% syvällisen oppimisen kustannuksista, kun taas koulutus on vain 10% kustannuksista.

Paras tapa ennustekustannusten hallintaan riippuu kuormastasi ja mallisi monimutkaisuudesta. Jos sinulla on suuri kuormitus, saatat pystyä käyttämään kiihdytintä välttääksesi lisää virtuaalikone-esiintymiä. Jos sinulla on vaihteleva kuorma, saatat pystyä muuttamaan dynaamisesti kokoa tai esiintymien tai säiliöiden määrää, kun kuorma nousee ylös tai alas. Ja jos sinulla on pieni tai satunnainen kuorma, saatat pystyä käyttämään ennusteiden käsittelyä hyvin pienellä instanssilla, jossa on osittainen kiihdytin.

$config[zx-auto] not found$config[zx-overlay] not found