Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Zaženite zvezke kot paketna opravila v Amazon SageMaker Studio Lab

V zadnjem času Amazon SageMaker Studio uvedel preprost način izvajanja zvezkov kot paketnih opravil, ki se lahko izvajajo po ponavljajočem se urniku. Amazon SageMaker Studio Lab podpira tudi to funkcijo, kar vam omogoča, da v svojem računu AWS izvajate zvezke, ki jih razvijete v SageMaker Studio Lab. To vam omogoča, da hitro razširite svoje poskuse strojnega učenja (ML) z večjimi nabori podatkov in zmogljivejšimi primerki, ne da bi se morali naučiti česa novega ali spremeniti eno vrstico kode.

V tej objavi vas vodimo skozi enkratni predpogoj za povezavo vašega okolja Studio Lab z računom AWS. Nato vas vodimo skozi korake za zagon zvezkov kot paketnega opravila podjetja Studio Lab.

Pregled rešitev

Studio Lab je vključil isto razširitev kot Studio, ki temelji na odprtokodni razširitvi Jupyter za načrtovani zvezki. Ta razširitev ima dodatne parametre, specifične za AWS, kot je vrsta izračuna. V Studio Lab se načrtovani zvezek najprej prekopira v Preprosta storitev shranjevanja Amazon (Amazon S3) v vašem računu AWS, nato zaženite ob načrtovanem času z izbrano vrsto računanja. Ko je opravilo končano, se izhodni podatki zapišejo v vedro S3 in računanje AWS je popolnoma ustavljeno, kar preprečuje tekoče stroške.

Predpogoji

Če želite uporabljati opravila prenosnika Studio Lab, potrebujete skrbniški dostop do računa AWS, s katerim se boste povezali (ali pomoč nekoga s tem dostopom). V nadaljevanju te objave predvidevamo, da ste skrbnik AWS. Če temu ni tako, prosite svojega skrbnika ali lastnika računa, naj skupaj z vami pregleda te korake.

Ustvarite izvršilno vlogo SageMaker

Zagotoviti moramo, da ima račun AWS AWS upravljanje identitete in dostopa (IAM) Izvršilna vloga SageMaker. To vlogo uporabljajo viri SageMaker znotraj računa in omogoča dostop iz SageMakerja do drugih virov v računu AWS. V našem primeru se opravila našega prenosnika izvajajo s temi dovoljenji. Če je bil SageMaker že uporabljen v tem računu, potem vloga morda že obstaja, vendar morda nima vseh zahtevanih dovoljenj. Torej pojdimo naprej in naredimo novega.

Naslednje korake je treba izvesti le enkrat, ne glede na to, koliko okolij SageMaker Studio Lab bo dostopalo do tega računa AWS.

  1. Na konzoli IAM izberite vloge v podoknu za krmarjenje.
  2. Izberite Ustvari vlogo.
  3. za Vrsta zaupanja vrednega subjektatako, da izberete Storitev AWS.
  4. za Primeri uporabe za druge storitve AWS, izberite SageMaker.
  5. Izberite SageMaker – Izvedba.
  6. Izberite Naslednji.
  7. Preglejte dovoljenja in nato izberite Naslednji.Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  8. za Ime vloge, vnesite ime (za to objavo uporabljamo sagemaker-execution-role-notebook-jobs).
  9. Izberite Ustvari vlogo.
  10. Zabeležite si vlogo ARN.

Vloga ARN bo v obliki arn:aws:iam::[account-number]:role/service-role/[role-name] in je zahtevan v nastavitvi Studio Lab.

Ustvarite uporabnika IAM

Za dostop do AWS v okolju Studio Lab moramo znotraj AWS ustvariti uporabnika IAM in mu podeliti potrebna dovoljenja. Nato moramo ustvariti niz ključev za dostop za tega uporabnika in jih zagotoviti okolju Studio Lab.

Ta korak je treba ponoviti za vsako okolje SageMaker Studio Lab, ki bo dostopalo do tega računa AWS.

Upoštevajte, da morajo skrbniki in lastniki računov AWS zagotoviti, da se v največji možni meri upoštevajo dobro zasnovane varnostne prakse. Na primer, uporabniška dovoljenja morajo biti vedno omejena, ključe za dostop pa je treba redno menjavati, da zmanjšate vpliv ogrožanja poverilnic.

V tem blogu prikazujemo, kako uporabljati AmazonSageMakerFullAccess upravljana politika. Ta pravilnik omogoča širok dostop do Amazon SageMaker, ki lahko presega zahtevano. Podrobnosti o AmazonSageMakerFullAccess mogoče najti tukaj.

