Amazon Sage Maker tarjoaa sviitin sisäänrakennetut algoritmit, valmiiksi koulutetut mallitja valmiiksi rakennetut ratkaisumallit auttaa datatieteilijöitä ja koneoppimisen (ML) harjoittajia pääsemään nopeasti alkuun ML-mallien koulutuksessa ja käyttöönotossa. Näitä algoritmeja ja malleja voidaan käyttää sekä ohjattuun että ohjaamattomaan oppimiseen. Ne voivat käsitellä erityyppisiä syöttötietoja, mukaan lukien taulukko, kuva ja teksti.
Asiakkaiden vaihtuvuus on monien yritysten kohtaama ongelma telekommunikaatiosta pankkiin, jossa asiakkaat tyypillisesti menetetään kilpailijoille. Yrityksen edun mukaista on pitää olemassa olevia asiakkaita mieluummin kuin hankkia uusia asiakkaita, koska uusien asiakkaiden houkutteleminen maksaa yleensä huomattavasti enemmän. Matkapuhelinoperaattoreilla on historiallisia ennätyksiä, joissa asiakkaat jatkoivat palvelun käyttöä tai lopulta vaikeutuivat. Voimme käyttää näitä historiallisia tietoja matkapuhelinoperaattorin vaihtumisesta ML-mallin kouluttamiseen. Tämän mallin koulutuksen jälkeen voimme välittää mielivaltaisen asiakkaan profiilitiedot (samat profiilitiedot, joita käytimme mallin kouluttamisessa) mallille ja antaa sen ennustaa, aikooko asiakas vaihtua vai ei.
Tässä postauksessa koulutamme ja otamme käyttöön neljä äskettäin julkaistua SageMaker-algoritmia—LightGBM, CatBoost, TabTransformer ja AutoGluon-Tabular — vaihtuvuusennustetietojoukossa. Käytämme SageMaker automaattinen mallin viritys (työkalu hyperparametrien optimointiin) löytääksesi parhaat hyperparametrit kullekin mallille ja vertaillaksesi niiden suorituskykyä holdout-testitietojoukossa valitaksesi optimaalisen.
Voit myös käyttää tätä ratkaisua mallina etsiäksesi huippuluokan taulukkoalgoritmeja ja käyttää hyperparametrien optimointia löytääksesi parhaan kokonaismallin. Voit helposti korvata esimerkkitietojoukon omallasi ratkaistaksesi sinua kiinnostavia todellisia liiketoimintaongelmia. Jos haluat hypätä suoraan SageMaker SDK -koodiin, jonka käymme läpi tässä viestissä, voit katsoa seuraavaa näyte Jupyter-muistikirjasta.
Sisäänrakennettujen SageMaker-algoritmien edut
Kun valitset algoritmin tietyntyyppiselle ongelmalle ja tiedollesi, sisäänrakennetun SageMaker-algoritmin käyttö on helpoin vaihtoehto, koska sillä on seuraavat suuret edut:
- Matala koodaus – Sisäänrakennetut algoritmit vaativat vähän koodausta aloittaakseen kokeiden suorittamisen. Ainoat syötteet, jotka sinun on annettava, ovat tiedot, hyperparametrit ja laskentaresurssit. Näin voit suorittaa kokeiluja nopeammin ja vähentää tulosten ja koodimuutosten seurantakustannuksia.
- Tehokkaat ja skaalautuvat algoritmien toteutukset – Sisäänrakennetut algoritmit sisältävät rinnakkaisuuden useiden laskentaesiintymien välillä ja GPU-tuen heti valmiina kaikille soveltuville algoritmeille. Jos sinulla on paljon dataa mallin kouluttamiseen, useimmat sisäänrakennetut algoritmit voivat helposti skaalata kysyntää vastaavaksi. Vaikka sinulla olisi jo esikoulutettu malli, saattaa silti olla helpompaa käyttää sen seurausta SageMakerissa ja syöttää jo tuntemasi hyperparametrit sen sijaan, että siirrät sen ja kirjoitat harjoitusskriptin itse.
- Läpinäkyvyys – Olet tuloksena olevien malliesineiden omistaja. Voit ottaa tämän mallin ja ottaa sen käyttöön SageMakerissa useille erilaisille päättelymalleille (katso kaikki käytettävissä olevat käyttöönottotyypit) ja helppo päätepisteiden skaalaus ja hallinta, tai voit ottaa sen käyttöön missä tahansa muualla sitä tarvitset.
Tietojen visualisointi ja esikäsittely
Ensin keräämme asiakasvaihtuvuustietojoukon. Se on suhteellisen pieni tietojoukko, jossa on 5,000 21 tietuetta, ja jokainen tietue käyttää XNUMX attribuuttia kuvaamaan tuntemattoman yhdysvaltalaisen matkapuhelinoperaattorin asiakkaan profiilia. Attribuutit vaihtelevat Yhdysvaltain osavaltiosta, jossa asiakas asuu, asiakaspalveluun soittamiensa puheluiden määrään ja päiväpuheluista laskuttaviin kustannuksiin. Yritämme ennustaa, vaihtuuko asiakas vai ei, mikä on binäärinen luokitteluongelma. Seuraavassa on osa ominaisuuksista, jotka näyttävät, ja otsikko on viimeinen sarake.
Seuraavassa on joitain oivalluksia jokaisesta sarakkeesta, erityisesti yhteenvetotilastoista ja valittujen ominaisuuksien histogrammista.
Sitten esikäsittelemme tiedot, jaamme ne koulutus-, validointi- ja testisarjoiksi ja lataamme tiedot kohteeseen Amazonin yksinkertainen tallennuspalvelu (Amazon S3).
Taulukkoalgoritmien automaattinen mallin viritys
Hyperparametrit ohjaavat taustalla olevien algoritmidemme toimintaa ja vaikuttavat mallin suorituskykyyn. Nämä hyperparametrit voivat olla kerrosten lukumäärä, oppimisnopeus, painon vaimenemisnopeus ja keskeyttäminen hermoverkkopohjaisissa malleissa tai lehtien lukumäärä, iteraatiot ja puun enimmäissyvyys puuryhmämalleissa. Parhaan mallin valitsemiseksi käytämme SageMakerin automaattista mallin viritystä jokaiseen neljään koulutettuun SageMaker-taulukkoalgoritmiin. Sinun tarvitsee vain valita viritettävät hyperparametrit ja kunkin tutkittavan parametrin alue. Lisätietoja automaattisesta mallin virittämisestä on kohdassa Amazon SageMaker Automaattinen mallin säätö: Koneoppimisen käyttäminen koneoppimiseen or Amazon SageMaker automaattinen mallin viritys: Skaalautuva gradienttiton optimointi.
Katsotaanpa, miten tämä toimii käytännössä.
LightGBM
Aloitamme suorittamalla automaattisen mallin virityksen LightGBM:llä ja mukautamme tämän prosessin muihin algoritmeihin. Kuten postauksessa selitetään Amazon SageMaker JumpStart -mallit ja -algoritmit ovat nyt saatavilla API:n kautta, seuraavat artefaktit vaaditaan valmiiksi rakennetun algoritmin kouluttamiseen SageMaker SDK:n kautta:
- Sen kehyskohtainen konttikuva, joka sisältää kaikki koulutusta ja päätelmiä varten vaadittavat riippuvuudet
- Valitun mallin tai algoritmin koulutus- ja päättelyskriptit
Haemme ensin nämä esineet, jotka riippuvat model_id
(lightgbm-classification-model
tässä tapauksessa) ja versio:
Sitten saamme LightGBM:n oletushyperparametrit, asetamme osan niistä valittuihin kiinteisiin arvoihin, kuten vahvistuskierrosten lukumäärään ja validointitietojen arviointimetriikkaan, ja määritämme arvoalueet, joista haluamme etsiä muita. Käytämme SageMaker-parametreja ContinuousParameter
ja IntegerParameter
tätä varten:
Lopuksi luomme a SageMaker estimaattori, syötä se a HyperarameterTuner, ja aloita hyperparametrien viritystyö painikkeella tuner.fit()
:
- max_jobs
parametri määrittää kuinka monta työtä yhteensä suoritetaan automaattisessa mallin viritystyössä, ja max_parallel_jobs
määrittää, kuinka monta samanaikaista koulutustyötä tulee aloittaa. Määrittelemme myös tavoitteen “Maximize”
mallin AUC (käyrän alla oleva pinta-ala). Voit sukeltaa syvemmälle käytettävissä oleviin parametreihin, jotka altistuvat HyperParameterTuner
, viitata Hyperparametri Viritin.
Tutustu muistikirjan näyte nähdäksemme, miten edetään tämän mallin käyttöönottamiseksi ja arvioimiseksi testijoukossa.
CatBoost
Hyperparametrien viritysprosessi CatBoost-algoritmissa on sama kuin aiemmin, vaikka meidän on noudettava mallin artefaktit tunnuksella catboost-classification-model
ja muuta hyperparametrien aluevalintaa:
TabTransformer
TabTransformer-mallin hyperparametrien viritysprosessi on sama kuin aiemmin, vaikka meidän on noudettava mallin artefaktit tunnuksella pytorch-tabtransformerclassification-model
ja muuta hyperparametrien aluevalintaa.
Muutamme myös koulutusta instance_type
että ml.p3.2xlarge
. TabTransformer on äskettäin Amazon-tutkimuksesta johdettu malli, joka tuo syvän oppimisen voiman taulukkotietoihin Transformer-malleja käyttäen. Tämän mallin kouluttamiseksi tehokkaasti tarvitsemme GPU:n tukeman esiintymän. Lisätietoja on kohdassa Tuo syvän oppimisen voima taulukoiden tietoihin.
AutoGluon-Tabular
AutoGluonin tapauksessa emme suorita hyperparametrien viritystä. Tämä johtuu suunnittelusta, koska AutoGluon keskittyy useiden mallien yhdistämiseen järkevällä hyperparametrivalinnalla ja niiden pinoamiseen useisiin kerroksiin. Tämä on tehokkaampaa kuin yhden mallin opettaminen täydellisellä hyperparametrivalikoimalla ja on myös laskennallisesti halvempaa. Katso lisätietoja AutoGluon-Tabular: Vankka ja tarkka AutoML strukturoidulle tiedolle.
Siksi vaihdamme model_id
että autogluon-classification-ensemble
, ja korjaa vain arviointimetriikan hyperparametri haluamallesi AUC-pisteelle:
Soittamisen sijaan tuner.fit()
, Me kutsumme estimator.fit()
aloittaa yhden koulutustyön.
Koulutettujen mallien vertailu
Kun olemme ottaneet käyttöön kaikki neljä mallia, lähetämme täydellisen testisarjan jokaiseen päätepisteeseen ennustamista varten ja laskemme jokaisen tarkkuuden, F1- ja AUC-mittaukset (katso koodi muistikirjan näyte). Esitämme tulokset seuraavassa taulukossa tärkeän vastuuvapauslausekkeen kera: tulokset ja näiden mallien välinen suhteellinen suorituskyky riippuvat koulutukseen käyttämästäsi tietojoukosta. Nämä tulokset ovat edustavia, ja vaikka tiettyjen algoritmien pyrkimys toimia paremmin perustuu olennaisiin tekijöihin (esimerkiksi AutoGluon yhdistää älykkäästi sekä LightGBM- että CatBoost-mallien ennusteet kulissien takana), suorituskyvyn tasapaino saattaa muuttua erilaisen tilanteen vuoksi. tiedon jakelu.
. | LightGBM automaattisella mallivirityksellä | CatBoost automaattisella mallivirityksellä | TabTransformer automaattisella mallivirityksellä | AutoGluon-Tabular |
tarkkuus | 0.8977 | 0.9622 | 0.9511 | 0.98 |
F1 | 0.8986 | 0.9624 | 0.9517 | 0.98 |
AUC | 0.9629 | 0.9907 | 0.989 | 0.9979 |
Yhteenveto
Tässä viestissä koulutimme neljä erilaista sisäänrakennettua SageMaker-algoritmia ratkaisemaan asiakkaiden vaihtuvuusennustusongelman pienellä koodaustyöllä. Käytimme SageMakerin automaattista mallin viritystä löytääksemme parhaat hyperparametrit näiden algoritmien kouluttamiseen ja vertailimme niiden suorituskykyä valitussa vaihtuvuuden ennustetietojoukossa. Voit käyttää aiheeseen liittyviä muistikirjan näyte mallina, korvaamalla tietojoukon omallasi ratkaistaksesi haluamasi taulukkotietopohjaisen ongelman.
Varmista, että kokeilet näitä algoritmeja SageMakerissa ja tutustu mallimuistikirjoihin siitä, kuinka voit käyttää muita sivustossa saatavilla olevia sisäänrakennettuja algoritmeja. GitHub.
Tietoja kirjoittajista
Tohtori Xin Huang on Amazon SageMaker JumpStartin ja Amazon SageMakerin sisäänrakennettujen algoritmien soveltava tutkija. Hän keskittyy skaalautuvien koneoppimisalgoritmien kehittämiseen. Hänen tutkimusintressiään ovat luonnollisen kielen prosessointi, selitettävissä oleva syvä oppiminen taulukkotiedoista ja ei-parametrisen aika-avaruusklusteroinnin robusti analyysi. Hän on julkaissut monia artikkeleita ACL-, ICDM-, KDD-konferensseissa ja Royal Statistical Society: Series A -lehdessä.
João Moura on AI/ML Specialist Solutions -arkkitehti Amazon Web Servicesissä. Hän keskittyy enimmäkseen NLP-käyttötapauksiin ja auttaa asiakkaita optimoimaan Deep Learning -mallin koulutusta ja käyttöönottoa. Hän on myös aktiivinen matalan koodin ML-ratkaisujen ja ML-spesifisten laitteistojen kannattaja.
- AI
- ai taide
- ai taiteen generaattori
- ai robotti
- Amazon Sage Maker
- tekoäly
- tekoälyn sertifiointi
- tekoäly pankkitoiminnassa
- tekoäly robotti
- tekoälyrobotit
- tekoälyohjelmisto
- AWS-koneoppiminen
- blockchain
- blockchain-konferenssi ai
- coingenius
- keskustelullinen tekoäly
- kryptokonferenssi ai
- dall's
- syvä oppiminen
- google ai
- koneoppiminen
- Platon
- plato ai
- Platonin tietotieto
- Platon peli
- PlatonData
- platopeliä
- mittakaava ai
- syntaksi
- zephyrnet