Sisäänrakennettu Amazon Sage Maker XGBoost-algoritmi tarjoaa hallitun säilön suositun suorittamiseen XGBoost koneoppimiskehys (ML), jossa on lisämukavuus tukea edistyneitä koulutus- tai päättelyominaisuuksia, kuten hajautettua koulutusta, tietojoukon jakamista suuria tietojoukkoja varten, A/B mallin testaustai usean mallin johtopäätös päätepisteitä. Voit myös laajentaa tätä tehokasta algoritmia erilaisten vaatimusten mukaan.
Koodin ja riippuvuuksien pakkaaminen yhteen säiliöön on kätevä ja vankka tapa pitkän aikavälin koodin ylläpito-, toistettavuus- ja auditointitarkoituksiin. Säiliön muokkaaminen seuraa suoraan perussäiliötä tarkasti ja välttää olemassa olevien toimintojen kopioimisen, joita perussäiliö jo tukee. Tässä viestissä tarkastelemme SageMaker XGBoost -algoritmisäilön sisäistä toimintaa ja tarjoamme käytännöllisiä komentosarjoja säilön mukauttamiseen suoraan.
SageMaker XGBoost -säiliörakenne
SageMakerin sisäänrakennettu XGBoost-algoritmi on pakattu erilliseksi säilöksi, saatavilla GitHubissa, ja sitä voidaan laajentaa kehittäjäystävällisen Apache 2.0 avoimen lähdekoodin lisenssillä. Säiliö pakkaa avoimen lähdekoodin XGBoost-algoritmi ja aputyökalut algoritmin suorittamiseen SageMaker-ympäristössä, joka on integroitu muihin AWS-pilvipalveluihin. Tämän avulla voit kouluttaa XGBoost-malleja erilaisilla tietolähteet, tee erän ennusteet offline-datalla tai isännöi päätelmäpäätepiste reaaliajassa putki.
Kontti tukee koulutusta ja päättelytoimintoja eri sisääntulopisteillä. Päätöstilaa varten merkintä löytyy päätoiminnosta serving.py-skripti. Reaaliaikaista päätelmien käyttöä varten säilö suorittaa a Pullo-Pohjainen Web-palvelin että kun kutsuttuihin, vastaanottaa HTTP-koodatun pyynnön, joka sisältää tiedot, purkaa tiedot XGBoostin DMatrix muoto, lataa mallin, ja palauttaa an HTTP-koodattu vastaus takaisin. Nämä menetelmät on kapseloitu alla ScoringService luokka, jota voidaan myös suurelta osin muokata skriptitilan kautta (katso liite alla).
Harjoitustilan (algoritmitilan) aloituspiste on päätoiminto koulutus.py. Päätoiminto määrittää koulutusympäristön ja kutsuu koulutustyötoiminnon. Se on tarpeeksi joustava mahdollistaakseen hajautetun tai yhden solmun koulutuksen tai apuohjelmat, kuten ristiinvalidoinnin. Harjoitteluprosessin ydin löytyy train_job toiminto.
Säiliön pakkausmateriaalit löytyvät osoitteesta GitHub repo. Huomaa, että säiliö rakennetaan kahdessa vaiheessa: a pohja kontti rakennetaan ensin ja sen jälkeen lopullinen astia päällä.
Ratkaisun yleiskatsaus
Voit muokata ja rakentaa säilöä uudelleen lähdekoodin kautta. Tämä edellyttää kuitenkin kaikkien riippuvuuksien ja pakettien keräämistä ja uudelleenrakentamista tyhjästä. Tässä viestissä keskustelemme yksinkertaisemmasta lähestymistavasta, joka muokkaa säilöä suoraan jo rakennetun ja julkisesti saatavilla olevan SageMaker XGBoost -algoritmin säilön kuvan päällä.
Tässä lähestymistavassa me vetää kopio julkisesta SageMaker XGBoost -kuvasta, muokkaa skriptejä tai lisää paketteja ja rakenna kontti uudelleen päälle. Muokattu säilö voidaan tallentaa yksityiseen arkistoon. Näin vältämme väliriippuvuuksien uudelleenrakentamisen ja rakennamme sen sijaan suoraan jo rakennettujen kirjastojen päälle, jotka on pakattu viralliseen konttiin.
Seuraava kuva näyttää yleiskatsauksen komentosarjasta, jota käytetään julkisen peruskuvan hakemiseen, kuvan muokkaamiseen ja uudelleen rakentamiseen sekä sen lataamiseen yksityiseen Amazonin elastisten säiliörekisteri (Amazon ECR) arkisto. The bash-skripti tämän viestin mukana tulevassa koodissa suorittaa kaikki kaaviossa esitetyt työnkulun vaiheet. Mukana oleva muistikirja näyttää esimerkin, jossa SageMaker XGBoost -algoritmin tietyn version URI haetaan ensin ja välitetään bash-skripti, joka korvaa kaksi kuvan Python-komentosarjaa, rakentaa sen uudelleen ja työntää muokatun kuvan yksityiseen Amazon ECR -tietovarastoon. Voit muokata mukana tulevaa koodia tarpeidesi mukaan.
Edellytykset
- GitHub-arkisto sisältää tähän viestiin liittyvän koodin. Voit ajaa muistikirjan näyte AWS-tililläsi tai käytä tarjottua AWS-pilven muodostuminen pino ottaaksesi muistikirjan käyttöön SageMaker-muistikirjan avulla. Tarvitset seuraavat edellytykset:
- AWS-tili.
- Tarvittavat käyttöoikeudet SageMakerin erämuunnos- ja koulutustöiden suorittamiseen sekä Amazon ECR -oikeudet. CloudFormation-malli luo näytteen AWS-henkilöllisyyden ja käyttöoikeuksien hallinta (IAM) roolit.
Ota ratkaisu käyttöön
Voit luoda ratkaisuresurssit AWS CloudFormationin avulla valitsemalla Käynnistä pino:
Pino ottaa käyttöön SageMaker-muistikirjan, joka on valmiiksi määritetty kloonaamaan GitHub-arkisto. Esittely muistikirja sisältää vaiheet, joilla vedetään julkinen SageMaker XGBoost -kuva tietylle versiolle, muokataan sitä ja työnnetään mukautettu säilö yksityiseen Amazon ECR -tietovarastoon. Muistikirja käyttää yleisöä Abalone-tietojoukko esimerkkinä kouluttaa mallin käyttämällä sisäänrakennettua SageMaker XGBoost -harjoitustilaa ja käyttää tätä mallia uudelleen mukautetussa kuvassa erämuunnostöiden suorittamiseen, jotka tuottavat päätelmiä yhdessä SHAP-arvojen kanssa.
Yhteenveto
Sisäänrakennetut SageMaker-algoritmit tarjoavat erilaisia ominaisuuksia ja toimintoja, ja niitä voidaan laajentaa edelleen Apache 2.0 avoimen lähdekoodin lisenssillä. Tässä viestissä tarkastelimme, kuinka SageMaker XGBoost -algoritmin tuotannon sisäänrakennettua säilöä voidaan laajentaa vastaamaan tuotantovaatimuksia, kuten taaksepäin suunnatun koodin ja API-yhteensopivuus.
Mallimuistikirja ja apulainen skriptejä tarjoavat kätevän lähtökohdan mukauttaa SageMaker XGBoost -säiliökuvaa haluamallasi tavalla. Kokeile!
Liite: Käsikirjoitustila
Käsikirjoitustila tarjoaa tavan muokata monia SageMakerin sisäänrakennettuja algoritmeja tarjoamalla käyttöliittymän, joka korvaa syötteiden muuntamisesta ja mallin lataamisesta vastaavat toiminnot. Komentosarjatila ei ole yhtä joustava kuin säilön muokkaaminen suoraan, mutta se tarjoaa täysin Python-pohjaisen reitin mukauttaa sisäänrakennettua algoritmia ilman tarvetta työskennellä suoraan Satamatyöläinen.
Käsikirjoitustilassa a user-module
tarjotaan mukauttamaan tietojen dekoodausta, mallin lataamista ja ennusteiden tekemistä. Käyttäjämoduuli voi määrittää a transformer_fn
joka käsittelee kaikki pyynnön käsittelyn näkökohdat vastauksen valmisteluun. Tai määrittelemisen sijaan transformer_fn
, voit tarjota mukautettuja menetelmiä model_fn
, input_fn
, predict_fn
ja output_fn
yksilöllisesti mukauttaaksesi mallin lataamista ja dekoodausta ja syötteen valmistelua ennustamista varten. Katso tarkempi yleiskatsaus skriptitilasta kohdasta Tuo oma mallisi SageMaker-skriptitilassa.
Tietoja Tekijät
Peyman Razaghi on AWS:n tietotutkija. Hän on koulutukseltaan tohtorintutkinto informaatioteoriassa Toronton yliopistosta ja oli tohtorintutkijana Etelä-Kalifornian yliopistossa (USC), Los Angelesissa. Ennen AWS:ään liittymistään Peyman oli henkilöstön järjestelmäinsinööri Qualcommissa ja osallistui useiden merkittävien kansainvälisten televiestintästandardien kehittämiseen. Hän on kirjoittanut useita tilasto- ja järjestelmäsuunnittelun alalta vertaisarvioituja tieteellisiä tutkimusartikkeleita ja nauttii vanhemmuudesta ja maantiepyöräilystä työn ulkopuolella.
- "
- 100
- pääsy
- majoittaa
- Tili
- kehittynyt
- algoritmi
- algoritmit
- Kaikki
- jo
- Amazon
- api
- lähestymistapa
- ALUE
- artikkelit
- AWS
- rakentaa
- sisäänrakennettu
- Kalifornia
- Valita
- luokka
- pilvi
- pilvipalvelut
- koodi
- Kerääminen
- täysin
- Kontti
- sisältää
- mukavuus
- Mukava
- luo
- asiakassuhde
- tiedot
- tietojen tutkija
- sijoittaa
- lauennut
- eri
- suoraan
- pohtia
- jaettu
- Satamatyöläinen
- insinööri
- ympäristö
- esimerkki
- laajentaa
- Ominaisuudet
- Kuva
- Etunimi
- joustava
- jälkeen
- muoto
- löytyi
- Puitteet
- toiminto
- edelleen
- GitHub
- suuri
- pitää
- Miten
- Miten
- HTTPS
- Identiteetti
- kuva
- tiedot
- panos
- integroitu
- liitäntä
- kansainvälisesti
- IT
- Job
- Työpaikat
- oppiminen
- Lisenssi
- pitkän aikavälin
- Los Angeles
- kone
- koneoppiminen
- TEE
- Tekeminen
- onnistui
- ML
- malli
- mallit
- lisää
- muistikirja
- numero
- virallinen
- offline
- Operations
- Muut
- oma
- Kohta
- Suosittu
- voimakas
- ennustus
- Ennusteet
- yksityinen
- prosessi
- tuottaa
- tuotanto
- toimittaa
- tarjoaa
- tarjoamalla
- julkinen
- tarkoituksiin
- reaaliaikainen
- säilytyspaikka
- pyyntö
- vaatimukset
- tutkimus
- Esittelymateriaalit
- vastaus
- vastuullinen
- Tuotto
- arviot
- Reitti
- ajaa
- Tiedemies
- Palvelut
- palvelevat
- sharding
- Tuotteemme
- ratkaisu
- lähdekoodi
- Eteläinen
- pino
- standardit
- tilasto
- Tuetut
- Tukea
- Tukee
- järjestelmät
- Lähde
- Kautta
- yhdessä
- työkalut
- ylin
- toronto
- koulutus
- junat
- Muuttaa
- muuttamassa
- yliopisto
- käyttää
- lajike
- wikipedia
- Referenssit
- olisi