Čeprav Studio Lab uporablja varnost podjetja, je treba upoštevati, da uporabniške poverilnice Studio Lab niso del vašega računa AWS in zato na primer zanje ne veljajo vaše geslo AWS ali pravilniki MFA.

Da bi čim bolj zmanjšali obseg dovoljenj, ustvarimo uporabniški profil posebej za ta dostop.

  1. Na konzoli IAM izberite uporabniki v podoknu za krmarjenje.
  2. Izberite Dodajte uporabnike.
  3. za uporabniško ime, vnesite ime. Dobra praksa je uporaba imena, ki je povezano s posamezno osebo, ki bo uporabljala ta račun; to pomaga pri pregledovanju revizijskih dnevnikov.
  4. za Izberite vrsto dostopa AWStako, da izberete Ključ za dostop – programski dostop.
  5. Izberite Naprej: Dovoljenja.Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  6. Izberite Neposredno priložite obstoječe politike.
  7. Poiščite in izberite AmazonSageMakerFullAccess.Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  8. Poiščite in izberite AmazonEventBridgeFullAccess.Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  9. Izberite Naprej: Oznake.
  10. Izberite Naprej: Pregled.
  11. Potrdite svoje pravilnike in nato izberite Ustvarite uporabnika.Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.Na zadnji strani postopka ustvarjanja uporabnika bi morali biti prikazani uporabniški ključi za dostop. Pustite ta zavihek odprt, ker se sem ne moremo vrniti in potrebujemo te podrobnosti.
  12. Odprite nov zavihek brskalnika v Studio Lab.
  13. o file izberite meni Nov zaganjalnik, nato izberite terminal.Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  14. V ukazno vrstico vnesite to kodo:
    aws configure

  15. Vnesite to kodo:
    1. Vnesite vrednosti s strani konzole IAM za vaš ID ključa za dostop in skrivni ključ za dostop.
    2. za Default region name, vnesite us-west-2.
    3. pustite Default output format as text.
      (studiolab) studio-lab-user@default:~$ aws configure 
      AWS Access Key ID []: 01234567890
      AWS Secret Access Key []: ABCDEFG1234567890ABCDEFG
      Default region name []: us-west-2
      Default output format [text]: 
      
      (studiolab) studio-lab-user@default:~$

Čestitamo, vaše okolje Studio Lab bi moralo biti zdaj konfigurirano za dostop do računa AWS. Če želite preizkusiti povezavo, izdajte naslednji ukaz:

aws sts get-caller-identity

Ta ukaz bi moral vrniti podrobnosti o uporabniku IAM, za katerega ste konfigurirani.

Ustvarite opravilo v zvezku

Opravila z zvezki so ustvarjena z zvezki Jupyter znotraj Studio Lab. Če se vaš prenosnik izvaja v Studio Lab, se lahko izvaja kot opravilo prenosnika (z več viri in dostopom do storitev AWS). Vendar je treba paziti na nekaj stvari.

Če ste namestili pakete za delovanje prenosnika, dodajte ukaze za nalaganje teh paketov v celico na vrhu prenosnika. Z uporabo simbola & na začetku vsake vrstice bo koda poslana v ukazno vrstico za zagon. V naslednjem primeru prva celica uporablja pip za namestitev knjižnic PyTorch:

%%capture
%pip install torch
%pip install torchvision

Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Naš prenosni računalnik bo ustvaril usposobljen model PyTorch. Z našo običajno kodo shranimo model v datotečni sistem v Studio Labs.

Ko to izvajamo kot opravilo v zvezku, moramo model shraniti nekam, kjer bomo lahko pozneje dostopali do njega. Najlažji način za to je, da shranite model v Amazon S3. Ustvarili smo vedro S3 za shranjevanje naših modelov in uporabili drugo celico ukazne vrstice za kopiranje predmeta v vedro.

Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai. Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Mi uporabljamo Vmesnik ukazne vrstice AWS (AWS CLI), da kopirate predmet. Lahko bi uporabili tudi AWS SDK za Python (Boto3) če bi želeli imeti bolj sofisticiran ali avtomatiziran nadzor nad imenom datoteke. Zaenkrat bomo poskrbeli, da bomo ime datoteke spremenili vsakič, ko zaženemo prenosni računalnik, da modeli ne bodo prepisani.

