Koneoppimisen (ML) työnkulkujen ylläpito tuotannossa on haastava tehtävä, koska se vaatii jatkuvan integroinnin ja jatkuvan toimitusprosessin (CI/CD) luomista ML-koodille ja -malleille, mallien versiointia, datan ja konseptien ajautumisen seurantaa, mallien uudelleenkoulutusta ja manuaalia. hyväksyntäprosessin varmistaakseen, että mallin uudet versiot täyttävät sekä suorituskyky- että vaatimustenmukaisuusvaatimukset.
Tässä viestissä kuvataan kuinka luodaan MLOps-työnkulku eräpäätelmille, joka automatisoi töiden ajoituksen, mallin valvonnan, uudelleenkoulutuksen ja rekisteröinnin sekä virheiden käsittelyn ja ilmoittamisen käyttämällä Amazon Sage Maker, Amazon EventBridge, AWS Lambda, Amazonin yksinkertainen ilmoituspalvelu (Amazon SNS), HashiCorp Terraform ja GitLab CI/CD. Esitetty MLOps-työnkulku tarjoaa uudelleen käytettävän mallin ML:n elinkaaren hallintaan automatisoinnin, valvonnan, tarkastettavuuden ja skaalautuvuuden avulla, mikä vähentää eräpäätelmien työkuormien ylläpidon monimutkaisuutta ja kustannuksia tuotannossa.
Ratkaisun yleiskatsaus
Seuraava kuva havainnollistaa ehdotettua kohde-MLOps-arkkitehtuuria yrityksen eräpäätelmien tekemiseen organisaatioille, jotka käyttävät GitLab CI/CD- ja Terraform-infrastruktuuria koodina (IaC) AWS-työkalujen ja -palvelujen yhteydessä. GitLab CI/CD toimii makro-orkesteroijana ja orkestroi model build
ja model deploy
putkistoja, jotka sisältävät hankinnan, rakentamisen ja provisioinnin Amazon SageMaker -putkistot ja tukiresurssit käyttämällä SageMaker Python SDK:ta ja Terraformia. SageMaker Python SDK:ta käytetään SageMaker-putkilinjojen luomiseen tai päivittämiseen koulutusta, hyperparametrien optimointia (HPO) käyttävää koulutusta ja eräpäätelmiä varten. Terraformia käytetään lisäresurssien, kuten EventBridge-sääntöjen, Lambda-funktioiden ja SNS-aiheiden luomiseen SageMaker-putkien valvontaan ja ilmoitusten lähettämiseen (esimerkiksi kun liukuhihnavaihe epäonnistuu tai onnistuu). SageMaker Pipelines toimii ML-mallikoulutuksen ja johtopäätösten työnkulkujen järjestäjänä.
Tämä arkkitehtuurin suunnittelu edustaa usean tilin strategiaa, jossa ML-malleja rakennetaan, koulutetaan ja rekisteröidään keskitettyyn mallirekisteriin datatieteen kehitystilillä (jolla on enemmän ohjaimia kuin tyypillisellä sovelluskehitystilillä). Tämän jälkeen päättelyputket otetaan käyttöön vaiheistus- ja tuotantotileille käyttämällä automaatiota DevOps-työkaluista, kuten GitLab CI/CD. Keskitetty mallirekisteri voidaan valinnaisesti sijoittaa myös jaetuille palveluille. Viitata Toimintamalli parhaita käytäntöjä monen tilin strategiasta ML:ssä.
Seuraavissa alaosissa käsittelemme yksityiskohtaisesti arkkitehtuurin suunnittelun eri puolia.
Infrastruktuuri koodina
IaC tarjoaa tavan hallita IT-infrastruktuuria koneellisesti luettavien tiedostojen avulla, mikä varmistaa tehokkaan versionhallinnan. Tässä viestissä ja siihen liittyvässä koodinäytteessä esittelemme, kuinka sitä käytetään HashiCorp Terraform GitLab CI/CD:llä hallitaksesi AWS-resursseja tehokkaasti. Tämä lähestymistapa korostaa IaC:n keskeistä etua, sillä se tarjoaa läpinäkyvän ja toistettavan prosessin IT-infrastruktuurin hallinnassa.
Mallikoulutus ja uudelleenkoulutus
Tässä suunnittelussa SageMaker-koulutusputki kulkee aikataulun mukaan (EventBridgen kautta) tai Amazonin yksinkertainen tallennuspalvelu (Amazon S3) -tapahtumaliipaisin (esimerkiksi kun liipaisutiedosto tai uusi harjoitusdata, jos kyseessä on yksi harjoitustietoobjekti, sijoitetaan Amazon S3:een) mallin säännöllisesti kalibroimiseksi uusilla tiedoilla. Tämä putki ei tee malliin rakenteellisia tai aineellisia muutoksia, koska se käyttää kiinteitä hyperparametreja, jotka on hyväksytty yritysmallin tarkistusprosessin aikana.
Koulutusputki rekisteröi juuri koulutetun malliversion Amazon SageMaker -mallirekisteri jos malli ylittää ennalta määritellyn mallin suorituskynnyksen (esimerkiksi RMSE regressiolle ja F1-pisteet luokittelulle). Kun mallin uusi versio rekisteröidään mallirekisteriin, se laukaisee ilmoituksen vastaavalle tietotutkijalle Amazon SNS:n kautta. Tietotutkijan on sitten tarkistettava ja manuaalisesti hyväksyttävä mallin uusin versio Amazon SageMaker Studio UI tai API-kutsun kautta käyttämällä AWS-komentoriviliitäntä (AWS CLI) tai AWS SDK Pythonille (Boto3) ennen kuin mallin uutta versiota voidaan käyttää päättelyyn.
SageMaker-koulutusputki ja sitä tukevat resurssit ovat GitLabin luomia model build
liukuhihna, joko manuaalisen GitLab-putken ajon kautta tai automaattisesti, kun koodi yhdistetään main
haara model build
Git arkisto.
Erän päättely
SageMaker-eräpäätelmäliukulinja toimii aikataulun mukaan (EventBridgen kautta) tai myös S3-tapahtumalaukaisimen perusteella. Eräpäätelmäliukuhihna hakee automaattisesti mallin uusimman hyväksytyn version mallirekisteristä ja käyttää sitä johtopäätösten tekemiseen. Eräpäätelmäliukuhihna sisältää vaiheita, joilla tarkistetaan tietojen laatu koulutusliukuhihnan luomaan perusviivaan sekä mallin laatu (mallin suorituskyky), jos perustotuustunnisteet ovat saatavilla.
Jos eräpäätelmäputki havaitsee tietojen laatuongelmia, se ilmoittaa asiasta vastaavalle datatutkijalle Amazon SNS:n kautta. Jos se havaitsee mallin laatuongelmia (esimerkiksi RMSE on suurempi kuin ennalta määritetty kynnys), mallin laaduntarkistuksen liukuhihnavaihe epäonnistuu, mikä puolestaan käynnistää EventBridge-tapahtuman, joka aloittaa koulutuksen HPO-liukuhihnalla.
SageMakerin eräpäätelmäputki ja sitä tukevat resurssit ovat GitLabin luomia model deploy
liukuhihna, joko manuaalisen GitLab-putken ajon kautta tai automaattisesti, kun koodi yhdistetään main
haara model deploy
Git arkisto.
Mallin viritys ja uudelleensäätö
SageMaker-koulutus HPO-liukuhihnalla käynnistyy, kun eräpäätelmäliukuhihnan mallin laaduntarkistusvaihe epäonnistuu. Mallin laadun tarkistus suoritetaan vertaamalla malliennusteita todellisiin perustotuustarroihin. Jos mallin laatumittari (esimerkiksi regression RMSE ja luokituksen F1-pisteet) ei täytä ennalta määritettyä ehtoa, mallin laaduntarkistusvaihe merkitään epäonnistuneeksi. Vastaava datatieteilijä voi tarvittaessa käynnistää SageMaker-koulutuksen HPO-putkilinjalla myös manuaalisesti (SageMaker Studion käyttöliittymässä tai API-kutsulla AWS CLI:n tai SageMaker Python SDK:n avulla). Koska mallin hyperparametrit muuttuvat, vastuullisen datatutkijan on saatava hyväksyntä yrityksen mallin tarkistuslautakunnalta ennen kuin uusi malliversio voidaan hyväksyä mallirekisterissä.
SageMaker-koulutus HPO-putkistolla ja sitä tukevat resurssit ovat GitLabin luomia model build
liukuhihna, joko manuaalisen GitLab-putken ajon kautta tai automaattisesti, kun koodi yhdistetään main
haara model build
Git arkisto.
Mallin seuranta
Tietotilastot ja rajoitusten perusviivat luodaan osana koulutusta ja koulutusta HPO-putkien avulla. Ne tallennetaan Amazon S3:een ja rekisteröidään myös koulutetun mallin kanssa mallirekisteriin, jos malli läpäisee arvioinnin. Ehdotettu arkkitehtuuri eräpäätelmäliukulinjan käytöille Amazon SageMaker -mallimonitori tietojen laadun tarkistamiseen mukautetun käytön aikana Amazon SageMaker -käsittely vaiheet mallin laadun tarkistamiseksi. Tämä suunnittelu erottaa datan ja mallin laaduntarkistukset, mikä puolestaan mahdollistaa vain varoitusilmoituksen lähettämisen, kun havaitaan tietojen ajautuminen; ja käynnistää koulutuksen HPO-putkistolla, kun mallin laaturikkomus havaitaan.
Mallin hyväksyntä
Kun vasta koulutettu malli on rekisteröity mallirekisteriin, vastaava datatieteilijä saa ilmoituksen. Jos malli on koulutettu koulutusputkella (uudelleenkalibrointi uusilla opetustiedoilla, kun hyperparametrit on korjattu), yrityksen mallin tarkistuslautakunnan hyväksyntää ei tarvita. Datatieteilijä voi tarkistaa ja hyväksyä mallin uuden version itsenäisesti. Toisaalta, jos mallia on koulutettu HPO-putkilinjalla (uudelleenviritys hyperparametreja muuttamalla), uuden malliversion on käytävä läpi yrityksen tarkistusprosessi, ennen kuin sitä voidaan käyttää päättelyyn tuotannossa. Kun tarkistusprosessi on valmis, datatieteilijä voi jatkaa ja hyväksyä mallin uuden version mallirekisterissä. Mallipaketin tilan muuttaminen muotoon Approved
laukaisee Lambda-toiminnon EventBridgen kautta, joka puolestaan laukaisee GitLabin model deploy
putki API-kutsun kautta. Tämä päivittää automaattisesti SageMaker-eräpäätelmäliukuhihnan käyttämään mallin viimeisintä hyväksyttyä versiota johtopäätösten tekemiseen.
On kaksi päätapaa hyväksyä tai hylätä uusi malliversio mallirekisterissä: käyttämällä AWS SDK:ta Pythonille (Boto3) tai SageMaker Studion käyttöliittymästä. Oletusarvoisesti sekä koulutusputkisto että koulutus HPO:n kanssa on asetettu ModelApprovalStatus
että PendingManualApproval
. Vastuullinen datatieteilijä voi päivittää mallin hyväksymistilan soittamalla numeroon update_model_package
API Boto3:sta. Viitata Päivitä mallin hyväksymistila saadaksesi lisätietoja mallin hyväksymistilan päivittämisestä SageMaker Studion käyttöliittymän kautta.
Data I/O -suunnittelu
SageMaker on vuorovaikutuksessa suoraan Amazon S3:n kanssa syötteiden lukemiseksi ja yksittäisten vaiheiden tulosteiden tallentamiseksi koulutus- ja päättelyputkissa. Seuraava kaavio havainnollistaa, kuinka erilaiset Python-skriptit, raaka- ja prosessoidut koulutustiedot, raaka- ja prosessoidut päättelytiedot, päättelytulokset ja perustotuustunnisteet (jos saatavilla mallin laadun seurantaan), malliartefaktit, koulutus- ja päätelmien arviointimitat (mallin laadun seuranta), sekä tietojen laadun perusviivat ja rikkomusraportit (tiedon laadun seurantaa varten) voidaan järjestää S3-ämpäriin. Nuolien suunta kaaviossa osoittaa, mitkä tiedostot ovat tuloja tai lähtöjä vastaavista vaiheistaan SageMaker-liukuhihnassa. Nuolet on värikoodattu liukuhihnan askeltyypin mukaan, jotta ne olisivat helpompi lukea. Liukulinja lataa automaattisesti Python-komentosarjat GitLab-arkistosta ja tallentaa kunkin vaiheen tulostiedostot tai malliartefaktit asianmukaiselle S3-polulle.
Tietosuunnittelija vastaa seuraavista asioista:
- Ladataan merkittyjä harjoitustietoja oikealle polulle Amazon S3:ssa. Tähän sisältyy uusien koulutustietojen säännöllinen lisääminen, jotta varmistetaan, että koulutusputkilla ja HPO-putkilla koulutuksella on pääsy viimeisimpiin koulutustietoihin mallien uudelleenkoulutusta ja uudelleensäätöä varten.
- Ladataan syöttödataa päättelyä varten S3-säihön sopivaan polkuun ennen päättelyliukuhihnan suunniteltua ajoa.
- Totuusmerkintöjen lataaminen sopivalle S3-polulle mallin laadun seurantaa varten.
Tietotieteilijä vastaa seuraavista asioista:
- Totuusmerkintöjen valmistelu ja niiden toimittaminen tietotekniikan tiimille lataamista varten Amazon S3:een.
- Koulutuksessa koulutettujen malliversioiden läpivienti HPO-putkilinjalla yrityksen arviointiprosessin läpi ja tarvittavien hyväksyntöjen hankkiminen.
- Uusien koulutettujen malliversioiden manuaalinen hyväksyminen tai hylkääminen mallirekisterissä.
- Päätelmäputken tuotantoportin hyväksyminen ja tuotantoon siirrettävien resurssien tukeminen.
Esimerkkikoodi
Tässä osiossa esittelemme esimerkkikoodin eräpäätelmäoperaatioille yhden tilin asetuksilla seuraavan arkkitehtuurikaavion mukaisesti. Esimerkkikoodi löytyy osoitteesta GitHub-arkisto, ja se voi toimia lähtökohtana eräpäätelmille mallien valvonnassa ja automaattisessa uudelleenkoulutuksessa käyttämällä yrityksissä usein tarvittavia laatuportteja. Esimerkkikoodi eroaa kohdearkkitehtuurista seuraavilla tavoilla:
- Se käyttää yhtä AWS-tiliä ML-mallin rakentamiseen ja käyttöönottoon sekä tukiresursseihin. Viitata AWS-ympäristösi järjestäminen useiden tilien avulla Ohjeita usean tilin määrittämiseen AWS:ssä.
- Se käyttää yhtä GitLab CI/CD -putkea ML-mallin rakentamiseen ja käyttöönottoon sekä tukiresursseihin.
- Kun mallin uusi versio on koulutettu ja hyväksytty, GitLab CI/CD -liukuhihna ei käynnisty automaattisesti, ja vastuullisen datatutkijan on suoritettava se manuaalisesti päivittääkseen SageMakerin eräpäätelmäliukuhihnan mallin uusimmalla hyväksytyllä versiolla.
- Se tukee vain S3-tapahtumapohjaisia laukaisimia SageMaker-koulutus- ja päättelyputkien suorittamiseen.
Edellytykset
Sinulla tulee olla seuraavat edellytykset ennen tämän ratkaisun käyttöönottoa:
- AWS-tili
- SageMaker Studio
- SageMaker-suoritusrooli Amazon S3:n luku-/kirjoitus- ja kirjoitustoiminnolla AWS-avainhallintapalvelu (AWS KMS) salaa/purkaa käyttöoikeudet
- S3-ämpäri tietojen, skriptien ja malliesineiden tallentamiseen
- terraform versio 0.13.5 tai uudempi
- GitLab, jossa on toimiva Docker-runko putkien pyörittämiseen
- AWS CLI
- jq
- avata jnk vetoketju
- Python3 (Python 3.7 tai uudempi) ja seuraavat Python-paketit:
- boto3
- sagemaker
- pandas
- pyyaml
Arkiston rakenne
- GitHub-arkisto sisältää seuraavat hakemistot ja tiedostot:
/code/lambda_function/
– Tämä hakemisto sisältää Python-tiedoston Lambda-funktiolle, joka valmistelee ja lähettää ilmoitusviestejä (Amazon SNS:n kautta) SageMaker-putkien vaihetilan muutoksista./data/
- Tämä hakemisto sisältää raakadatatiedostot (koulutus-, päätelmä- ja perustotuustiedot)/env_files/
– Tämä hakemisto sisältää Terraform-syöttömuuttujien tiedoston/pipeline_scripts/
– Tämä hakemisto sisältää kolme Python-komentosarjaa koulutuksen, päättelyn ja HPO SageMaker -putkien opetuksen luomiseen ja päivittämiseen sekä konfiguraatiotiedostoja kunkin liukuhihnan parametrien määrittämiseksi./scripts/
– Tämä hakemisto sisältää ylimääräisiä Python-komentosarjoja (kuten esikäsittelyä ja arviointia), joihin viitataan HPO-putkien koulutuksessa, päättelyssä ja koulutuksessa..gitlab-ci.yml
– Tämä tiedosto määrittää GitLab CI/CD -putken kokoonpanon/events.tf
– Tämä tiedosto määrittää EventBridge-resurssit/lambda.tf
– Tämä tiedosto määrittää Lambda-ilmoitustoiminnon ja siihen liittyvät AWS-henkilöllisyyden ja käyttöoikeuksien hallinta (IAM) resursseja/main.tf
– Tämä tiedosto määrittää Terraform-tietolähteet ja paikalliset muuttujat/sns.tf
– Tämä tiedosto määrittää Amazon SNS -resurssit/tags.json
– Tämän JSON-tiedoston avulla voit ilmoittaa mukautettuja tunnisteen avainarvopareja ja liittää ne Terraform-resursseihin käyttämällä paikallista muuttujaa/variables.tf
– Tämä tiedosto ilmoittaa kaikki Terraform-muuttujat
Muuttujat ja kokoonpano
Seuraava taulukko näyttää muuttujat, joita käytetään tämän ratkaisun parametrointiin. Viittaavat ./env_files/dev_env.tfvars
tiedostoa saadaksesi lisätietoja.
Nimi | Kuvaus |
bucket_name |
S3-ämpäri, jota käytetään tietojen, komentosarjojen ja malliartefaktien tallentamiseen |
bucket_prefix |
S3-etuliite ML-projektille |
bucket_train_prefix |
S3-etuliite harjoitustiedoille |
bucket_inf_prefix |
S3-etuliite päättelytiedoille |
notification_function_name |
Lambda-funktion nimi, joka valmistelee ja lähettää ilmoitusviestejä SageMaker-putkien vaihetilan muutoksista |
custom_notification_config |
Määritys ilmoitussanoman mukauttamiseen tietyille SageMaker-putkilinjan vaiheille, kun tietty liukuhihnan ajon tila havaitaan |
email_recipient |
Sähköpostiosoiteluettelo SageMaker-putkien vaihetilan muutosilmoitusten vastaanottamista varten |
pipeline_inf |
SageMaker-päätelmäputken nimi |
pipeline_train |
SageMaker-koulutusputken nimi |
pipeline_trainwhpo |
SageMaker-koulutuksen nimi HPO-putkilinjalla |
recreate_pipelines |
Jos asetettu arvoon true , kolme olemassa olevaa SageMaker-putkilinjaa (koulutus, päättely, koulutus HPO:n kanssa) poistetaan ja uusia luodaan, kun GitLab CI/CD ajetaan |
model_package_group_name |
Mallipakettiryhmän nimi |
accuracy_mse_threshold |
MSE:n enimmäisarvo ennen mallin päivityksen vaatimista |
role_arn |
SageMaker-putkilinjan suoritusroolin IAM-rooli ARN |
kms_key |
KMS-avain ARN Amazon S3- ja SageMaker-salaukseen |
subnet_id |
Aliverkon tunnus SageMaker-verkkomääritystä varten |
sg_id |
Suojausryhmän tunnus SageMaker-verkkomääritykseen |
upload_training_data |
Jos asetettu arvoon true , harjoitustiedot ladataan Amazon S3:een, ja tämä lataustoiminto käynnistää harjoitusputken ajon |
upload_inference_data |
Jos asetettu arvoon true , johtopäätöstiedot ladataan Amazon S3:een, ja tämä lataustoiminto käynnistää päättelyputken ajon |
user_id |
SageMaker-käyttäjän työntekijätunnus, joka lisätään tunnisteeksi SageMaker-resursseihin |
Ota ratkaisu käyttöön
Suorita seuraavat vaiheet ottaaksesi ratkaisun käyttöön AWS-tililläsi:
- Kloonaa GitHub-arkisto työhakemistoosi.
- Tarkista ja muokkaa GitLab CI/CD-putkilinjan kokoonpanoa ympäristöösi sopivaksi. Kokoonpano on määritelty kohdassa
./gitlab-ci.yml
tiedosto. - Katso README-tiedosto päivittääksesi yleiset ratkaisumuuttujat
./env_files/dev_env.tfvars
tiedosto. Tämä tiedosto sisältää muuttujia sekä Python-skripteille että Terraform-automaatiolle.- Tarkista muut SageMaker Pipelines -parametrit, jotka on määritetty alla olevissa YAML-tiedostoissa
./batch_scoring_pipeline/pipeline_scripts/
. Tarkista ja päivitä parametrit tarvittaessa.
- Tarkista muut SageMaker Pipelines -parametrit, jotka on määritetty alla olevissa YAML-tiedostoissa
- Tarkista SageMaker-putkilinjan luontikomentosarjat
./pipeline_scripts/
sekä skriptit, joihin he viittaavat./scripts/
kansio. GitHub-repon tarjoamat esimerkkiskriptit perustuvat Abalone-tietojoukko. Jos aiot käyttää toista tietojoukkoa, varmista, että päivität komentosarjat juuri sinun ongelmaasi vastaaviksi. - Laita datatiedostosi tiedostoon
./data/
kansio käyttäen seuraavaa nimeämiskäytäntöä. Jos käytät Abalone-tietojoukkoa yhdessä toimitettujen esimerkkiskriptien kanssa, varmista, että datatiedostot ovat otsikoittomia, harjoitusdata sisältää sekä itsenäiset että kohdemuuttujat alkuperäisen sarakkeiden järjestyksen säilyttäen, päättelydata sisältää vain riippumattomat muuttujat ja perustotuus tiedosto sisältää vain kohdemuuttujan.training-data.csv
inference-data.csv
ground-truth.csv
- Sitouta ja työnnä koodi arkistoon käynnistääksesi GitLab CI/CD -putken ajon (ensimmäinen ajo). Huomaa, että ensimmäinen liukuhihnaajo epäonnistuu
pipeline
vaiheessa, koska ei ole vielä hyväksyttyä malliversiota käytettäväksi päätelmäliukusarjan komentosarjalle. Tarkista vaiheloki ja vahvista uusi SageMaker-liukuhihna nimeltäTrainingPipeline
on luotu onnistuneesti.
-
- Avaa SageMaker Studion käyttöliittymä, tarkista ja suorita koulutusputki.
- Kun koulutus on suoritettu onnistuneesti, hyväksy rekisteröity malliversio mallirekisterissä ja suorita sitten koko GitLab CI/CD -putki uudelleen.
- Tarkista Terraform-suunnitelman tulos
build
vaiheessa. Hyväksy käyttöohjeapply
vaihe GitLab CI/CD -putkessa jatkaaksesi prosessia ja valtuuta Terraform luomaan valvonta- ja ilmoitusresurssit AWS-tilillesi. - Tarkista lopuksi SageMaker-putkien ajon tila ja tulos SageMaker Studion käyttöliittymässä ja tarkista sähköpostistasi ilmoitusviestit seuraavan kuvakaappauksen mukaisesti. Viestin oletusrunko on JSON-muodossa.
SageMaker-putkistot
Tässä osiossa kuvataan kolme SageMaker-liukuhihnaa MLOps-työnkulussa.
Koulutusputki
Koulutusputkisto koostuu seuraavista vaiheista:
- Esikäsittelyvaihe, mukaan lukien ominaisuuksien muunnos ja koodaus
- Tietojen laadun tarkistusvaihe datatilastojen ja rajoitusten perustason luomiseksi harjoitustietoja käyttämällä
- Harjoitteluvaihe
- Koulutuksen arviointivaihe
- Ehtovaihe tarkistaaksesi, täyttääkö koulutettu malli ennalta määritetyn suorituskynnyksen
- Mallin rekisteröintivaihe juuri koulutetun mallin rekisteröimiseksi mallirekisteriin, jos koulutettu malli täyttää vaaditun suorituskynnyksen
Sekä skip_check_data_quality
ja register_new_baseline_data_quality
parametrit on asetettu True
koulutusputkessa. Nämä parametrit ohjaavat liukuhihnaa ohittamaan tietojen laaduntarkistuksen ja luomaan ja rekisteröimään vain uusia tietotilastoja tai rajoitusten perusarvoja opetusdatan avulla. Seuraava kuva esittää koulutusputken onnistuneen ajon.
Eräpäättelyputki
Eräpäättelyputki koostuu seuraavista vaiheista:
- Mallin luominen mallirekisterin viimeisimmästä hyväksytystä malliversiosta
- Esikäsittelyvaihe, mukaan lukien ominaisuuksien muunnos ja koodaus
- Eräpäättelyvaihe
- Tiedon laadun tarkistuksen esikäsittelyvaihe, jossa luodaan uusi CSV-tiedosto, joka sisältää sekä syöttötiedot että malliennusteet käytettäväksi tiedon laadun tarkistuksessa
- Tietojen laadun tarkistusvaihe, joka tarkistaa syöttötiedot perustilastoihin ja rekisteröityyn malliin liittyviin rajoituksiin verrattuna
- Ehtovaihe tarkistaaksesi, onko perustotuusdataa saatavilla. Jos pohjatotuusdataa on saatavilla, mallin laaduntarkistusvaihe suoritetaan
- Mallin laadun laskentavaihe, joka laskee mallin suorituskyvyn perustotuusmerkintöjen perusteella
Sekä skip_check_data_quality
ja register_new_baseline_data_quality
parametrit on asetettu False
päättelyputkessa. Nämä parametrit ohjeistavat putkistoa suorittamaan tietojen laadun tarkistuksen käyttämällä rekisteröityyn malliin liittyviä datatilastoja tai rajoituksia (supplied_baseline_statistics_data_quality
ja supplied_baseline_constraints_data_quality
) ja ohita uusien tietotilastojen ja rajoitusten luonti tai rekisteröinti päättelyn aikana. Seuraava kuva havainnollistaa eräpäätelmäliukuhihnan ajon, jossa tietojen laaduntarkistusvaihe on epäonnistunut mallin heikon suorituskyvyn vuoksi päättelytiedoissa. Tässä nimenomaisessa tapauksessa HPO-putkilinjan koulutus käynnistyy automaattisesti mallin hienosäätöä varten.
Koulutus HPO-putkilinjalla
HPO-putkilinjan koulutus koostuu seuraavista vaiheista:
- Esikäsittelyvaihe (ominaisuuksien muunnos ja koodaus)
- Tietojen laadun tarkistusvaihe datatilastojen ja rajoitusten perustason luomiseksi harjoitustietoja käyttämällä
- Hyperparametrin viritysvaihe
- Koulutuksen arviointivaihe
- Ehtovaihe sen tarkistamiseksi, täyttääkö koulutettu malli ennalta määritellyn tarkkuuskynnyksen
- Mallin rekisteröintivaihe, jos parhaiten koulutettu malli täyttää vaaditun tarkkuuskynnyksen
Sekä skip_check_data_quality
ja register_new_baseline_data_quality
parametrit on asetettu True
koulutuksessa HPO-putken kanssa. Seuraava kuva esittää onnistuneen koulutuksen HPO-putkilinjan avulla.
Puhdistaa
Suorita seuraavat vaiheet puhdistaaksesi resurssit:
- Työllistää
destroy
vaihe GitLab CI/CD -putkessa poistaaksesi kaikki Terraformin tarjoamat resurssit. - Käytä AWS CLI:tä lista ja poistaa kaikki jäljellä olevat Python-skriptien luomat liukuhihnat.
- Vaihtoehtoisesti voit poistaa muita AWS-resursseja, kuten S3-säilöä tai IAM-roolia, jotka on luotu CI/CD-liukuhihnan ulkopuolella.
Yhteenveto
Tässä viestissä osoitimme, kuinka yritykset voivat luoda MLOps-työnkulkuja eräpäätelmätöilleen käyttämällä Amazon SageMakeria, Amazon EventBridgeä, AWS Lambdaa, Amazon SNS:ää, HashiCorp Terraformia ja GitLab CI/CD:tä. Esitetty työnkulku automatisoi tietojen ja mallien seurannan, mallien uudelleenkoulutuksen sekä erätyöajon, koodin versioinnin ja infrastruktuurin provisioinnin. Tämä voi vähentää huomattavasti monimutkaisuutta ja vähentää eräpäättelytöiden ylläpidon kustannuksia tuotannossa. Lisätietoja toteutustiedoista on kohdassa GitHub repo.
Tietoja Tekijät
Hasan Shojaei on vanhempi datatutkija AWS Professional Services -palvelussa, jossa hän auttaa asiakkaita eri toimialoilla, kuten urheilussa, vakuutus- ja rahoituspalveluissa, ratkaisemaan liiketoiminnan haasteita käyttämällä big dataa, koneoppimista ja pilvitekniikoita. Ennen tätä roolia Hasan johti useita aloitteita kehittääkseen uusia fysiikkaan perustuvia ja tietopohjaisia mallinnustekniikoita parhaille energiayhtiöille. Työn ulkopuolella Hasan on intohimoinen kirjoihin, retkeilyyn, valokuvaamiseen ja historiaan.
Wenxin Liu on Sr. Cloud Infrastructure Architect. Wenxin neuvoo yritysyrityksiä pilvipalveluiden käyttöönoton nopeuttamisessa ja tukee niiden innovaatioita pilvessä. Hän on lemmikkieläinten ystävä ja on intohimoinen lumilautailuun ja matkustamiseen.
Vivek Lakshmanan on koneoppimisinsinööri Amazonissa. Hän on koulutukseltaan ohjelmistotekniikan maisterin tutkinto tietotekniikan erikoistuneena ja usean vuoden kokemus MLE:stä. Vivek on innoissaan uusimpien teknologioiden soveltamisesta ja AI/ML-ratkaisujen rakentamisesta asiakkaille pilvessä. Hän on intohimoinen tilastoista, NLP:stä ja mallin selittävyydestä AI/ML:ssä. Vapaa-ajallaan hän pelaa krikettiä ja tekee retkiä.
Andy Cracchiolo on pilviinfrastruktuurin arkkitehti. Yli 15 vuotta IT-infrastruktuurin parissa Andy on taitava ja tuloshakuinen IT-ammattilainen. IT-infrastruktuurin, toimintojen ja automaation optimoinnin lisäksi Andylla on todistetusti kokemusta IT-toimintojen analysoinnista, epäjohdonmukaisuuksien tunnistamisesta ja prosessien parannuksista, jotka lisäävät tehokkuutta, alentavat kustannuksia ja lisäävät voittoja.
- 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. Autot / sähköautot, hiili, CleanTech, energia, ympäristö, Aurinko, Jätehuolto. Pääsy tästä.
- PlatonHealth. Biotekniikan ja kliinisten kokeiden älykkyys. Pääsy tästä.
- ChartPrime. Nosta kaupankäyntipeliäsi ChartPrimen avulla. Pääsy tästä.
- BlockOffsets. Ympäristövastuun omistuksen nykyaikaistaminen. Pääsy tästä.
- Lähde: https://aws.amazon.com/blogs/machine-learning/mlops-for-batch-inference-with-model-monitoring-and-retraining-using-amazon-sagemaker-hashicorp-terraform-and-gitlab-ci-cd/
- :on
- :On
- :ei
- :missä
- $ YLÖS
- 100
- 125
- 13
- 15 vuotta
- 15%
- 26%
- 29
- 500
- 7
- a
- Meistä
- kiihdyttää
- pääsy
- Suoritetut
- Tili
- Tilit
- tarkkuus
- poikki
- todellinen
- lisä-
- lisää
- Lisäksi
- lisä-
- osoite
- Hyväksyminen
- vastaan
- AI / ML
- Kaikki
- mahdollistaa
- pitkin
- Myös
- Amazon
- Amazon Sage Maker
- Amazon Web Services
- an
- analysointi
- ja
- ja infrastruktuuri
- Kaikki
- api
- Hakemus
- Application Development
- Hakeminen
- lähestymistapa
- sopiva
- hyväksyminen
- hyväksynnät
- hyväksyä
- hyväksytty
- arkkitehtuuri
- OVAT
- AS
- näkökohdat
- liittyvä
- At
- tarkastettavissa
- valtuuttaa
- auto
- automaatti
- automaattisesti
- automaattisesti
- Automaatio
- saatavissa
- AWS
- AWS Lambda
- AWS-asiantuntijapalvelut
- perustua
- Lähtötilanne
- BE
- koska
- ollut
- ennen
- hyödyttää
- PARAS
- parhaat käytännöt
- Iso
- Big Data
- hallitus
- elin
- Kirjat
- sekä
- Sivuliike
- Rakentaminen
- rakennettu
- liiketoiminta
- by
- laskee
- laskeminen
- soittaa
- soittamalla
- CAN
- tapaus
- keskeinen
- haasteet
- haastava
- muuttaa
- Muutokset
- muuttuviin
- tarkastaa
- tarkkailun
- Tarkastukset
- luokittelu
- pilvi
- pilvien hyväksyminen
- pilvi infrastruktuuri
- koodi
- Pylväät
- Yritykset
- vertaamalla
- täydellinen
- monimutkaisuus
- noudattaminen
- kokoonpanossa
- käsite
- Konfigurointi
- yhdessä
- rajoitteet
- sisältää
- jatkuva
- ohjaus
- valvonta
- Sopimus
- kustannukset
- voisi
- luoda
- luotu
- luo
- Luominen
- luominen
- kriketti
- asiakassuhde
- Asiakkaat
- leikkaamisreuna
- tiedot
- tietojenkäsittely
- tietojen tutkija
- data-driven
- julistaa
- oletusarvo
- määritelty
- määrittelee
- Aste
- toimitus
- osoittaa
- osoittivat
- sijoittaa
- käyttöön
- levityspinnalta
- kuvata
- Malli
- yksityiskohta
- yksityiskohdat
- havaittu
- kehittää
- Kehitys
- eri
- suunta
- suoraan
- hakemistot
- huomaa
- pohtia
- Satamatyöläinen
- ei
- ei
- kaksi
- aikana
- kukin
- helpompaa
- tehokkaasti
- tehokkuus
- tehokas
- myöskään
- poistaa
- Työntekijä
- energia
- insinööri
- Tekniikka
- parannuksia
- varmistaa
- varmistamalla
- yritys
- yrityksille
- Koko
- ympäristö
- virhe
- arviointi
- tapahtuma
- esimerkki
- ylittää
- innoissaan
- teloitus
- olemassa
- experience
- f1
- FAIL
- Epäonnistui
- epäonnistuu
- Ominaisuus
- Kuva
- filee
- Asiakirjat
- taloudellinen
- rahoituspalvelut
- Etunimi
- kiinteä
- jälkeen
- varten
- muoto
- löytyi
- alkaen
- toiminto
- tehtävät
- Gates
- general
- syntyy
- tuottaa
- mennä
- GitHub
- Go
- menee
- suurempi
- Maa
- Ryhmä
- ohjaus
- käsi
- Käsittely
- Olla
- he
- auttaa
- hänen
- historia
- Miten
- Miten
- HTML
- http
- HTTPS
- Hyperparametrien optimointi
- ID
- tunnistaminen
- Identiteetti
- if
- havainnollistaa
- täytäntöönpano
- täytäntöönpanosta
- in
- sisältää
- sisältää
- Mukaan lukien
- Kasvaa
- itsenäinen
- itsenäisesti
- ilmaisee
- henkilökohtainen
- teollisuuden
- tiedot
- Infrastruktuuri
- aloitteita
- innovaatiot
- panos
- tuloa
- vakuutus
- integraatio
- vuorovaikutuksessa
- tulee
- esitellä
- kysymykset
- IT
- SEN
- Job
- Työpaikat
- jpg
- json
- vain
- avain
- tarrat
- uusin
- johtaa
- oppiminen
- Led
- elinkaari
- linja
- Lista
- paikallinen
- log
- kone
- koneoppiminen
- tärkein
- ylläpitäminen
- tehdä
- hoitaa
- johto
- toimitusjohtaja
- manuaalinen
- käsin
- merkitty
- maisterin
- materiaali
- Tavata
- Meets
- viesti
- viestien
- metrinen
- Metrics
- ML
- MLOps
- malli
- mallintaminen
- mallit
- muokata
- seuranta
- lisää
- moninkertainen
- nimetty
- nimeäminen
- välttämätön
- Tarve
- tarvitaan
- tarpeet
- verkostoituminen
- Uusi
- hiljattain
- NLP
- Nro
- ilmoituksen
- ilmoitukset
- romaani
- objekti
- saada
- saada
- of
- tarjoamalla
- Tarjoukset
- usein
- on
- yhdet
- vain
- toiminta
- Operations
- optimointi
- optimoimalla
- or
- tilata
- organisaatioiden
- Järjestetty
- alkuperäinen
- Muut
- ulostulo
- ulkopuolella
- paketti
- paketit
- paria
- parametrit
- osa
- erityinen
- kulkee
- intohimoinen
- polku
- Suorittaa
- suorituskyky
- suoritettu
- valokuvaus
- putki
- suunnitelma
- suunnitteilla
- Platon
- Platonin tietotieto
- PlatonData
- pelaa
- Kohta
- kehno
- Kirje
- käytännöt
- Ennusteet
- valmistelee
- edellytyksiä
- esittää
- esitetty
- Aikaisempi
- Ongelma
- jatkaa
- prosessi
- Käsitelty
- tuotanto
- ammatillinen
- voitot
- Ylennetty
- ehdotettu
- todistettu
- mikäli
- tarjoaa
- tarjoamalla
- Vetää
- Työnnä
- Python
- laatu
- raaka
- Lue
- Lukeminen
- vastaanottaa
- vastaanottava
- äskettäinen
- ennätys
- vähentää
- vähentämällä
- suhteen
- ilmoittautua
- kirjattu
- rekisteröitymättä
- rekisterit
- Rekisteröinti
- rekisterin
- säännöllisesti
- jäljellä oleva
- toistettavissa
- Raportit
- säilytyspaikka
- edustaa
- tarvitaan
- vaatimukset
- Vaatii
- Esittelymateriaalit
- ne
- vastaavasti
- vastuullinen
- tulokset
- jatkaa
- uudelleen käytettävä
- arviot
- tie
- Rooli
- säännöt
- ajaa
- juoksija
- juoksu
- toimii
- sagemaker
- SageMaker-johtopäätös
- SageMaker-putkistot
- skaalautuvuus
- aikataulu
- aikataulutus
- tiede
- Tiedemies
- pisteet
- skriptejä
- sdk
- Osa
- lähettää
- lähettäminen
- lähettää
- palvella
- palvelee
- Palvelut
- setti
- setup
- useat
- yhteinen
- shouldnt
- esitetty
- Näytä
- merkittävä
- Yksinkertainen
- single
- Tuotteemme
- ohjelmistotuotanto
- ratkaisu
- Ratkaisumme
- SOLVE
- Lähteet
- Sourcing
- erityinen
- määritelty
- Urheilu
- Vaihe
- näyttämöllepano
- Alkaa
- Aloita
- Osavaltio
- tilasto
- Tila
- Vaihe
- Askeleet
- Levytila
- verkkokaupasta
- tallentamiseksi
- Strategia
- rakenteellinen
- studio
- onnistunut
- Onnistuneesti
- niin
- Puku
- Tukea
- Tukee
- taulukko
- TAG
- ottaen
- Kohde
- Tehtävä
- joukkue-
- tekniikat
- Technologies
- sapluuna
- terraform
- kuin
- että
- -
- heidän
- Niitä
- sitten
- Siellä.
- siten
- Nämä
- ne
- tätä
- kolmella
- kynnys
- Kautta
- aika
- että
- työkalut
- ylin
- Aiheet
- raita
- rataennätys
- koulutettu
- koulutus
- Muutos
- läpinäkyvä
- Matkustaminen
- laukaista
- laukeaa
- Totuus
- VUORO
- kaksi
- tyyppi
- tyypillinen
- ui
- varten
- alaviivojen
- Päivitykset
- päivittäminen
- ladattu
- Ladataan
- käyttää
- käytetty
- käyttäjä
- käyttötarkoituksiin
- käyttämällä
- käyttää
- hyödynnetty
- arvo
- muuttuja
- todentaa
- versio
- versiot
- kautta
- RIKKOMINEN
- varoitus
- Tapa..
- tavalla
- we
- verkko
- verkkopalvelut
- HYVIN
- kun
- onko
- joka
- vaikka
- KUKA
- tulee
- with
- sisällä
- Referenssit
- työnkulku
- työnkulkuja
- työskentely
- yaml
- vuotta
- vielä
- Voit
- Sinun
- zephyrnet