Ota käyttöön ja hallitse koneoppimisputkia Terraformin avulla Amazon SageMaker PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.

Ota käyttöön ja hallitse koneoppimisputkia Terraformin avulla Amazon SageMakerin avulla

AWS-asiakkaat luottavat Infrastructure as Code (IaC) -palveluun pilviinfrastruktuurinsa suunnittelussa, kehittämisessä ja hallinnassa. IaC varmistaa, että asiakkaiden infrastruktuuri ja palvelut ovat johdonmukaisia, skaalautuvia ja toistettavia, samalla kun se pystyy noudattamaan kehitystoiminnan (DevOps) parhaita käytäntöjä.

Yksi mahdollinen tapa hallita AWS-infrastruktuuria ja -palveluita IaC:n avulla on terraform, jonka avulla kehittäjät voivat järjestää infrastruktuurinsa uudelleenkäytettäviin koodimoduuleihin. Tämän näkökohdan merkitys kasvaa yhä enemmän koneoppimisen (ML) alalla. ML-putkilinjojen kehittäminen ja hallinta, mukaan lukien koulutus ja päättely Terraformilla IaC:nä, mahdollistaa helpon skaalauksen useisiin ML-käyttötapauksiin tai alueisiin ilman, että infrastruktuuria tarvitsee kehittää tyhjästä. Lisäksi se tarjoaa johdonmukaisuuden infrastruktuurille (esimerkiksi ilmentymän tyyppi ja koko) koulutusta ja päätelmiä varten ML-putkilinjan eri toteutuksissa. Tämän avulla voit reitittää pyynnöt ja saapuvan liikenteen eri kohteisiin Amazon Sage Maker päätepisteitä.

Tässä viestissä näytämme, kuinka voit ottaa käyttöön ja hallita ML-putkia Terraformin ja Amazon SageMakerin avulla.

Ratkaisun yleiskatsaus

Tämä viesti sisältää koodin ja opastaa sinut vaiheiden läpi, jotka ovat tarpeen AWS-infrastruktuurin käyttöönottamiseksi ML-putkissa Terraformin kanssa mallin koulutukseen ja päättelemiseen Amazon SageMakerin avulla. ML-putkia hallitaan kautta AWS-vaihetoiminnot organisoida ML-liukuhihnassa toteutetut eri vaiheet seuraavan kuvan mukaisesti.

Vaihetoiminto Vaiheet

Step Functions alkaa AWS Lambda toiminto, joka luo yksilöllisen työtunnuksen, jota käytetään sitten aloitettaessa SageMaker-koulutustyötä. Step Functions luo myös mallin, päätepisteen kokoonpanon ja päätepisteen, jota käytetään päättelyyn. Lisäresursseja ovat seuraavat:

ML-aiheinen koodi Docker-kuvan harjoitteluun ja päättelyyn perustuu pääasiassa olemassa olevaan työhön seuraavassa GitHub-arkisto.

Seuraava kaavio havainnollistaa ratkaisun arkkitehtuuria:

Arkkitehtuurikaavio

Opastamme sinut seuraavien korkean tason vaiheiden läpi:

  1. Ota AWS-infrastruktuurisi käyttöön Terraformin avulla.
  2. Työnnä Docker-kuvasi Amazon ECR:ään.
  3. Suorita ML-putki.
  4. Kutsu päätepisteesi.

Arkiston rakenne

Löydät arkiston, joka sisältää tähän viestiin käytetyn koodin ja tiedot, seuraavasta GitHub-arkisto.

Arkisto sisältää seuraavat hakemistot:

  • /terraform – Koostuu seuraavista alikansioista:
    • ./infrastructure – Sisältää main.tf-tiedoston, joka kutsuu ML-putkimoduulia, sekä muuttujamääritykset, joita käytämme infrastruktuurin käyttöönotossa
    • ./ml-pipeline-module – Sisältää Terraform ML -putkimoduulin, jota voimme käyttää uudelleen
  • /src – Koostuu seuraavista alikansioista:
    • ./container – Sisältää esimerkkikoodin koulutukseen ja Docker-kuvan määritelmien päättelyyn
    • ./lambda_function – Sisältää Python-koodin Lambda-funktion luomista varten, kuten yksilöllisen työtunnuksen SageMaker-harjoitustyölle
  • /data – Sisältää seuraavan tiedoston:
    • ./iris.csv – Sisältää tietoja ML-mallin harjoittelua varten

