Rakendage ja hallake masinõppe torujuhtmeid Terraformiga, kasutades Amazon SageMaker PlatoBlockchain Data Intelligence'i. Vertikaalne otsing. Ai.

Rakendage ja hallake masinõppe torujuhtmeid Terraformiga, kasutades Amazon SageMakerit

AWS-i kliendid toetuvad oma pilvetaristu kavandamisel, arendamisel ja haldamisel infrastruktuurile kui koodile (IaC). IaC tagab, et klientide infrastruktuur ja teenused on järjepidevad, skaleeritavad ja reprodutseeritavad, järgides samal ajal arendustegevuse (DevOps) valdkonna parimaid tavasid.

Üks võimalik lähenemisviis AWS-i infrastruktuuri ja teenuste haldamiseks IaC-ga on Terraform, mis võimaldab arendajatel korraldada oma infrastruktuuri korduvkasutatavates koodimoodulites. See aspekt muutub masinõppe (ML) valdkonnas üha olulisemaks. ML-i torujuhtmete arendamine ja haldamine, sealhulgas Terraformi kui IaC-ga treenimine ja järelduste tegemine, võimaldab teil hõlpsasti skaleerida mitme ML-i kasutusjuhtumi või piirkonna jaoks, ilma et peaksite infrastruktuuri nullist arendama. Lisaks tagab see infrastruktuuri järjepidevuse (nt eksemplari tüüp ja suurus) koolituse ja järelduste tegemiseks ML-konveieri erinevates rakendustes. See võimaldab teil suunata päringuid ja sissetulevat liiklust erinevatele Amazon SageMaker lõpp-punktid.

Selles postituses näitame teile, kuidas juurutada ja hallata ML-i torujuhtmeid Terraformi ja Amazon SageMakeri abil.

Lahenduse ülevaade

See postitus sisaldab koodi ja juhatab teid läbi sammud, mis on vajalikud AWS-i infrastruktuuri juurutamiseks ML-i torujuhtmete jaoks koos Terraformiga mudelikoolituse ja Amazon SageMakeri abil järelduste tegemiseks. ML-i torujuhet hallatakse AWS-i astmefunktsioonid ML-konveieris rakendatud erinevate etappide korraldamiseks, nagu on näidatud järgmisel joonisel.

Samm Funktsioon Sammud

Step Functions käivitub AWS Lambda funktsioon, genereerides kordumatu töö ID, mida seejärel kasutatakse SageMakeri koolitustöö alustamisel. Step Functions loob ka mudeli, lõpp-punkti konfiguratsiooni ja järelduste tegemiseks kasutatava lõpp-punkti. Täiendavad ressursid hõlmavad järgmist.

ML-iga seotud kood Dockeri kujutisega treenimiseks ja järelduste tegemiseks tugineb peamiselt olemasolevale tööle GitHubi hoidla.

Järgmine diagramm illustreerib lahenduse arhitektuuri:

Arhitektuuriskeem

Juhendame teid läbi järgmiste kõrgetasemeliste sammude:

  1. Rakendage oma AWS-i infrastruktuur Terraformiga.
  2. Lükake oma Dockeri pilt Amazon ECR-i.
  3. Käivitage ML-konveier.
  4. Kutsuge esile oma lõpp-punkt.

Hoidla struktuur

Selle postituse jaoks kasutatud koodi ja andmeid sisaldava hoidla leiate järgmisest GitHubi hoidla.

Hoidla sisaldab järgmisi katalooge:

  • /terraform – Koosneb järgmistest alamkaustadest:
    • ./infrastructure – Sisaldab faili main.tf, mis kutsub ML-konveieri moodulit, lisaks muutujate deklaratsioonidele, mida kasutame infrastruktuuri juurutamiseks
    • ./ml-pipeline-module – Sisaldab Terraform ML torujuhtme moodulit, mida saame taaskasutada
  • /src – Koosneb järgmistest alamkaustadest:
    • ./container – Sisaldab Dockeri kujutise definitsioonide õpetamise ja järelduste näidiskoodi
    • ./lambda_function – Sisaldab Pythoni koodi lambda funktsiooni genereerivate konfiguratsioonide jaoks, näiteks unikaalset töö ID-d SageMakeri koolitustöö jaoks
  • /data – Sisaldab järgmist faili:
    • ./iris.csv – Sisaldab andmeid ML-mudeli treenimiseks

Eeldused

Selle ülevaate jaoks peaksid teil olema järgmised eeltingimused.

Rakendage oma AWS-i infrastruktuur Terraformiga

ML-konveieri juurutamiseks peate kohandama mõnda muutujat ja nime vastavalt oma vajadustele. Selle sammu kood on failis /terraform kataloog.

Esmakordsel lähtestamisel avage fail terraform/infrastructure/terraform.tfvars ja kohandage muutujat projekti_nimi lisaks muutujale oma projekti nimele piirkond kui soovite kasutusele võtta teises piirkonnas. Treenimiseks ja järelduste tegemiseks saate muuta ka täiendavaid muutujaid, näiteks eksemplaritüüpe.

Seejärel kasutage Terraformiga infrastruktuuri juurutamiseks järgmisi käske:

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

Kontrollige väljundit ja veenduge, et planeeritud ressursid kuvatakse õigesti ning kinnitage rakendamise etapis jah-ga, kas kõik on õige. Seejärel minge Amazon ECR-i konsooli (või kontrollige terminalis Terraformi väljundit) ja hankige oma Terraformi kaudu loodud ECR-i hoidla URL.