Zdaj smo pripravljeni ustvariti opravilo zvezka.

  1. Izberite (z desnim klikom) ime zvezka in nato izberite Ustvari opravilo v zvezku.Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.
    Če ta možnost v meniju manjka, boste morda morali osvežiti okolje Studio Lab. Če želite to narediti, odprite terminal v zaganjalniku in zaženite to kodo:
    conda deactivate && conda env remove —name studiolab

  2. Nato znova zaženite svoj primerek JupyterLab tako, da izberete Amazon SageMaker Studio Lab v zgornjem meniju, nato izberite Znova zaženite JupyterLab.Druga možnost je, da pojdite na stran projekta ter zaustavite in znova zaženete izvajalno okolje.
  3. o Ustvari službo stran, za Vrsta izračuna, izberite vrsto računalništva, ki ustreza vašemu delu.

    Za več informacij o različnih vrstah računalniške zmogljivosti, vključno s stroški, glejte Cene Amazon SageMaker (izberite Cene na zahtevo in se pomaknite do usposabljanje zavihek. Morda boste morali preveriti tudi razpoložljivost kvote za vrsto računalništva v svojem računu AWS. Za več informacij o kvotah storitev glejte: Kvote storitev AWS.Za ta primer smo izbrali primerek ml.p3.2xlarge, ki ponuja 8 vCPE, 61 GB pomnilnika in Tesla V100 GPE.Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.

    Če na tej strani ni opozoril, bi morali biti pripravljeni. Če obstajajo opozorila, preverite, ali je navedena pravilna vloga ARN Dodatne možnosti. Ta vloga se mora ujemati z ARN izvedbene vloge SageMaker, ki smo jo ustvarili prej. ARN je v formatu arn:aws:iam::[account-number]:role/service-role/[role-name].

    Znotraj so na voljo tudi druge možnosti Dodatne možnosti; na primer, lahko izberete določeno sliko in jedro, ki morda že imata konfiguracijo, ki jo potrebujete, ne da bi morali namestiti dodatne knjižnice.

  4. Če želite ta zvezek izvajati po urniku, izberite Teči po urniku in določite, kako pogosto želite, da se opravilo izvaja.Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.Želimo, da se ta zvezek zažene enkrat, zato izberemo Zaženi zdaj.
  5. Izberite ustvarjanje.
    Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Seznam opravil v zvezku

O Notebook Jobs stran navaja vsa opravila, ki se trenutno izvajajo, in tista, ki so se izvajala v preteklosti. Ta seznam najdete v zaganjalniku (izberite, file, Nov zaganjalnik), nato izberite Notebook Jobs v Ostalo oddelek.

Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Ko je opravilo prenosnega računalnika končano, se bo stanje spremenilo v Completed (uporabi Osveži možnost, če je potrebno). Nato lahko izberete ikono za prenos za dostop do izhodnih datotek.

Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Ko so datoteke prenesene, lahko pregledate zvezek skupaj z izhodno kodo in izhodnim dnevnikom. Ker smo v našem primeru dodali kodo za merjenje časa izvajanja vadbene celice, lahko vidimo, kako dolgo je trajalo vadbeno opravilo – 16 minut in 21 sekund, kar je veliko hitreje, kot če bi se koda izvajala znotraj Studio Lab (1 ura , 38 minut, 55 sekund). Pravzaprav je celoten prenosnik deloval v 1,231 sekundah (nekaj več kot 20 minut) po ceni pod 1.30 USD (USD).

Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.

W lahko zdaj poveča število epoh in prilagodi hiperparametre, da izboljša vrednost izgube modela, ter predloži drugo opravilo z zvezkom.

zaključek

V tej objavi smo pokazali, kako uporabiti opravila prenosnika Studio Lab za razširitev kode, ki smo jo razvili v Studio Labu, in jo izvajati z več viri v računu AWS.

Z dodajanjem poverilnic AWS v naše okolje Studio Lab ne samo, da lahko dostopamo do nalog prenosnika, ampak lahko dostopamo tudi do drugih virov iz računa AWS neposredno iz naših prenosnikov Studio Lab. Oglejte si AWS SDK za Python.

Ta dodatna zmogljivost programa Studio Lab dviguje meje vrst in velikosti projektov, ki jih lahko dosežete. Sporočite nam, kaj gradite s to novo zmogljivostjo!


O avtorjih

Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.Mike Chambers je zagovornik razvijalcev za AI in ML pri AWS. Zadnjih 7 let je pomagal graditeljem pri učenju oblaka, varnosti in strojnega učenja. Mike, ki izvira iz Združenega kraljestva, je strasten pivec čaja in konstruktor lego kock.

Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai. Michele Monclova je glavni produktni vodja pri AWS v ekipi SageMaker. Je rojena Newyorčanka in veteranka iz Silicijeve doline. Navdušena je nad inovacijami, ki izboljšujejo kakovost našega življenja.

Časovni žig:

Več od Strojno učenje AWS