Edellytykset

Tätä kävelyä varten sinulla tulisi olla seuraavat edellytykset:

Ota AWS-infrastruktuurisi käyttöön Terraformin avulla

ML-liukuhihnan käyttöönottoa varten sinun on säädettävä muutama muuttuja ja nimi tarpeidesi mukaan. Tämän vaiheen koodi on kohdassa /terraform hakemistoon.

Kun alustat ensimmäistä kertaa, avaa tiedosto terraform/infrastructure/terraform.tfvars ja säädä muuttuja projektin nimi projektisi nimeen muuttujan lisäksi alue jos haluat ottaa käyttöön toisella alueella. Voit myös muuttaa lisämuuttujia, kuten ilmentymätyyppejä harjoittelua ja päätelmiä varten.

Käytä sitten seuraavia komentoja infrastruktuurin käyttöönottamiseksi Terraformin kanssa:

export AWS_PROFILE=<your_aws_cli_profile_name>
cd terraform/infrastructure
terraform init
terraform plan
terraform apply

Tarkista tulos ja varmista, että suunnitellut resurssit näkyvät oikein, ja vahvista hakuvaiheessa Kyllä, jos kaikki on oikein. Siirry sitten Amazon ECR -konsoliin (tai tarkista Terraformin lähtö terminaalista) ja hanki Terraformin kautta luomasi ECR-arkiston URL-osoite.

Tulosteen tulee näyttää samanlaiselta kuin seuraava näytettävä tulos, mukaan lukien ECR-arkiston URL-osoite:

Apply complete! Resources: 19 added, 0 changed, 0 destroyed. Outputs: ecr_repository_url = <account_number>.dkr.ecr.eu-west-1.amazonaws.com/ml-pipeline-terraform-demo

Työnnä Docker-kuvasi Amazon ECR:ään

Jotta ML-putki ja SageMaker voivat kouluttaa ja muodostaa SageMaker-päätepisteen päätelmiä varten, sinun on annettava Docker-kuva ja tallennettava se Amazon ECR:ään. Löydät esimerkin hakemistosta src/container. Jos olet jo käyttänyt AWS-infrastruktuuria edellisestä vaiheesta, voit työntää Docker-kuvan kuvatulla tavalla. Kun Docker-kuvasi on kehitetty, voit tehdä seuraavat toimet ja lähettää sen Amazon ECR:lle (säädä Amazon ECR -URL-osoite tarpeidesi mukaan):

cd src/container
export AWS_PROFILE=<your_aws_cli_profile_name>
aws ecr get-login-password --region eu-west-1 | docker login --username AWS --password-stdin <account_number>.dkr.ecr.eu-west-1.amazonaws.com
docker build -t ml-training .
docker tag ml-training:latest <account_number>.dkr.ecr.eu-west-1.amazonaws.com/<ecr_repository_name>:latest
docker push <account_number>.dkr.ecr.eu-west-1.amazonaws.com/<ecr_repository_name>

Jos olet jo ottanut AWS-infrastruktuurin käyttöön Terraformin kanssa, voit siirtää koodisi ja Docker-kuvasi muutokset suoraan Amazon ECR:ään ilman, että otat niitä uudelleen käyttöön Terraformin kautta.

Suorita ML-putki

Harjoittele ja aja ML-putkilinjaa siirtymällä Step Functions -konsoliin ja aloittamalla toteutus. Voit tarkistaa tilakoneen visualisoinnin kunkin vaiheen edistymisen. Voit myös tarkistaa SageMaker-koulutustyön edistymisen ja SageMaker-päätepisteesi tilan.

Aloita vaihetoiminto

Kun olet suorittanut tilakoneen onnistuneesti Step Functionsissa, voit nähdä, että SageMaker-päätepiste on luotu. Valitse SageMaker-konsolissa Päättely sitten navigointiruudussa Endpoints. Muista odottaa, että tila muuttuu InServiceksi.

SageMakerin päätepisteen tila

Kutsu päätepisteesi

