Suorituskykyisten koneoppimisratkaisujen (ML) luominen perustuu harjoitusparametrien, joita kutsutaan myös hyperparametreiksi, tutkimiseen ja optimointiin. Hyperparametrit ovat nuppeja ja vipuja, joita käytämme harjoitusprosessin säätämiseen, kuten oppimisnopeutta, eräkokoa, regularisoinnin voimakkuutta ja muita, riippuen tietystä mallista ja käsillä olevasta tehtävästä. Hyperparametrien tutkimiseen kuuluu systemaattinen kunkin parametrin arvojen vaihtelu ja vaikutusten tarkkaileminen mallin suorituskykyyn. Vaikka tämä prosessi vaatii lisäponnisteluja, hyödyt ovat merkittäviä. Hyperparametrien optimointi (HPO) voi nopeuttaa harjoitusaikoja, parantaa mallin tarkkuutta ja parempaa yleistämistä uusiin tietoihin.
Jatkamme matkaa postista Optimoi hyperparametrit Amazon SageMakerin automaattisen mallin virityksen avulla. Tutkimme aiemmin yhden työn optimointia, visualisoimme sisäänrakennetun SageMaker-algoritmin tulokset ja opimme tiettyjen hyperparametriarvojen vaikutuksista. Sen lisäksi, että HPO:ta käytetään kertaluonteisena optimoinnina mallinluontisyklin lopussa, voimme myös käyttää sitä useissa vaiheissa keskustelun avulla. Jokainen viritystyö auttaa meitä pääsemään lähemmäs hyvää suorituskykyä, mutta lisäksi opimme myös kuinka herkkä malli on tietyille hyperparametreille ja voimme käyttää tätä ymmärrystä informoidakseen seuraavaa viritystyötä. Voimme tarkistaa hyperparametrit ja niiden arvoalueet oppimamme perusteella ja muuttaa näin optimointiponnistuksen keskusteluksi. Ja samalla tavalla kuin me ML-harjoittajat keräämme tietoa näiden juoksujen aikana, Amazon SageMaker automaattinen mallin viritys (AMT) Lämpimällä käynnistyksellä voi säilyttää aiemmissa viritystöissä hankitun tiedon myös seuraavaa viritystyötä varten.
Tässä viestissä suoritamme useita HPO-töitä mukautetulla koulutusalgoritmilla ja erilaisilla HPO-strategioilla, kuten Bayesin optimointi ja satunnainen haku. Teemme myös lämpimiä aloituksia ja vertaamme visuaalisesti kokeitamme parantaaksemme hyperparametrien avaruustutkimusta.
SageMaker AMT:n edistyneet konseptit
Seuraavissa osioissa tarkastelemme lähemmin jokaista seuraavista aiheista ja näytämme, kuinka SageMaker AMT voi auttaa sinua toteuttamaan ne ML-projekteissasi:
- Käytä mukautettua harjoituskoodia ja suosittua ML-kehystä Scikit-learn SageMaker Trainingissa
- Määritä mukautettuja arviointimittareita lokien perusteella arviointia ja optimointia varten
- Suorita HPO käyttämällä sopivaa strategiaa
- Käytä lämpimiä aloituksia muuttaaksesi yksittäisen hyperparametrihaun dialogiksi mallimme kanssa
- Käytä edistyneitä visualisointitekniikoita ratkaisukirjastomme avulla vertaillaksesi kahta HPO-strategiaa ja viritystöiden tuloksia
Käytätpä sitten ensimmäisessä viestissämme käytettyjä sisäänrakennettuja algoritmeja tai omaa harjoituskoodiasi, SageMaker AMT tarjoaa saumattoman käyttökokemuksen ML-mallien optimointiin. Se tarjoaa keskeiset toiminnot, joiden avulla voit keskittyä käsillä olevaan ML-ongelmaan ja pitää automaattisesti kirjaa kokeista ja tuloksista. Samalla se hallitsee automaattisesti taustalla olevaa infrastruktuuria puolestasi.
Tässä viestissä siirrymme pois sisäänrakennetusta SageMaker-algoritmista ja käytämme mukautettua koodia. Käytämme Random Forest -metsää SkLearn. Mutta pysymme samassa ML-tehtävässä ja tietojoukossa kuin omassamme ensimmäinen viesti, joka tunnistaa käsin kirjoitetut numerot. Käsittelemme Jupyter-muistikirjan sisällön 2_advanced_tuning_with_custom_training_and_visualizing.ipynb ja kutsua sinut käyttämään koodia vierekkäin lukeaksesi lisää.
Sukellaan syvemmälle ja selvitetään, kuinka voimme käyttää mukautettua harjoituskoodia, ottaa sen käyttöön ja suorittaa sen samalla, kun tutkimme hyperparametrien hakutilaa tulosten optimoimiseksi.
Kuinka rakentaa ML-malli ja suorittaa hyperparametrien optimointi
Miltä tyypillinen ML-ratkaisun rakentamisprosessi näyttää? Vaikka siellä on monia mahdollisia käyttötapauksia ja suuri valikoima ML-tehtäviä, suosittelemme seuraavaa mentaalimallia vaiheittaista lähestymistapaa varten:
- Ymmärrä käsillä oleva ML-skenaariosi ja valitse algoritmi vaatimusten perusteella. Saatat esimerkiksi haluta ratkaista kuvantunnistustehtävän käyttämällä valvottua oppimisalgoritmia. Tässä viestissä käytämme edelleen käsinkirjoitetun kuvantunnistusskenaariota ja samaa tietojoukkoa kuin ensimmäisessä viestissämme.
- Päätä, mitä algoritmin toteutusta SageMaker Trainingissa haluat käyttää. Vaihtoehtoja on useita, SageMakerin sisällä tai ulkoisissa. Lisäksi sinun on määritettävä, mikä taustalla oleva mittari sopii parhaiten tehtävääsi ja haluat optimoida (kuten tarkkuus, F1-pisteet tai ROC). SageMaker tukee neljää vaihtoehtoa tarpeidesi ja resurssien mukaan:
- Käytä esikoulutettua mallia kautta Amazon SageMaker JumpStart, jota voit käyttää suoraan pakkauksesta tai vain hienosäätää sitä.
- Käytä yhtä sisäänrakennetuista harjoittelu- ja viritysalgoritmeista, kuten XGBoost, kuten teimme edellisessä viestissämme.
- Harjoittele ja viritä mukautettu malli, joka perustuu johonkin tärkeimmistä kehyksistä, kuten Scikit-learn, TensorFlow tai PyTorch. AWS tarjoaa valikoiman valmiita Docker-kuvia tähän tarkoitukseen. Käytämme tässä viestissä tätä vaihtoehtoa, jonka avulla voit kokeilla nopeasti ajamalla oman koodisi valmiiksi tehdyn säilökuvan päälle.
- Tuo oma mukautettu Docker-kuvasi, jos haluat käyttää kehystä tai ohjelmistoa, jota ei muuten tueta. Tämä vaihtoehto vaatii eniten vaivaa, mutta tarjoaa myös suurimman joustavuuden ja hallinnan.
- Harjoittele mallia tiedoillasi. Riippuen edellisen vaiheen algoritmin toteutuksesta, tämä voi olla niinkin yksinkertaista kuin harjoitustietojesi viittaus ja harjoitustyön suorittaminen tai mukautetun koodin lisääminen harjoitteluun. Meidän tapauksessamme käytämme Pythonissa mukautettua harjoituskoodia, joka perustuu Scikit-learniin.
- Käytä hyperparametrien optimointia ("keskusteluna" ML-mallisi kanssa). Harjoittelun jälkeen haluat yleensä optimoida mallisi suorituskykyä etsimällä algoritmisi hyperparametreille lupaavimman arvoyhdistelmän.
ML-algoritmistasi ja mallin koosta riippuen hyperparametrien optimoinnin viimeinen vaihe voi osoittautua odotettua suuremmiksi haasteeksi. Seuraavat kysymykset ovat tyypillisiä ML-ammattilaisille tässä vaiheessa ja saattavat kuulostaa sinulle tutulta:
- Millaiset hyperparametrit vaikuttavat ML-ongelmaani?
- Kuinka voin tehokkaasti etsiä valtavasta hyperparametritilasta löytääkseni parhaiten toimivat arvot?
- Miten tiettyjen hyperparametriarvojen yhdistelmä vaikuttaa suorituskykymittariini?
- Kustannukset ovat tärkeitä; miten voin käyttää resurssejani tehokkaasti?
- Millaiset virityskokeilut ovat kannattavia ja miten niitä voi verrata?
Näihin kysymyksiin ei ole helppoa vastata, mutta hyviä uutisia on. SageMaker AMT ottaa raskaan työn sinulta ja antaa sinun keskittyä valitsemaan oikean HPO-strategian ja arvoalueet, joita haluat tutkia. Lisäksi visualisointiratkaisumme helpottaa iteratiivista analyysi- ja kokeiluprosessia, jonka avulla voidaan löytää tehokkaasti toimivia hyperparametriarvoja.
Seuraavissa osioissa rakennamme numeroiden tunnistusmallin alusta alkaen Scikit-learnin avulla ja näytämme kaikki nämä käsitteet toiminnassa.
Ratkaisun yleiskatsaus
SageMaker tarjoaa erittäin käteviä ominaisuuksia mallimme kouluttamiseen, arviointiin ja virittämiseen. Se kattaa kaikki päästä päähän ML-elinkaarin toiminnot, joten meidän ei tarvitse edes jättää Jupyter-muistikirjaamme.
Ensimmäisessä viestissämme käytimme sisäänrakennettua SageMaker-algoritmia XGBoost. Esittelytarkoituksessa siirrymme tällä kertaa Random Forest -luokittimeen, koska voimme näyttää, kuinka voit antaa oman harjoituskoodisi. Päätimme tarjota oman Python-skriptimme ja käyttää Scikit-learnia viitekehyksenä. Miten ilmaistaan, että haluamme käyttää tiettyä ML-kehystä? Kuten näemme, SageMaker käyttää taustalla toista AWS-palvelua noutaakseen valmiiksi rakennetun Docker-konttikuvan koulutusta varten -Amazonin elastisten säiliörekisteri (Amazon ECR).
Käsittelemme seuraavat vaiheet yksityiskohtaisesti, mukaan lukien koodinpätkät ja kaaviot pisteiden yhdistämiseksi. Kuten aiemmin mainittiin, jos sinulla on mahdollisuus, avaa muistikirja ja suorita koodisolut vaihe vaiheelta luodaksesi artefaktit AWS-ympäristössäsi. Ei ole parempaa tapaa aktiiviseen oppimiseen.
- Lataa ja valmistele ensin tiedot. Käytämme Amazonin yksinkertainen tallennuspalvelu (Amazon S3) ladataksesi tiedoston, joka sisältää käsinkirjoitetut numerotietomme.
- Valmistele seuraavaksi koulutusohjelma ja kehysriippuvuudet. Tarjoamme mukautetun harjoituskoodin Pythonissa, viittaamme joihinkin riippuvaisiin kirjastoihin ja teemme testiajon.
- Mukautettujen tavoitemittareiden määrittämiseksi SageMaker antaa meille mahdollisuuden määrittää säännöllinen lauseke, joka poimii tarvitsemamme mittarit säilön lokitiedostoista.
- Harjoittele malli scikit-learn-kehyksen avulla. Viittaamalla valmiiksi rakennettuun säilökuvaan luomme vastaavan Estimator-objektin ja välitämme mukautetun koulutusohjelman.
- AMT:n avulla voimme kokeilla erilaisia HPO-strategioita. Keskitymme tässä viestissä kahteen niistä: satunnaiseen hakuun ja Bayesin hakuun.
- Valitse SageMaker HPO -strategioista.
- Visualisoi, analysoi ja vertaa viritystuloksia. Visualisointipakettimme avulla voimme selvittää, mikä strategia toimii paremmin ja mitkä hyperparametriarvot tarjoavat parhaan suorituskyvyn mittareidemme perusteella.
- Jatka hyperparametritilan tutkimista ja HPO-töiden lämminkäynnistystä.
AMT huolehtii taustalla olevan laskentainfrastruktuurin skaalauksesta ja hallinnasta eri viritystöiden suorittamiseksi Amazonin elastinen laskentapilvi (Amazon EC2) -tapauksissa. Tällä tavalla sinun ei tarvitse rasittaa itseäsi instansseja, käsitellä käyttöjärjestelmä- ja laitteisto-ongelmia tai koota lokitiedostoja itse. ML-kehyskuva haetaan Amazon ECR:stä ja mallin artefaktit, mukaan lukien viritystulokset, tallennetaan Amazon S3:een. Kaikki lokit ja mittarit kerätään amazonin pilvikello kätevää käyttöä ja lisäanalyysiä varten tarvittaessa.
Edellytykset
Koska tämä on jatkoa sarjalle, sen lukeminen on suositeltavaa, mutta ei välttämättä pakollista ensimmäinen viestimme SageMaker AMT:stä ja HPO:sta. Sen lisäksi ML-konseptien ja Python-ohjelmoinnin perustiedot ovat hyödyllisiä. Suosittelemme myös seuraamaan kaikkia julkaisun vaiheita mukana oleva muistikirja GitHub-arkistosta lukiessasi tätä viestiä. Muistikirjaa voidaan käyttää itsenäisesti ensimmäisestä, mutta tarvitsee koodia alikansioista. Muista kloonata koko arkisto ympäristössäsi README-tiedostossa kuvatulla tavalla.
Koodin kokeileminen ja interaktiivisten visualisointivaihtoehtojen käyttäminen parantaa huomattavasti oppimiskokemustasi. Joten tarkista se.
Lataa ja valmistele tiedot
Ensimmäisenä vaiheena varmistamme, että ladattu numerotiedot tarvitsemme koulutusta on SageMakerin käytettävissä. Amazon S3:n avulla voimme tehdä tämän turvallisesti ja skaalautuvalla tavalla. Katso muistikirjasta täydellinen lähdekoodi ja mukauta se vapaasti omilla tiedoillasi.
- digits.csv
tiedosto sisältää ominaisuustiedot ja tunnisteet. Jokainen numero esitetään pikseliarvoina 8 × 8 -kuvassa, kuten seuraavassa kuvassa numerolle 4 on esitetty.
Valmistele koulutusskripti ja kehysriippuvuudet
Nyt kun tiedot on tallennettu S3-ämpäriimme, voimme määrittää mukautetun harjoitusskriptimme sen perusteella Scikit opittava Pythonissa. SageMaker antaa meille mahdollisuuden yksinkertaisesti viitata Python-tiedostoon myöhemmin harjoittelua varten. Kaikki riippuvuudet, kuten Scikit-learn- tai pandaskirjastot, voidaan tarjota kahdella tavalla:
- Ne voidaan määritellä nimenomaisesti kohdassa a
requirements.txt
tiedosto - Ne on esiasennettu alla olevaan ML-säilökuvaan, joka on joko SageMakerin tarjoama tai räätälöity
Molempia vaihtoehtoja pidetään yleisesti riippuvuuksien hallinnan vakiomenetelminä, joten saatat olla jo perehtynyt niihin. SageMaker tukee erilaisia ML-kehyksiä käyttövalmiin hallitussa ympäristössä. Tämä sisältää monia suosituimpia datatieteen ja ML-kehyksiä, kuten PyTorch, TensorFlow tai Scikit-learn, kuten meidän tapauksessamme. Emme käytä ylimääräistä requirements.txt
tiedostoa, mutta lisää kirjastoja kokeillaksesi sitä.
Toteutuksen koodi sisältää menetelmän nimeltä fit()
, joka luo uuden luokituksen numerontunnistustehtävälle ja kouluttaa sitä. Toisin kuin ensimmäisessä viestissämme, jossa käytimme SageMakerin sisäänrakennettua XGBoost-algoritmia, käytämme nyt RandomForestClassifier
tarjoaa ML-kirjasto sklearn. Kutsu fit()
Luokitusobjektin menetelmä aloittaa harjoitusprosessin käyttämällä CSV-tietojen osajoukkoa (80 %):
Katso koko käsikirjoitus Jupyter-muistikirjastamme osoitteessa GitHub.
Ennen kuin kehitit säilöresursseja koko koulutusprosessia varten, yrititkö suorittaa komentosarjan suoraan? Tämä on hyvä käytäntö varmistaaksesi nopeasti, ettei koodissa ole syntaksivirheitä, ja tarkista varhaisessa vaiheessa tietorakenteiden dimensioita ja muita virheitä.
On kaksi tapaa suorittaa koodisi paikallisesti. Ensinnäkin voit suorittaa sen heti muistikirjassa, jolloin voit myös käyttää Python Debuggeria pdb
:
Vaihtoehtoisesti voit suorittaa junan komentosarjan komentoriviltä samalla tavalla kuin haluat käyttää sitä säilössä. Tämä tukee myös erilaisten parametrien asettamista ja oletusarvojen korvaamista tarpeen mukaan, esimerkiksi:
Tuotoksena näet ensimmäiset tulokset mallin suorituskyvystä, jotka perustuvat objektiivisten mittareiden tarkkuuteen, muistamiseen ja F1-pisteisiin. Esimerkiksi, pre: 0.970 rec: 0.969 f1: 0.969
.
Ei paha näin nopeaan treeniin. Mutta mistä nämä luvut ovat peräisin ja mitä niillä tehdään?
Määritä mukautetut tavoitetiedot
Muista, että tavoitteemme on kouluttaa ja virittää mallimme täysin niiden objektiivisten mittareiden perusteella, joita pidämme tärkeänä tehtävämme kannalta. Koska käytämme mukautettua harjoitusskriptiä, meidän on määritettävä nämä tiedot SageMakerille erikseen.
Skriptimme lähettää mittareiden tarkkuuden, muistamisen ja F1-pisteet harjoittelun aikana yksinkertaisesti käyttämällä print
toiminto:
SageMaker sieppaa vakiotulosteen ja lähettää sen CloudWatchiin lokivirtana. Jotta voimme noutaa mittausarvot ja työskennellä niiden kanssa myöhemmin SageMaker AMT:ssä, meidän on annettava tietoja tuon tulosteen jäsentämisestä. Voimme saavuttaa tämän määrittämällä säännöllisiä lausekkeita (lisätietoja on kohdassa Tarkkaile ja analysoi koulutustöitä Amazon CloudWatch -mittareiden avulla):
Käydään yhdessä läpi edellisen koodin ensimmäinen metrimäärittely. SageMaker etsii tulostetta lokista, joka alkaa pre:
ja sitä seuraa yksi tai useampi välilyönti ja sitten numero, jonka haluamme poimia, minkä vuoksi käytämme pyöreitä sulkeita. Joka kerta kun SageMaker löytää tällaisen arvon, se muuttaa sen CloudWatch-mittariksi, jolla on nimi valid-precision
.
Harjoittele mallia Scikit-learn-kehyksen avulla
Kun olemme luoneet koulutuskäsikirjoituksen train.py
ja opastaa SageMakeria kuinka seurata mittareita CloudWatchin sisällä, määrittelemme a SageMaker estimaattori esine. Se käynnistää koulutustyön ja käyttää määrittämäämme ilmentymän tyyppiä. Mutta kuinka tämä ilmentymätyyppi voi olla erilainen kuin suorittamasi Amazon SageMaker Studio muistikirja päällä ja miksi? SageMaker Studio suorittaa harjoitustyösi (ja johtopäätöksesi) erillisissä laskentaesiintymissä kuin muistikirjassasi. Näin voit jatkaa työskentelyä muistikirjassasi, kun työt suoritetaan taustalla.
Parametri framework_version
viittaa Scikit-learn-versioon, jota käytämme koulutustyössämme. Vaihtoehtoisesti voimme ohittaa image_uri
että estimator
. Voit tarkistaa, onko suosikkikehyksesi tai ML-kirjastosi saatavilla a valmiiksi rakennettu SageMaker Docker -kuva ja käytä sitä sellaisenaan tai laajennuksilla.
Lisäksi voimme suorittaa SageMaker-koulutustöitä EC2-pisteinstanssien avulla asettamalla use_spot_instances
että True
. Ne ovat varakapasiteetin tapauksia, jotka voivat säästää jopa 90 % kustannuksista. Nämä tapaukset tarjoavat joustavuutta koulutustehtävien suorittamiseen.
Kun Estimator-objekti on asetettu, aloitamme koulutuksen soittamalla fit()
toiminto, joka toimittaa polun Amazon S3:n harjoitustietojoukkoon. Voimme käyttää samaa menetelmää validointi- ja testidatan tarjoamiseen. Asetamme wait
parametri True
jotta voimme käyttää koulutettua mallia seuraavissa koodisoluissa.
estimator.fit({'train': s3_data_url}, wait=True)
Määritä hyperparametrit ja suorita viritystöitä
Tähän mennessä olemme kouluttaneet mallia yhdellä hyperparametriarvojen sarjalla. Mutta olivatko ne arvot hyviä? Vai voisimmeko etsiä parempia? Käytetään HyperparameterTuner-luokka suorittaa systemaattisen haun hyperparametriavaruudesta. Kuinka etsimme tätä tilaa virittimellä? Tarvittavat parametrit ovat tavoitteen metriikan nimi ja tavoitetyyppi, jotka ohjaavat optimointia. Optimointistrategia on toinen keskeinen argumentti virittimelle, koska se määrittelee edelleen hakuavaruuden. Seuraavassa on neljä erilaista strategiaa, joista valita:
- Verkkohaku
- Satunnainen haku
- Bayesin optimointi (oletus)
- Hyperband
Kuvaamme edelleen näitä strategioita ja annamme sinulle ohjeita valitaksesi yksi myöhemmin tässä viestissä.
Ennen kuin määrittelemme ja käytämme viritinobjektiamme, kerrotaanpa ymmärryksemme arkkitehtuurin näkökulmasta. Kävimme läpi SageMaker AMT:n arkkitehtonisen yleiskatsauksen viimeinen postauksemme ja toista ote siitä tässä mukavuuden vuoksi.
Voimme valita, mitä hyperparametreja haluamme virittää tai jättää staattisiksi. Tarjoamme dynaamisille hyperparametreille hyperparameter_ranges
joita voidaan käyttää optimoimaan viritettäville hyperparametreille. Koska käytämme Random Forest -luokittajaa, olemme hyödyntäneet hyperparametreja Scikit-learn Random Forest -dokumentaatio.
Rajoitamme myös resursseja enimmäismäärällä koulutustöitä ja rinnakkaisia koulutustöitä, joita virittäjä voi käyttää. Näemme kuinka nämä rajat auttavat meitä vertaamaan eri strategioiden tuloksia keskenään.
Samanlainen kuin arvioijan fit
-toimintoa, aloitamme viritystyön kutsumalla virittimen fit
:
Tämä on kaikki mitä meidän on tehtävä antaaksemme SageMakerin suorittaa koulutustyöt (n=50
) taustalla, joista jokainen käyttää erilaista hyperparametrijoukkoa. Tutkimme tuloksia myöhemmin tässä postauksessa. Mutta sitä ennen aloitetaan toinen viritystyö, tällä kertaa Bayesin optimointistrategiaa soveltaen. Vertaamme molempia strategioita visuaalisesti niiden valmistumisen jälkeen.
Huomaa, että molemmat viritintyöt voivat toimia rinnakkain, koska SageMaker järjestää tarvittavat laskentaesiintymät toisistaan riippumatta. Siitä on paljon apua harjoittajille, jotka kokeilevat erilaisia lähestymistapoja samanaikaisesti, kuten täällä.
Valitse SageMaker HPO -strategioista
Mitä tulee viritysstrategioihin, sinulla on muutamia vaihtoehtoja SageMaker AMT:n kanssa: ruudukkohaku, satunnainen haku, Bayesin optimointi ja Hyperband. Nämä strategiat määrittävät, kuinka automaattiset viritysalgoritmit tutkivat määritettyjä hyperparametrialueita.
Satunnaishaku on melko yksinkertaista. Se valitsee satunnaisesti arvoyhdistelmiä määritetyiltä alueilta ja voidaan ajaa peräkkäin tai rinnakkain. Se on kuin heittäisi tikkaa sidottuin silmin toivoen osuvansa maaliin. Olemme aloittaneet tällä strategialla, mutta paranevatko tulokset toisella?
Bayesilainen optimointi on erilainen kuin satunnainen haku. Se ottaa huomioon aiempien valintojen historian ja valitsee arvot, jotka todennäköisesti tuottavat parhaat tulokset. Jos haluat oppia aikaisemmista tutkimusmatkoista, voit saavuttaa tämän vain suorittamalla uuden viritystyön edellisten jälkeen. Onko järkevää, eikö? Tällä tavalla Bayesin optimointi on riippuvainen aiemmista ajoista. Mutta näetkö, mikä HPO:n strategia mahdollistaa suuremman rinnakkaisuuden?
Hyperband on mielenkiintoinen juttu! Se käyttää multifidelity-strategiaa, mikä tarkoittaa, että se kohdistaa dynaamisesti resurssit lupaavimpiin koulutustehtäviin ja pysäyttää heikosti suoriutuvat. Siksi Hyperband on laskennallisesti tehokas resurssien kanssa oppien aiemmista koulutustöistä. Kun huonosti toimivat kokoonpanot on pysäytetty, uusi konfiguraatio alkaa, ja sen arvot valitaan satunnaisesti.
Riippuen tarpeistasi ja mallisi luonteesta, voit valita viritysstrategiaksesi satunnaisen haun, Bayesin optimoinnin tai Hyperbandin välillä. Jokaisella on oma lähestymistapansa ja etunsa, joten on tärkeää harkita, mikä niistä toimii parhaiten ML-tutkimuksessasi. Hyvä uutinen ML:n harjoittajille on, että voit valita parhaan HPO-strategian vertaamalla visuaalisesti kunkin kokeen vaikutusta tavoitemittariin. Seuraavassa osiossa näemme, kuinka visuaalisesti tunnistaa eri strategioiden vaikutukset.
Visualisoi, analysoi ja vertaa viritystuloksia
Kun viritystyömme ovat valmiit, siitä tulee jännittävää. Mitä tuloksia ne tuottavat? Millaista lisäystä voit odottaa mittaristamme verrattuna perusmalliisi? Mitkä ovat parhaiten toimivat hyperparametrit meidän käyttötapauksessamme?
Nopea ja suoraviivainen tapa tarkastella HPO:n tuloksia on käydä SageMaker-konsolissa. Alla Hyperparametrien viritystyöt, voimme nähdä (viritystyötä kohti) yhdistelmän hyperparametriarvoja, jotka on testattu ja jotka ovat tuottaneet parhaan suorituskyvyn tavoitemittarillamme mitattuna (valid-f1
).
Onko siinä kaikki mitä tarvitset? ML-ammattilaisena saatat olla kiinnostunut noista arvoista, mutta haluat varmasti oppia lisää mallisi sisäisestä toiminnasta tutkiaksesi sen koko potentiaalia ja vahvistaaksesi intuitiota empiirisellä palautteella.
Hyvä visualisointityökalu voi auttaa sinua ymmärtämään HPO:n parannuksia ajan myötä ja saada empiiristä palautetta ML-mallisi suunnittelupäätöksistä. Se näyttää kunkin yksittäisen hyperparametrin vaikutuksen tavoitemittariisi ja antaa ohjeita viritystulosten optimointiin.
Käytämme amtviz
mukautettu visualisointipaketti viritystöiden visualisointiin ja analysointiin. Se on helppokäyttöinen ja tarjoaa hyödyllisiä ominaisuuksia. Osoitamme sen hyödyn tulkitsemalla joitain yksittäisiä kaavioita ja lopuksi vertaamalla satunnaista hakua rinnakkain Bayesin optimoinnin kanssa.
Ensin luodaan visualisointi satunnaista hakua varten. Voimme tehdä tämän soittamalla visualize_tuning_job()
alkaen amtviz
ja ensimmäisen viritinobjektin välittäminen argumenttina:
Näet pari kaaviota, mutta katsotaanpa se askel askeleelta. Ensimmäinen tulosteen sirontakaavio näyttää seuraavalta ja antaa jo meille joitain visuaalisia vihjeitä, joita emme tunnistaisi mistään taulukosta.
Jokainen piste edustaa yksittäisen koulutustyön suorituskykyä (tavoitteemme valid-f1
y-akselilla) sen aloitusajan (x-akselin) perusteella, joka on tuotettu tietyllä hyperparametrijoukolla. Siksi tarkastelemme mallimme suorituskykyä sen edetessä viritystyön aikana.
Pisteviiva korostaa parasta tähän mennessä löydettyä tulosta ja osoittaa parantumista ajan myötä. Kaksi parasta koulutustyötä saavuttivat F1-pisteen noin 0.91.
Näetkö kaaviossa trendin kumulatiivista kehitystä osoittavan katkoviivan lisäksi?
Luultavasti ei. Ja tämä on odotettavissa, koska katsomme satunnaisen HPO-strategian tuloksia. Jokainen harjoitustyö suoritettiin käyttämällä erilaista, mutta satunnaisesti valittua hyperparametrisarjaa. Jos jatkaisimme viritystöitämme (tai suorittaisimme toisen samalla asetuksella), näkisimme todennäköisesti parempia tuloksia ajan myötä, mutta emme voi olla varmoja. Satunnaisuus on hankala asia.
Seuraavat kaaviot auttavat sinua arvioimaan hyperparametrien vaikutusta yleiseen suorituskykyyn. Kaikki hyperparametrit visualisoidaan, mutta lyhyyden vuoksi keskitymme kahteen niistä: n-estimators
ja max-depth
.
Kaksi parasta koulutustyötämme olivat käytössä n-estimators
noin 20 ja 80 ja max-depth
noin 10 ja 18. Tarkat hyperparametriarvot näytetään työkaluvihjeessä jokaiselle pisteelle (harjoitustyölle). Ne korostetaan jopa dynaamisesti kaikissa kaavioissa ja antavat sinulle moniulotteisen näkymän! Näitkö tuon? Jokainen hyperparametri piirretään objektiivisena mittarina erillisenä kaaviona.
Millaisia oivalluksia nyt saamme n-estimators
?
Vasemman kaavion perusteella näyttää siltä, että erittäin pienet arvoalueet (alle 10) antavat useammin huonoja tuloksia kuin korkeammat arvot. Siksi korkeammat arvot voivat auttaa mallia toimimaan paremmin – mielenkiintoista.
Sen sijaan korrelaatio max-depth
tavoitemittarimme hyperparametri on melko alhainen. Emme voi selvästi sanoa, mitkä arvoalueet toimivat paremmin yleisestä näkökulmasta.
Yhteenvetona voidaan todeta, että satunnainen haku voi auttaa sinua löytämään hyvin toimivan hyperparametrijoukon jopa suhteellisen lyhyessä ajassa. Se ei myöskään ole puolueellinen hyvään ratkaisuun, vaan antaa tasapainoisen kuvan hakutilasta. Resurssien käyttösi ei kuitenkaan välttämättä ole kovin tehokasta. Se jatkaa koulutustöiden suorittamista hyperparametreillä arvoalueilla, joiden tiedetään tuottavan huonoja tuloksia.
Tarkastellaan toisen viritystyömme tuloksia Bayesin optimointia käyttäen. Voimme käyttää amtviz
visualisoidaksesi tulokset samalla tavalla kuin teimme tähän mennessä satunnaisen hakuvirittimen kohdalla. Tai vielä parempi, voimme käyttää toiminnon kykyä vertailla molempia viritystöitä yhdessä kaaviosarjassa. Ihan kätevä!
Pisteitä on nyt enemmän, koska visualisoimme kaikkien koulutustöiden tulokset sekä satunnaishaulle (oranssit pisteet) että Bayesin optimoinnille (siniset pisteet). Oikealla puolella näet tiheyskaavion, joka visualisoi kaikkien F1-pisteiden jakautumisen. Suurin osa koulutustehtävistä saavutti F1-asteikon yläosan (yli 0.6) tulokset – hyvä!
Mikä tässä on avaimenperä? Sirontakaavio osoittaa selvästi Bayesin optimoinnin edut. Se tuottaa parempia tuloksia ajan myötä, koska se voi oppia aiemmista ajoista. Tästä syystä saimme Bayesian avulla huomattavasti parempia tuloksia kuin satunnaisesti (0.967 vs. 0.919) samalla määrällä koulutustehtäviä.
Voit tehdä vielä enemmänkin amtviz
. Porataanpa sisään.
Jos annat SageMaker AMT:lle ohjeen suorittaa suurempi määrä töitä viritystä varten, useiden kokeilujen näkeminen kerralla voi olla sotkuista. Tämä on yksi syistä, miksi teimme näistä kaavioista interaktiivisia. Voit napsauttaa ja vetää jokaista hyperparametrin sirontakuvaajaa lähentääksesi tiettyjä arvoalueita ja tarkentaaksesi visuaalista tulkintaasi tuloksista. Kaikki muut kaaviot päivitetään automaattisesti. Se on aika hyödyllistä, eikö? Katso seuraavat kaaviot esimerkkinä ja kokeile sitä itse muistikirjassasi!
Viritysmaksimalistina saatat myös päättää, että toisen hyperparametrin viritystyön suorittaminen voisi parantaa mallisi suorituskykyä entisestään. Mutta tällä kertaa voidaan tutkia tarkempaa hyperparametriarvojen aluetta, koska tiedät jo (suunnilleen), mistä odottaa parempia tuloksia. Voit esimerkiksi keskittyä arvoihin välillä 100–200 for n-estimators
, kuten kaaviosta näkyy. Tämä antaa AMT:n keskittyä lupaavimpiin koulutustehtäviin ja parantaa viritystehokkuutta.
Tehdä yhteenveto, amtviz
tarjoaa sinulle runsaasti visualisointiominaisuuksia, joiden avulla voit ymmärtää paremmin mallisi hyperparametrien vaikutusta suorituskykyyn ja mahdollistaa älykkäämpiä päätöksiä viritystoiminnoissasi.
Jatka hyperparametritilan tutkimista ja HPO-töiden lämminkäynnistystä
Olemme nähneet, että AMT auttaa meitä tutkimaan hyperparametrien hakuavaruutta tehokkaasti. Mutta entä jos tarvitsemme useita virityskierroksia parantaaksemme tuloksiamme iteratiivisesti? Kuten alussa mainittiin, haluamme luoda optimoinnin palautesyklin - "keskustelumme" mallin kanssa. Pitääkö meidän aloittaa alusta joka kerta?
Katsotaanpa ajamisen käsitettä a lämminkäynnistys hyperparametrin viritystyö. Se ei käynnistä uusia viritystöitä tyhjästä, vaan käyttää uudelleen aiemmissa HPO-ajoissa opittua. Tämä auttaa meitä tehostamaan viritysaikaamme ja laskentaresurssejamme. Voimme toistaa aiempia tuloksiamme edelleen. Lämpimien käynnistysten käyttämiseksi luomme a WarmStartConfig
ja täsmentää warm_start_type
as IDENTICAL_DATA_AND_ALGORITHM
. Tämä tarkoittaa, että muutamme hyperparametrien arvoja, mutta emme muuta dataa tai algoritmia. Pyydämme AMT:tä siirtämään aiemman tiedon uuteen viritystehtäväämme.
Viitaten aiempiin Bayes-optimointi- ja satunnaisten hakujen viritystyöhön kuten parents
, voimme käyttää niitä molempia lämpimään alkuun:
Näet lämpökäynnistyksen hyödyt seuraavista taulukoista. Nämä ovat luoneet amtviz
samalla tavalla kuin aiemmin, mutta tällä kertaa olemme lisänneet toisen viritystyön lämpimään aloitukseen.
Vasemmassa kaaviossa voimme havaita, että uudet viritystyöt ovat enimmäkseen suorituskyvyn metriikkakaavion oikeassa yläkulmassa (katso oranssilla merkityt pisteet). Lämmin aloitus on todellakin käyttänyt uudelleen aikaisempia tuloksia, minkä vuoksi nuo datapisteet ovat F1-pisteiden kärkituloksissa. Tämä parannus näkyy myös oikealla olevassa tiheyskaaviossa.
Toisin sanoen AMT valitsee automaattisesti lupaavat hyperparametriarvojoukot aiemmista kokeista saatujen tietojen perusteella. Tämä näkyy seuraavassa kaaviossa. Algoritmi esimerkiksi testaa alhaisen arvon n-estimators
harvemmin, koska niiden tiedetään tuottavan huonoja F1-pisteitä. Emme tuhlaa siihen resursseja lämpimien käynnistysten ansiosta.
Puhdistaa
Jotta vältytään ei-toivotuilta kustannuksilta, kun olet lopettanut HPO-kokeilun, sinun on poistettava kaikki tiedostot S3-alueeltasi etuliitteellä amt-visualize-demo
ja myös sulje SageMaker Studion resurssit.
Suorita seuraava koodi muistikirjassasi poistaaksesi kaikki S3-tiedostot tästä viestistä:
Jos haluat säilyttää tietojoukot tai mallin artefaktit, voit muuttaa koodin etuliitettä amt-visualize-demo/data
vain poistaaksesi tiedot tai amt-visualize-demo/output
poistaaksesi vain mallin artefaktit.
Yhteenveto
Olemme oppineet kuinka ML-ratkaisujen rakentamiseen liittyy hyperparametrien tutkiminen ja optimointi. Näiden nuppien ja vipujen säätäminen on vaativa mutta palkitseva prosessi, joka johtaa nopeampiin harjoitusaikoihin, parempaan mallin tarkkuuteen ja kaiken kaikkiaan parempiin ML-ratkaisuihin. SageMaker AMT -toiminto auttaa meitä suorittamaan useita viritystöitä ja käynnistämään ne lämpimästi ja tarjoaa datapisteitä lisätarkastelua, visuaalista vertailua ja analysointia varten.
Tässä viestissä tarkastelimme HPO-strategioita, joita käytämme SageMaker AMT:n kanssa. Aloitimme satunnaisella haulla, yksinkertaisella mutta tehokkaalla strategialla, jossa hyperparametrit otetaan satunnaisesti hakuavaruudesta. Seuraavaksi vertasimme tuloksia Bayesin optimointiin, joka käyttää todennäköisyysmalleja optimaalisten hyperparametrien etsimiseen. Kun olemme tunnistaneet sopivan HPO-strategian ja hyvät hyperparametrien arvoalueet alkukokeiden kautta, osoitimme, kuinka lämpimiä käynnistyksiä voidaan käyttää tulevien HPO-töiden virtaviivaistamiseen.
Voit tutkia hyperparametrihakuavaruutta vertaamalla kvantitatiivisia tuloksia. Olemme ehdottaneet vierekkäistä visuaalista vertailua ja toimittaneet tarvittavan paketin interaktiivista tutkimista varten. Kerro meille kommenteissa, kuinka hyödyllinen se oli sinulle hyperparametrien viritysmatkallasi!
Tietoja kirjoittajista
Ymit Yoldas on vanhempi ratkaisuarkkitehti Amazon Web Services -palvelussa. Hän työskentelee yritysasiakkaiden kanssa eri toimialoilla Saksassa. Hän on halunnut muuttaa tekoälykonsepteja todellisiksi ratkaisuiksi. Työn ulkopuolella hän viihtyy perheen kanssa, nauttii hyvästä ruoasta ja harrastaa kuntoilua.
Elina Lesyk on Solutions Architect, joka sijaitsee Münchenissä. Hän keskittyy rahoituspalvelualan yritysasiakkaisiin. Vapaa-ajallaan Elina voi löytää IT-tapaamisista rakentamassa sovelluksia generatiivisella tekoälyllä, ajamassa uutta ideaa ilmastonmuutoksen nopeaan korjaamiseen tai juoksemassa metsässä valmistautumaan puolimaratoniin tyypillisellä poikkeuksella suunnitellusta aikataulusta.
Mariano Kamp on johtava ratkaisuarkkitehti Amazon Web Services -palvelussa. Hän työskentelee pankkien ja vakuutusyhtiöiden kanssa Saksassa koneoppimisen parissa. Vapaa-ajallaan Mariano nauttii vaelluksesta vaimonsa kanssa.
- SEO-pohjainen sisällön ja PR-jakelu. Vahvista jo tänään.
- PlatoData.Network Vertical Generatiivinen Ai. Vahvista itseäsi. Pääsy tästä.
- PlatoAiStream. Web3 Intelligence. Tietoa laajennettu. Pääsy tästä.
- PlatoESG. hiili, CleanTech, energia, ympäristö, Aurinko, Jätehuolto. Pääsy tästä.
- PlatonHealth. Biotekniikan ja kliinisten kokeiden älykkyys. Pääsy tästä.
- Lähde: https://aws.amazon.com/blogs/machine-learning/explore-advanced-techniques-for-hyperparameter-optimization-with-amazon-sagemaker-automatic-model-tuning/
- :on
- :On
- :ei
- :missä
- $ YLÖS
- 01
- 1
- 10
- 100
- 11
- 12
- 13
- 14
- 17
- 179
- 20
- 200
- 24
- 33
- 50
- 60
- 7
- 80
- 9
- 91
- 970
- a
- Meistä
- pääsy
- saatavilla
- kerätä
- tarkkuus
- Saavuttaa
- saavutettu
- hankittu
- poikki
- Toiminta
- aktiivinen
- toiminta
- sopeuttaa
- lisätä
- lisä-
- lisä-
- Lisäksi
- kehittynyt
- etuja
- Jälkeen
- vastaan
- aggregaatti
- AI
- algoritmi
- algoritmit
- Kaikki
- allokoi
- sallia
- mahdollistaa
- pitkin
- jo
- Myös
- Vaikka
- Amazon
- Amazon EC2
- Amazon Sage Maker
- Amazon Web Services
- määrä
- an
- analyysi
- analysoida
- ja
- Toinen
- vastaus
- Kaikki
- erilleen
- sovellukset
- Hakeminen
- lähestymistapa
- lähestymistavat
- sopiva
- arkkitehtuurin
- arkkitehtuuri
- OVAT
- perustelu
- noin
- Art
- AS
- At
- auto
- automaattisesti
- automaattisesti
- saatavissa
- välttää
- pois
- AWS
- tausta
- Huono
- Pankit
- pohja
- perustua
- perustiedot
- Bayes
- BE
- koska
- ollut
- ennen
- Alku
- alle
- hyödyttää
- Hyödyt
- PARAS
- Paremmin
- välillä
- puolueellinen
- suurempi
- sininen
- edistää
- sekä
- Laatikko
- rakentaa
- Rakentaminen
- sisäänrakennettu
- taakka
- mutta
- by
- soittaa
- nimeltään
- soittamalla
- CAN
- Voi saada
- kyvyt
- valmiudet
- Koko
- kiinni
- joka
- tapaus
- tapauksissa
- Solut
- tietty
- varmasti
- haaste
- mahdollisuus
- muuttaa
- Kaavio
- Kaaviot
- tarkastaa
- Valita
- valita
- valittu
- selvästi
- napsauttaa
- Ilmasto
- Ilmastonmuutos
- lähempänä
- koodi
- yhdistelmä
- yhdistelmät
- Tulla
- tulee
- kommentit
- Yritykset
- verrata
- verrattuna
- vertaamalla
- vertailu
- täydellinen
- valmistuminen
- Laskea
- keskittää
- käsite
- käsitteet
- Konfigurointi
- kytkeä
- Harkita
- harkittu
- pitää
- Console
- Kontti
- sisältää
- pitoisuus
- jatkaminen
- jatkaa
- jatkui
- jatkuu
- kontrasti
- ohjaus
- mukavuus
- Mukava
- Keskustelu
- puhekielen
- Kulma
- Korrelaatio
- vastaava
- kustannukset
- voisi
- Pari
- kattaa
- katettu
- Covers
- luoda
- luo
- luominen
- asiakassuhde
- Asiakkaat
- sykli
- tiedot
- datapisteet
- tietojenkäsittely
- aineistot
- päättää
- päätökset
- syvempää
- oletusarvo
- määritellä
- määrittelee
- määrittelemällä
- määritelmä
- Aste
- toimittaa
- toimitettu
- Antaa
- vaativa
- osoittaa
- riippuvuudet
- riippuvuus
- riippuvainen
- Riippuen
- sijoittaa
- kuvata
- on kuvattu
- Malli
- yksityiskohta
- yksityiskohdat
- Määrittää
- poikkeama
- kaaviot
- Vuoropuhelu
- DID
- eri
- numeroa
- mitat
- suoraan
- löytää
- näyttöön
- jakelu
- sukellus
- do
- Satamatyöläinen
- ei
- ei
- tehty
- Dont
- DOT
- alas
- ajanut
- ajo
- kesto
- aikana
- dynaaminen
- dynaamisesti
- kukin
- Aikaisemmin
- Varhainen
- helppo
- tehokkaasti
- tehokkuus
- tehokas
- tehokkaasti
- vaivaa
- ponnisteluja
- myöskään
- mahdollistaa
- mahdollistaa
- loppu
- päittäin
- Parantaa
- varmistaa
- yritys
- ympäristö
- virheet
- perustaa
- arvioida
- arviointi
- Jopa
- Joka
- tutkia
- esimerkki
- jännittävä
- odottaa
- odotettu
- experience
- kokeilu
- kokeiluja
- nimenomaisesti
- tutkimus
- tutkia
- tutkitaan
- Tutkiminen
- ilmaista
- lauseke
- ulkoinen
- uute
- f1
- Helpottaa
- tuttu
- perehtyneisyys
- perhe
- paljon
- FAST
- nopeampi
- Suosikki
- Ominaisuus
- Ominaisuudet
- palaute
- tuntea
- harvat
- filee
- Asiakirjat
- Vihdoin
- taloudellinen
- rahoituspalvelut
- Löytää
- löytäminen
- löydöt
- Etunimi
- sovittaa
- kunto
- Joustavuus
- Keskittää
- tarkennus
- seurannut
- jälkeen
- ruoka
- varten
- metsä
- löytyi
- neljä
- Puitteet
- puitteet
- Ilmainen
- alkaen
- koko
- täysin
- toiminto
- toiminnallisuus
- edelleen
- tulevaisuutta
- arvioida
- general
- yleensä
- syntyy
- generatiivinen
- Generatiivinen AI
- Saksa
- saada
- GitHub
- Antaa
- antaa
- tavoite
- hyvä
- kaavio
- suuresti
- ruudukko
- ohjaus
- ohjaavat
- käsi
- kahva
- kätevä
- Palvelimet
- Olla
- he
- raskas
- raskas nosto
- auttaa
- hyödyllinen
- auttaa
- hänen
- tätä
- korkea suorituskyky
- korkeampi
- suurin
- korkein aste
- Korostettu
- raidat
- hänen
- historia
- Osuma
- toivoen
- Miten
- Miten
- Kuitenkin
- HTML
- http
- HTTPS
- valtava
- Hyperparametrien optimointi
- Hyperparametrien viritys
- i
- ajatus
- tunnistettu
- tunnistaa
- if
- kuva
- Kuvan tunnistus
- kuvien
- Vaikutus
- vaikuttavia
- toteuttaa
- täytäntöönpano
- tuoda
- tärkeä
- parantaa
- parani
- parannus
- in
- sisältää
- Mukaan lukien
- Lisäykset
- todellakin
- itsenäisesti
- ilmaisee
- henkilökohtainen
- teollisuuden
- teollisuus
- vaikutus
- ilmoittaa
- tiedot
- Infrastruktuuri
- ensimmäinen
- aloittaa
- Osaa aloittaa
- sisällä
- oivalluksia
- esimerkki
- vakuutus
- vuorovaikutteinen
- kiinnostunut
- mielenkiintoinen
- tulkinta
- tulee
- kutsu
- kysymykset
- IT
- SEN
- Job
- Työpaikat
- matka
- vain
- Pitää
- pito
- avain
- laji
- Tietää
- tuntemus
- tunnettu
- tarrat
- suuri
- suurempi
- Sukunimi
- myöhemmin
- johtaa
- Liidit
- OPPIA
- oppinut
- oppiminen
- jättää
- vasemmalle
- vähemmän
- antaa
- Lets
- kirjastot
- Kirjasto
- valehdella
- elinkaari
- nosto
- pitää
- Todennäköisesti
- RAJOITA
- rajat
- linja
- linjat
- kuormitus
- paikallisesti
- sijaitsevat
- log
- katso
- näyttää joltakin
- Katsoin
- ulkonäkö
- Matala
- kone
- koneoppiminen
- tehty
- ylläpitää
- merkittävä
- Enemmistö
- tehdä
- TEE
- onnistui
- johto
- hallinnoi
- toimitusjohtaja
- tapa
- monet
- merkitty
- matching
- asia
- maksimaalisia
- Maksimoida
- maksimi
- Saattaa..
- välineet
- Meetups
- henkinen
- mainitsi
- menetelmä
- metrinen
- Metrics
- ehkä
- ML
- malli
- mallit
- muokata
- monitori
- lisää
- tehokkaampi
- eniten
- Suosituin
- enimmäkseen
- liikkua
- moninkertainen
- täytyy
- my
- nimi
- luonto
- välttämättä
- välttämätön
- Tarve
- tarvitaan
- tarpeet
- Uusi
- uutiset
- seuraava
- Nro
- muistikirja
- nyt
- numero
- numerot
- objekti
- tavoite
- tarkkailla
- of
- Tarjoukset
- usein
- on
- kerran
- ONE
- yhdet
- vain
- avata
- toiminta
- käyttöjärjestelmän
- optimaalinen
- optimointi
- Optimoida
- optimoimalla
- Vaihtoehto
- Vaihtoehdot
- or
- Oranssi
- Muut
- Muuta
- muuten
- meidän
- ulos
- tuloksiin
- ulostulo
- ulkopuolella
- yli
- yleinen
- yleiskatsaus
- oma
- paketti
- pandas
- Parallel
- parametri
- parametrit
- osa
- erityinen
- kulkea
- Ohimenevä
- polku
- varten
- Suorittaa
- suorituskyky
- esittävä
- suorittaa
- näkökulma
- pixel
- suunnitteilla
- Platon
- Platonin tietotieto
- PlatonData
- Ole hyvä
- pistettä
- kehno
- Suosittu
- mahdollinen
- Kirje
- mahdollinen
- harjoitusta.
- pre
- Tarkkuus
- ennusti
- Valmistella
- aika
- edellinen
- aiemmin
- Pääasiallinen
- todennäköisesti
- Ongelma
- prosessi
- tuottaa
- valmistettu
- Ohjelmointi
- Edistyminen
- hankkeet
- lupaava
- toimittaa
- mikäli
- tarjoaa
- tarjoamalla
- säännös
- tarkoitus
- tarkoituksiin
- laittaa
- Python
- pytorch
- määrällinen
- kysymykset
- nopea
- nopeasti
- melko
- R
- satunnainen
- satunnaisuuden
- alue
- vaihtelee
- hinta
- pikemminkin
- Lue
- Lukeminen
- todellinen maailma
- syistä
- kertaus
- tunnustaminen
- tunnistaa
- suositella
- suositeltu
- katso
- viite
- viittaaminen
- viittaa
- tarkentaa
- heijastunut
- regex
- säännöllinen
- suhteellisesti
- merkityksellinen
- poistaa
- säilytyspaikka
- edustettuina
- edustaa
- tarvitaan
- vaatimukset
- Vaatii
- resurssi
- Esittelymateriaalit
- vastaavasti
- johtua
- tulokset
- palata
- arviot
- tarkistaa
- antoisa
- Rikas
- oikein
- karkeasti
- kierros
- kierrosta
- ajaa
- juoksu
- toimii
- turvallista
- sagemaker
- SageMaker automaattinen mallin viritys
- tähden
- sama
- skaalautuva
- Asteikko
- skaalaus
- skenaario
- aikataulu
- tiede
- scikit opittava
- pisteet
- raapia
- käsikirjoitus
- saumaton
- Haku
- Toinen
- Osa
- osiot
- nähdä
- koska
- näyttää
- nähneet
- valittu
- valinta
- vanhempi
- tunne
- sensible
- lähetetty
- erillinen
- Sarjat
- palvelu
- Palvelut
- Istunto
- setti
- Setit
- asetus
- hän
- Lyhyt
- näyttää
- osoittivat
- esitetty
- Näytä
- puoli
- merkittävä
- merkittävästi
- samankaltainen
- Yksinkertainen
- yksinkertaisesti
- single
- Koko
- fiksummin
- So
- niin kaukana
- Tuotteemme
- ratkaisu
- Ratkaisumme
- SOLVE
- jonkin verran
- kuulostaa
- lähde
- lähdekoodi
- Tila
- erityinen
- määritelty
- Kierre
- Kaupallinen
- Vaihe
- standardi
- Alkaa
- alkoi
- alkaa
- lausuntoja
- staattinen
- Vaihe
- Askeleet
- pysäyttäminen
- Lopettaa
- Levytila
- tallennettu
- suora
- strategiat
- Strategia
- virta
- tehostaa
- vahvuus
- Vahvistaa
- rakenteet
- studio
- myöhempi
- niin
- ehdottaa
- sopiva
- YHTEENVETO
- toimittaa
- Tuetut
- Tukee
- varma
- Vaihtaa
- syntaksi
- järjestelmä
- taulukko
- ottaa
- vie
- Kohde
- Tehtävä
- tehtävät
- tekniikat
- kertoa
- tensorflow
- testi
- testattu
- kuin
- Kiitos
- että
- -
- heidän
- Niitä
- sitten
- Siellä.
- siksi
- Nämä
- ne
- asia
- tätä
- ne
- kolmella
- Kautta
- Throwing
- aika
- kertaa
- että
- yhdessä
- työkalu
- ylin
- Aiheet
- kohti
- raita
- Juna
- koulutettu
- koulutus
- junat
- siirtää
- Kääntää
- Trend
- oikeudenkäynti
- tutkimuksissa
- totta
- yrittää
- virittää
- viritys
- VUORO
- kääntyy
- kaksi
- tyyppi
- tyypillinen
- tyypillisesti
- varten
- taustalla oleva
- ymmärtää
- ymmärtäminen
- toivottuja
- päivitetty
- us
- käyttää
- käyttölaukku
- käytetty
- käyttäjä
- Käyttäjäkokemus
- käyttötarkoituksiin
- käyttämällä
- hyödynnetty
- validointi
- arvo
- arvot
- lajike
- eri
- Vaihteleva
- versio
- hyvin
- kautta
- Näytä
- katselu
- visualisointi
- havainnollistaa
- visuaalisesti
- vs
- kävellä
- haluta
- lämmin
- oli
- Jätteet
- Tapa..
- tavalla
- we
- verkko
- verkkopalvelut
- HYVIN
- olivat
- Mitä
- kun
- onko
- joka
- vaikka
- KUKA
- miksi
- vaimo
- tulee
- toivottaa
- with
- sisällä
- sanoja
- Referenssit
- työskentely
- louhos
- toimii
- kannattava
- olisi
- XGBoost
- vielä
- tuotto
- Voit
- Sinun
- itse
- zephyrnet
- zoomaus