Väljund peaks välja nägema sarnane järgmise kuvatava väljundiga, sealhulgas ECR-i hoidla URL:

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

Lükake oma Dockeri pilt Amazon ECR-i

Selleks, et ML-konveier ja SageMaker saaksid SageMakeri lõpp-punkti koolitada ja järelduste tegemiseks ette valmistada, peate esitama Dockeri pildi ja salvestama selle Amazon ECR-is. Näite leiate kataloogist src/container. Kui olete AWS-i infrastruktuuri juba varasemast etapist rakendanud, saate Dockeri kujutise edasi lükata, nagu kirjeldatud. Pärast Dockeri kujutise väljatöötamist saate teha järgmised toimingud ja lükata see Amazon ECR-i (kohandage Amazon ECR-i URL-i vastavalt oma vajadustele):

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>

Kui olete AWS-i infrastruktuuri juba Terraformiga rakendanud, saate oma koodi ja Dockeri pildi muudatused otse Amazon ECR-i lükata, ilma et peaksite neid uuesti Terraformi kaudu juurutama.

Käivitage ML-konveier

ML-konveieri treenimiseks ja käitamiseks minge sammufunktsioonide konsooli ja alustage juurutamist. Saate kontrollida olekumasina visualiseerimise iga etapi edenemist. Samuti saate kontrollida SageMakeri koolitustöö edenemist ja oma SageMakeri lõpp-punkti olekut.

Käivitage sammufunktsioon

Pärast olekumasina edukat käitamist jaotises Step Functions näete, et SageMakeri lõpp-punkt on loodud. Valige SageMakeri konsoolil Järeldus seejärel navigeerimispaanil Lõpp-punktid. Oodake kindlasti, kuni olek muutub InService'iks.

SageMakeri lõpp-punkti olek

Kutsuge esile oma lõpp-punkt

Lõpp-punkti kutsumiseks (selles näites iirise andmestiku jaoks) saate kasutada järgmist Pythoni skripti koos AWS SDK Pythoni jaoks (Boto3). Saate seda teha SageMakeri sülearvutist või manustada Lambda funktsiooni järgmise koodilõigu:

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)

Koristage

Terraformi loodud taristu saab hävitada käsuga terraform hävita, kuid enne tuleb kustutada S3 ämbrites olevad andmed ja failid. Lisaks luuakse SageMakeri lõpp-punkt (või mitu SageMakeri lõpp-punkti, kui seda käitatakse mitu korda) Step Functions kaudu ja seda ei hallata Terraformi kaudu. See tähendab, et juurutamine toimub sammufunktsioonidega ML-konveieri käitamisel. Seetõttu kustutage tarbetute kulude vältimiseks kindlasti ka SageMakeri lõpp-punkt või lõpp-punktid, mis on loodud Step Functions ML torujuhtme kaudu. Tehke järgmised sammud.

  1. Kustutage Amazon S3 konsoolis S3 treeningsalvesti andmestik.
  2. Kustutage S3 mudelite ämbrist kõik mudelid, mida olete ML-konsooli kaudu koolitanud, kas Amazon S3 konsooli või AWS CLI kaudu.
  3. Hävitage Terraformi kaudu loodud infrastruktuur:
    cd terraform/infrastructure
    terraform destroy

  4. Kustutage SageMakeri lõpp-punktid, lõpp-punkti konfiguratsioon ja sammufunktsioonide kaudu loodud mudelid kas SageMakeri konsoolis või AWS-i CLI kaudu.

Järeldus

Palju õnne! Olete juurutanud ML-konveieri, kasutades SageMakerit koos Terraformiga. See näidislahendus näitab, kuidas saate hõlpsasti korduvkasutataval viisil juurutada AWS-i infrastruktuuri ja teenuseid ML-konveierite jaoks. See võimaldab teil skaleerida mitme kasutusjuhtumi või piirkonna jaoks ning võimaldab ühe klõpsuga järjepidevalt koolitada ja juurutada ML-mudeleid. Lisaks saate ML-konveieri mitu korda käitada, näiteks kui saadaval on uued andmed või soovite muuta algoritmi koodi. Samuti saate valida päringute või liikluse suunamise erinevatesse SageMakeri lõpp-punktidesse.

Soovitan teil uurida turvafunktsioonide lisamist ja turvalisuse parimate tavade kasutuselevõttu vastavalt teie vajadustele ja potentsiaalsetele ettevõtte standarditele. Lisaks annab selle lahenduse manustamine oma CI/CD torujuhtmetesse täiendavaid võimalusi DevOpsi parimate tavade ja standardite kasutuselevõtul ja kehtestamisel vastavalt teie vajadustele.


Teave Autor

Rakendage ja hallake masinõppe torujuhtmeid Terraformiga, kasutades Amazon SageMaker PlatoBlockchain Data Intelligence'i. Vertikaalne otsing. Ai.Oliver Zollikofer on Amazon Web Servicesi andmeteadlane. Ta võimaldab globaalsetel ettevõtetel klientidel ehitada, koolitada ja juurutada masinõppemudeleid ning hallata ML-mudeli elutsüklit MLOpsidega. Lisaks ehitab ja arhitekteerib seotud pilvelahendusi.

Ajatempel:

Veel alates AWS-i masinõpe