Voit kutsua päätepisteesi (tässä esimerkissä iiris-tietojoukolle) käyttämällä seuraavaa Python-komentosarjaa AWS SDK Pythonille (Boto3). Voit tehdä tämän SageMaker-muistikirjasta tai upottaa seuraavan koodinpätkän Lambda-funktioon:

import boto3
from io import StringIO
import pandas as pd client = boto3.client('sagemaker-runtime') endpoint_name = 'Your endpoint name' # Your endpoint name.
content_type = "text/csv"   # The MIME type of the input data in the request body. payload = pd.DataFrame([[1.5,0.2,4.4,2.6]])
csv_file = StringIO()
payload.to_csv(csv_file, sep=",", header=False, index=False)
payload_as_csv = csv_file.getvalue() response = client.invoke_endpoint(
EndpointName=endpoint_name,
ContentType=content_type,
Body=payload_as_csv
) label = response['Body'].read().decode('utf-8')
print(label)

Puhdistaa

Voit tuhota Terraformin luoman infrastruktuurin komennolla terraform tuho, mutta sinun on ensin poistettava S3-ämpärien tiedot ja tiedostot. Lisäksi SageMaker-päätepiste (tai useita SageMaker-päätepisteitä, jos se ajetaan useita kertoja) luodaan Step Functionsin kautta, eikä sitä hallita Terraformin kautta. Tämä tarkoittaa, että käyttöönotto tapahtuu, kun ML-liukuhihnaa suoritetaan Step Functions -toiminnoilla. Varmista siksi, että poistat myös Step Functions ML -liukuhihnan kautta luodut SageMaker-päätepisteet välttääksesi tarpeettomat kustannukset. Suorita seuraavat vaiheet:

  1. Poista Amazon S3 -konsolissa oleva tietojoukko S3-harjoitusalueesta.
  2. Poista kaikki mallit, joita olet kouluttanut ML-putkilinjan kautta S3-mallit-alustasta joko Amazon S3 -konsolin tai AWS CLI:n kautta.
  3. Tuhoa Terraformin kautta luotu infrastruktuuri:
    cd terraform/infrastructure
    terraform destroy

  4. Poista SageMaker-päätepisteet, päätepistemääritykset ja vaihefunktioilla luodut mallit joko SageMaker-konsolissa tai AWS-CLI:n kautta.

Yhteenveto

Onnittelut! Olet ottanut käyttöön ML-putkilinjan SageMakerilla ja Terraformilla. Tämä esimerkkiratkaisu näyttää, kuinka voit helposti ottaa käyttöön AWS-infrastruktuurin ja -palvelut ML-putkistoja varten uudelleen käytettävällä tavalla. Tämän avulla voit skaalata useita käyttötapauksia tai alueita ja mahdollistaa ML-mallien koulutuksen ja käyttöönoton yhdellä napsautuksella johdonmukaisella tavalla. Lisäksi voit ajaa ML-liukuhihnan useita kertoja, esimerkiksi kun uutta tietoa on saatavilla tai haluat muuttaa algoritmikoodia. Voit myös reitittää pyynnöt tai liikenteen eri SageMaker-päätepisteisiin.

Kehotan sinua tutkimaan tietoturvaominaisuuksien lisäämistä ja ottamaan käyttöön parhaita tietoturvakäytäntöjä tarpeidesi ja mahdollisten yritysstandardien mukaan. Lisäksi tämän ratkaisun upottaminen CI/CD-putkiin antaa sinulle lisävalmiuksia ottaa käyttöön ja luoda DevOpsin parhaita käytäntöjä ja standardeja tarpeidesi mukaan.


kirjailijasta

Ota käyttöön ja hallitse koneoppimisputkia Terraformin avulla Amazon SageMaker PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.Oliver Zollikofer on datatutkija Amazon Web Services -palvelussa. Hän antaa globaaleille yritysasiakkaille mahdollisuuden rakentaa, kouluttaa ja ottaa käyttöön koneoppimismalleja sekä hallita ML-mallien elinkaarta MLOps-ohjelmien avulla. Lisäksi hän rakentaa ja arkkitehdit niihin liittyviä pilviratkaisuja.

Aikaleima:

Lisää aiheesta AWS-koneoppiminen