Kun yhä useammat asiakkaat haluavat lisätä koneoppimisen (ML) työtaakkaa tuotantoon, organisaatiot pyrkivät lyhentämään ML-koodin kehityselinkaaria. Monet organisaatiot kirjoittavat mieluummin ML-koodinsa tuotantovalmiiseen tyyliin Python-menetelmien ja -luokkien muodossa, toisin kuin tutkivassa tyylissä (koodin kirjoittaminen ilman menetelmiä tai luokkia), koska tämä auttaa niitä toimittamaan tuotantovalmiin koodin nopeammin.
Kanssa Amazon Sage Maker, voit käyttää @kaukosisustaja suorittaaksesi SageMaker-harjoitustyön yksinkertaisesti merkitsemällä Python-koodisi @remote-sisustimella. The SageMaker Python SDK kääntää automaattisesti nykyisen työtilaympäristösi ja kaikki siihen liittyvät tietojenkäsittelykoodit ja tietojoukot SageMaker-koulutustyöksi, joka suoritetaan SageMaker-koulutusalustalla.
Python-funktion suorittaminen paikallisesti vaatii usein useita riippuvuuksia, jotka eivät välttämättä tule paikallisen Python-ajonaikaisen ympäristön mukana. Voit asentaa ne pakettien ja riippuvuuden hallintatyökalujen avulla, kuten pIP or Conda.
Säännellyillä aloilla, kuten pankki-, vakuutus- ja terveydenhuoltoalalla toimivat organisaatiot toimivat kuitenkin ympäristöissä, joissa on käytössä tiukat tietosuoja- ja verkostoitumisrajoitukset. Nämä hallintalaitteet edellyttävät usein, että missään niiden ympäristöissä ei ole Internet-yhteyttä. Syynä tällaiseen rajoitukseen on saada täysi valvonta ulos- ja sisääntuloliikenteestä, jotta he voivat vähentää häikäilemättömien toimijoiden mahdollisuuksia lähettää tai vastaanottaa vahvistamattomia tietoja verkkonsa kautta. Usein myös tällaisen verkon eristäminen on pakotettu osana auditiivisia ja teollisia noudattamissääntöjä. Mitä tulee ML:ään, tämä estää datatieteilijöitä lataamasta mitään paketteja julkisista arkistoista, kuten PyPI, Anacondatai Conda-Forge.
Jotta datatieteilijät pääsevät käyttämään valitsemiaan työkaluja ympäristön rajoituksia kunnioittaen, organisaatiot perustavat usein oman yksityisen pakettivaraston, jota isännöidään omassa ympäristössään. Voit määrittää yksityisiä pakettivarastoja AWS:ssä useilla tavoilla:
Tässä viestissä keskitymme ensimmäiseen vaihtoehtoon: CodeArtifactin käyttämiseen.
Ratkaisun yleiskatsaus
Seuraavassa arkkitehtuurikaaviossa näkyy ratkaisun arkkitehtuuri.
Korkean tason vaiheet ratkaisun toteuttamiseksi ovat seuraavat
- Määritä virtuaalinen yksityinen pilvi (VPC) ilman Internet-yhteyttä käyttämällä AWS-pilven muodostuminen sapluuna.
- Käytä toista CloudFormation-mallia CodeArtifactin määrittämiseen yksityiseksi PyPI-tietovarastoon ja yhteyden muodostamiseen VPC:hen ja Amazon SageMaker Studio ympäristön yksityisen PyPI-tietovaraston käyttämiseen.
- Kouluta luokittelumalli perustuen MNIST tietojoukko avoimen lähdekoodin SageMaker Python SDK:n @remote-decoratorilla. Kaikki riippuvuudet ladataan yksityisestä PyPI-arkistosta.
Huomaa, että SageMaker Studion käyttö tässä viestissä on valinnaista. Voit halutessasi työskennellä missä tahansa valitsemassasi integroidussa kehitysympäristössä (IDE). Sinun tarvitsee vain määrittää omasi AWS-komentoriviliitäntä (AWS CLI) -tunnistetiedot oikein. Lisätietoja on kohdassa Määritä AWS CLI.
Edellytykset
Tarvitset AWS-tilin, jossa on AWS-henkilöllisyyden ja käyttöoikeuksien hallinta (MINÄ OLEN) rooli jolla on oikeudet hallita osana ratkaisua luotuja resursseja. Katso lisätietoja kohdasta AWS-tilin luominen.
Määritä VPC ilman Internet-yhteyttä
Luo uusi CloudFormation-pino käyttäen vpc.yaml sapluuna. Tämä malli luo seuraavat resurssit:
- VPC, jossa on kaksi yksityistä aliverkkoa kahdessa Saatavuusvyöhykkeellä ilman Internet-yhteyttä
- Gateway VPC -päätepiste Amazon S3:n käyttämiseen
- Käyttöliittymän VPC-päätepisteet SageMakerille, CodeArtifactille ja muutamille muille palveluille, jotta VPC:n resurssit voivat muodostaa yhteyden AWS-palveluihin AWS PrivateLink
Anna pinon nimi, esim No-Internet
ja viimeistele pinon luontiprosessi.
Odota, että pinon luontiprosessi on valmis.
Perusta yksityinen arkisto ja SageMaker Studio VPC:n avulla
Seuraava vaihe on ottaa käyttöön toinen CloudFormation-pino käyttämällä sagemaker_studio_codeartifact.yaml sapluuna. Tämä malli luo seuraavat resurssit:
Anna pinon nimi ja säilytä oletusarvot tai säädä parametreja CodeArtifact-verkkotunnuksen nimi, yksityisen arkiston nimi, käyttäjäprofiilin nimi SageMaker Studiolle ja nimi ylävirran julkiselle PyPI-varastolle. Sinun on myös tarjottava VPC-pinon nimi luotu edellisessä vaiheessa.
Kun pinon luominen on valmis, SageMaker-toimialueen pitäisi olla näkyvissä SageMaker-konsolissa.
Varmistaaksesi, ettei SageMaker Studiossa ole Internet-yhteyttä, käynnistä SageMaker Studio. Valita File
, New
ja Terminal
käynnistääksesi terminaalin ja yrittääksesi kiemura mikä tahansa Internet-resurssi. Sen ei pitäisi muodostaa yhteyttä, kuten seuraavassa kuvakaappauksessa näkyy.
Harjoittele kuvan luokittelija @remote-decoratorilla yksityisen PyPI-arkiston kanssa
Tässä osiossa käytämme @remote decorator -toimintoa suorittamaan a PyTorch koulutustyö, joka tuottaa MNIST-kuvan luokittelumallin. Tämän saavuttamiseksi määritämme määritystiedoston, kehitämme harjoitusskriptin ja suoritamme harjoituskoodin.
Määritä määritystiedosto
Perustimme a config.yaml
tiedosto ja anna tarvittavat asetukset seuraavien toimien suorittamiseen:
- Suorita a SageMaker koulutustyötä aiemmin luodussa ei-internet-VPC:ssä
- Lataa tarvittavat paketit muodostamalla yhteys aiemmin luotuun yksityiseen PyPI-tietovarastoon
Tiedosto näyttää seuraavalta koodilta:
- Dependencies
kenttä sisältää polun requirements.txt
, joka sisältää kaikki tarvittavat riippuvuudet. Huomaa, että kaikki riippuvuudet ladataan yksityisestä arkistosta. The requirements.txt
tiedosto sisältää seuraavan koodin:
- PreExecutionCommands
osio sisältää komennon muodostaa yhteys yksityiseen PyPI-tietovarastoon. Käytä seuraavaa koodia saadaksesi CodeArtifact VPC -päätepisteen URL-osoitteen:
Yleensä CodeArtifactille saamme kaksi VPC-päätepistettä, ja voimme käyttää mitä tahansa niistä yhteyskomennoissa. Katso lisätietoja osoitteesta Käytä CodeArtifactia VPC:stä.
Lisäksi kokoonpanot, kuten execution role
, output location
ja VPC configurations
ovat konfiguraatiotiedostossa. Näitä määrityksiä tarvitaan SageMaker-harjoitustyön suorittamiseen. Lisätietoja kaikista tuetuista kokoonpanoista on kohdassa Asetustiedosto.
Ei ole pakollista käyttää config.yaml
tiedostoa, jotta voit työskennellä @remote decoratorin kanssa. Tämä on vain puhtaampi tapa toimittaa kaikki kokoonpanot @remote Decoratorille. Kaikki konfiguraatiot voidaan toimittaa myös suoraan sisustaja-argumenteissa, mutta se heikentää muutosten luettavuutta ja ylläpidettävyyttä pitkällä aikavälillä. Järjestelmänvalvoja voi myös luoda konfigurointitiedoston ja jakaa sen kaikkien käyttäjien kanssa ympäristössä.
Kehitä harjoituskäsikirjoitus
Seuraavaksi valmistelemme harjoituskoodin yksinkertaisissa Python-tiedostoissa. Olemme jakaneet koodin kolmeen tiedostoon:
- load_data.py – Sisältää koodin MNIST-tietojoukon lataamiseksi
- malli.py – Sisältää mallin hermoverkkoarkkitehtuurin koodin
- train.py – Sisältää koodin mallin harjoittamiseen komennoilla load_data.py ja model.py
In train.py
, meidän on sisustettava pääharjoittelutoiminto seuraavasti:
Nyt olemme valmiita suorittamaan koulutuskoodin.
Suorita harjoituskoodi @remote-decoratorilla
Voimme ajaa koodin päätteestä tai mistä tahansa suoritettavasta kehotteesta. Tässä viestissä käytämme SageMaker Studio -muistikirjan solua tämän osoittamiseen:
Edellisen komennon suorittaminen käynnistää harjoitustyön. Lokeissa voimme nähdä, että se lataa paketteja yksityisestä PyPI-varastosta.
Tämä päättää @remote decoratorin käyttöönoton, joka työskentelee yksityisen arkiston kanssa ympäristössä, jossa ei ole Internet-yhteyttä.
Puhdistaa
Voit puhdistaa resurssit noudattamalla kohdassa olevia ohjeita CLEANUP.md.
Yhteenveto
Tässä viestissä opimme käyttämään @remote-sisustajan ominaisuuksia tehokkaasti työskennellessämme rajoittavissa ympäristöissä ilman Internet-yhteyttä. Opimme myös kuinka voimme integroida CodeArtifactin yksityisen arkiston ominaisuudet SageMakerin määritystiedostotuen avulla. Tämä ratkaisu tekee iteratiivisesta kehityksestä paljon yksinkertaisempaa ja nopeampaa. Toinen lisäetu on, että voit silti jatkaa harjoituskoodin kirjoittamista luonnollisemmalla, oliosuuntautuneemmalla tavalla ja silti käyttää SageMaker-ominaisuuksia harjoitustehtävien suorittamiseen etäklusterissa ilman, että koodiisi tehdään vain vähän muutoksia. Kaikki tämän viestin osana näkyvä koodi on saatavilla osoitteessa GitHub-arkisto.
Seuraavana vaiheena kehotamme sinua tarkistamaan @kaukosisustimen toiminnallisuus ja Python SDK API ja käytä sitä valitsemassasi ympäristössä ja IDE:ssä. Lisää esimerkkejä on saatavilla osoitteessa amazon-sagemaker-esimerkkejä arkisto, jotta pääset alkuun nopeasti. Voit myös katsoa postauksen Suorita paikallinen koneoppimiskoodi Amazon SageMaker Training -työnä minimaalisilla koodimuutoksilla lisätietoja.
Kirjailijasta
Vikesh Pandey on AWS:n koneoppimisen asiantuntijaratkaisujen arkkitehti, joka auttaa rahoitusalan asiakkaita suunnittelemaan ja rakentamaan ratkaisuja generatiiviseen tekoälyyn ja ML:ään. Työn ulkopuolella Vikesh nauttii erilaisten ruokien kokeilemisesta ja ulkoilusta.
- 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ä.
- BlockOffsets. Ympäristövastuun omistuksen nykyaikaistaminen. Pääsy tästä.
- Lähde: https://aws.amazon.com/blogs/machine-learning/access-private-repos-using-the-remote-decorator-for-amazon-sagemaker-training-workloads/
- :On
- :ei
- $ YLÖS
- 1
- 10
- 100
- 12
- 23
- 7
- 8
- a
- Meistä
- pääsy
- Pääsy
- Tili
- Saavuttaa
- poikki
- toimijoiden
- lisä-
- lisä-
- admin
- Etu
- AI
- Kaikki
- sallia
- Myös
- Amazon
- Amazon Sage Maker
- Amazon Web Services
- an
- ja
- Toinen
- Kaikki
- api
- arkkitehtuuri
- OVAT
- perustelut
- AS
- liittyvä
- At
- automaattisesti
- saatavuus
- saatavissa
- AWS
- Pankkitoiminta
- perustua
- BE
- koska
- rakentaa
- mutta
- by
- CAN
- kyvyt
- mahdollisuudet
- Muutokset
- tarkastaa
- valinta
- Valita
- luokat
- luokittelu
- pilvi
- Cluster
- koodi
- KOM
- Tulla
- tulee
- täydellinen
- noudattaminen
- Konfigurointi
- kytkeä
- Kytkeminen
- liitäntä
- Liitännät
- Console
- sisältää
- jatkaa
- ohjaus
- valvonta
- voisi
- luotu
- luo
- luominen
- Valtakirja
- Asiakkaat
- tiedot
- Tietosuoja
- tietojenkäsittely
- aineistot
- oletusarvo
- osoittaa
- riippuvuus
- sijoittaa
- Malli
- yksityiskohdat
- kehittää
- Kehitys
- eri
- suoraan
- jaettu
- do
- verkkotunnuksen
- download
- tehokkaasti
- kannustaa
- päätepiste
- ympäristö
- ympäristöissä
- aikakausia
- Esimerkit
- teloitus
- olemassa
- FAIL
- väärä
- nopeampi
- harvat
- ala
- filee
- Asiakirjat
- taloudellinen
- rahoitusalat
- Etunimi
- kellua
- Keskittää
- seurata
- jälkeen
- seuraa
- varten
- muoto
- alkaen
- koko
- toiminto
- portti
- generatiivinen
- Generatiivinen AI
- saada
- Ryhmä
- Olla
- ottaa
- terveydenhuollon
- auttaa
- auttaa
- auttaa
- korkean tason
- isännöi
- Miten
- Miten
- HTML
- http
- HTTPS
- ID
- Identiteetti
- kuva
- Kuvaluokitus
- toteuttaa
- täytäntöönpano
- in
- teollinen
- teollisuuden
- tiedot
- asentaa
- ohjeet
- vakuutus
- yhdistää
- integroitu
- Internet
- Internet-yhteys
- Internet-yhteys
- tulee
- eristäminen
- IT
- Job
- Työpaikat
- jpg
- vain
- Pitää
- Tietää
- suuri
- käynnistää
- oppinut
- oppiminen
- elinkaari
- pitää
- linja
- paikallinen
- paikallisesti
- Kirjaudu sisään
- Pitkät
- näköinen
- ulkonäkö
- kone
- koneoppiminen
- tärkein
- TEE
- hoitaa
- johto
- hallinta Työkalut
- Mandaatti
- pakollinen
- monet
- Saattaa..
- menetelmät
- minimi
- ML
- malli
- Moduulit
- lisää
- paljon
- moninkertainen
- nimi
- syntyperäinen
- Luonnollinen
- Tarve
- tarvitaan
- verkko
- verkostoituminen
- neuroverkkomallien
- Uusi
- seuraava
- Nro
- muistikirja
- of
- usein
- on
- avoimen lähdekoodin
- käyttää
- toiminta
- vastakkainen
- Vaihtoehto
- or
- tilata
- organisaatioiden
- Muut
- ulos
- ulkopuolella
- yli
- oma
- paketti
- paketit
- parametrit
- osa
- polku
- Oikeudet
- Paikka
- foorumi
- Platon
- Platonin tietotieto
- PlatonData
- pelaa
- Kirje
- mieluummin
- Valmistella
- edellinen
- yksityisyys
- yksityinen
- prosessi
- käsittely
- tuottaa
- tuotanto
- Profiili
- toimittaa
- mikäli
- julkinen
- Työnnä
- laittaa
- Python
- pytorch
- nopeasti
- valmis
- reason
- vastaanottava
- vähentää
- vähentää
- säännelty
- säännellyillä teollisuudenaloilla
- kaukosäädin
- säilytyspaikka
- tarvitaan
- Vaatii
- resurssi
- Esittelymateriaalit
- kunnioittaen
- rajoitus
- rajoitukset
- rajoittava
- Rooli
- säännöt
- ajaa
- juoksu
- toimii
- sagemaker
- tutkijat
- sdk
- Toinen
- Osa
- turvallisuus
- nähdä
- siemenet
- lähettäminen
- Palvelut
- setti
- useat
- yhteinen
- LAIVA
- shouldnt
- esitetty
- Näytä
- Yksinkertainen
- yksinkertaisempi
- yksinkertaisesti
- So
- ratkaisu
- Ratkaisumme
- asiantuntija
- Urheilu
- pino
- alkoi
- Vaihe
- Askeleet
- Yhä
- verkkokaupasta
- Tiukka
- studio
- tyyli
- aliverkon
- aliverkkoon
- niin
- toimitetaan
- toimittaa
- tuki
- Tuetut
- sapluuna
- terminaali
- että
- -
- heidän
- Niitä
- Siellä.
- Nämä
- ne
- tätä
- kolmella
- Kautta
- että
- työkalut
- Torchvision
- liikenne
- koulutus
- Kääntää
- totta
- yrittää
- kaksi
- häikäilemätön
- URL
- käyttää
- käytetty
- Käyttäjät
- käyttämällä
- arvot
- todentaa
- kautta
- Virtual
- näkyvä
- Tapa..
- tavalla
- we
- verkko
- verkkopalvelut
- kun
- joka
- vaikka
- wikipedia
- tulee
- with
- ilman
- Referenssit
- työskentely
- kirjoittaa
- kirjoittaminen
- yaml
- Voit
- Sinun
- zephyrnet
- alueet