Amazon SageMaker -autopilotti rakentaa, kouluttaa ja virittää automaattisesti parhaat koneoppimismallit (ML) tietojesi perusteella, ja samalla voit säilyttää täyden hallinnan ja näkyvyyden. Autopilot voi myös ottaa käyttöön koulutettuja malleja reaaliaikaisiin päätepisteisiin automaattisesti.
Jos sinulla on työkuormia, joissa on piikkisiä tai arvaamattomia liikennemalleja, jotka kestävät kylmäkäynnistyksen, mallin käyttöönotto palvelimettomaan päätepäätepisteeseen olisi kustannustehokkaampaa.
Amazon SageMaker -palvelimeton johtopäätös on tarkoitukseen rakennettu päättelyvaihtoehto, joka on ihanteellinen työkuormille, joissa liikenne on arvaamatonta ja joka kestää kylmäkäynnistystä. Toisin kuin reaaliaikainen päätelmäpäätepiste, jota tukee pitkäkestoinen laskentaesiintymä, palvelimettomat päätepisteet tarjoavat resursseja tarpeen mukaan sisäänrakennetulla automaattisella skaalauksella. Palvelimettomat päätepisteet skaalautuvat automaattisesti saapuvien pyyntöjen määrän perusteella ja pienentävät resurssit nollaan, kun saapuvia pyyntöjä ei ole, mikä auttaa sinua minimoimaan kustannukset.
Tässä viestissä näytämme, kuinka Autopilot-koulutettuja malleja voidaan ottaa käyttöön palvelimettomissa päätepisteissä käyttämällä Boto3 kirjastot varten Amazon Sage Maker.
Autopilotin harjoitustilat
Ennen kuin luot Autopilot-kokeen, voit joko antaa Autopilotin valita harjoitustilan automaattisesti tai voit valita harjoitustilan manuaalisesti.
Autopilotti tukee tällä hetkellä kolmea harjoitustilaa:
- auto – Tietojoukon koon perusteella Autopilot valitsee automaattisesti joko yhdistämis- tai HPO-tilan. Yli 100 Mt:n tietojoukoille Autopilot valitsee HPO:n; muussa tapauksessa se valitsee kokoonpanon.
- Kokoonpano – Autopilotti käyttää AutoGluon ensemble-tekniikkaa käyttämällä mallien pinoamista ja tuottaa optimaalisen ennustavan mallin.
- Hyperparametrien optimointi (HPO) – Autopilotti löytää mallin parhaan version säätämällä hyperparametreja Bayes-optimoinnin tai monitarkkuuden optimoinnin avulla, kun suoritat koulutustöitä tietojoukossasi. HPO-tila valitsee tietojoukollesi sopivimmat algoritmit ja valitsee parhaan valikoiman hyperparametreja mallien virittämiseksi.
Lisätietoja Autopilotin harjoittelutiloista on kohdassa Harjoitustilat.
Ratkaisun yleiskatsaus
Tässä viestissä käytämme UCI-pankkimarkkinointi Tietojoukko ennustaa, tilaako asiakas pankin tarjoaman määräaikaistalletuksen. Tämä on binääriluokitusongelmatyyppi.
Käynnistämme kaksi Autopilot-työtä käyttämällä Boto3-kirjastot SageMakerille. Ensimmäisessä työssä valitaan harjoitusmuotona kokoonpanoa. Otamme sitten käyttöön yhden ensemble-mallin, joka on luotu palvelimettomaan päätepisteeseen ja lähetämme päättelypyynnöt tälle isännöidylle päätepisteelle.
Toinen työ käyttää HPO-koulutustilaa. Luokitteluongelmatyypeille Autopilot luo kolme päättelysäilöä. Puramme nämä kolme päättelysäilöä ja otamme ne käyttöön erillisiin palvelimettomiin päätepisteisiin. Sitten lähetämme päättelypyynnöt näihin isännöityihin päätepisteisiin.
Lisätietoja regressio- ja luokitteluongelmatyypeistä on kohdassa Päätelmäsäiliön määritelmät regressio- ja luokitteluongelmatyypeille.
Voimme myös käynnistää Autopilot-työt Amazon SageMaker Studio UI. Jos käynnistät töitä käyttöliittymästä, varmista, että sammutat Automaattinen käyttöönotto vaihtoehto Käyttöönotto ja lisäasetukset osio. Muussa tapauksessa Autopilot ottaa käyttöön parhaan ehdokkaan reaaliaikaiseen päätepisteeseen.
Edellytykset
Varmista, että sinulla on uusin Boto3-versio ja SageMaker Python -paketit asennettuna:
pip install -U boto3 sagemaker
Tarvitsemme SageMaker-pakettiversion >= 2.110.0
ja Boto3-versio >= boto3-1.24.84.
Käynnistä Autopilot-työ kokoonpanotilassa
Autopilot-työn käynnistämiseksi SageMaker Boto3 -kirjastojen avulla käytämme luo_auto_ml_job API. Sitten menemme sisään AutoMLJobConfig
, InputDataConfig
ja AutoMLJobObjective
syötteinä create_auto_ml_job
. Katso seuraava koodi:
Autopilotti palauttaa BestCandidate
malliobjekti, jolla on InferenceContainers
tarvitaan mallien käyttöönottamiseksi päätepisteiden päättelemiseksi. Saadaksesi BestCandidate
käytämme edellisessä työssä describe_automl_job
toiminto:
Ota koulutettu malli käyttöön
Otamme nyt käyttöön edellisen päätelmäsäiliön palvelimettomaan päätepisteeseen. Ensimmäinen vaihe on luoda malli johtopäätössäilöstä ja sitten luoda päätepistemääritys, jossa määritämme MemorySizeInMB
ja MaxConcurrency
arvot palvelimettomalle päätepisteelle yhdessä mallin nimen kanssa. Lopuksi luomme päätepisteen yllä luodulla päätepistekokoonpanolla.
Suosittelemme valitsemaan omasi päätepisteen muistin koko mallisi koon mukaan. Muistin koon tulee olla vähintään yhtä suuri kuin mallisi koko. Palvelimettomassa päätepisteessäsi on RAM-muistin vähimmäiskoko 1024 Mt (1 Gt) ja suurin valittavissa oleva RAM-koko on 6144 Mt (6 Gt).
Valittavissa olevat muistikoot ovat 1024 Mt, 2048 Mt, 3072 Mt, 4096 Mt, 5120 Mt tai 6144 Mt.
Jotta voit määrittää, onko palvelimeton päätepiste oikea käyttöönottovaihtoehto kustannusten ja suorituskyvyn kannalta, suosittelemme tutustumaan SageMaker Serverless Inference Benchmarking Toolkit, joka testaa erilaisia päätepistekokoonpanoja ja vertaa optimaalisinta vastaavaan reaaliaikaiseen isännöintiinstanssiin.
Huomaa, että palvelimettomat päätepisteet hyväksyvät vain SingleModel
päätelmäsäiliöille. Autopilotti yhdistämistilassa luo yhden mallin, joten voimme ottaa tämän mallisäiliön käyttöön sellaisenaan päätepisteeseen. Katso seuraava koodi:
Kun palvelimeton päättelypäätepiste on InService
, voimme testata päätepistettä lähettämällä päättelypyynnön ja tarkkailla ennusteita. Seuraava kaavio havainnollistaa tämän asennuksen arkkitehtuuria.
Huomaa, että voimme lähettää raakadataa hyötykuormana päätepisteeseen. Autopilotin luoma kokonaisuusmalli yhdistää automaattisesti kaikki tarvittavat ominaisuusmuunnos- ja käänteismerkkimuunnosvaiheet sekä algoritmimalli ja -paketit yhdeksi malliksi.
Lähetä päättelypyyntö koulutetulle mallille
Käytä seuraavaa koodia lähettääksesi päätelmät mallistasi, joka on koulutettu kokoonpanotilassa:
Käynnistä Autopilot Job HPO-tilassa
HPO-tilassa, varten CompletionCriteria
, sitä paitsi MaxRuntimePerTrainingJobInSeconds
ja MaxAutoMLJobRuntimeInSeconds,
voisimme myös määritellä MaxCandidates
rajoittaaksesi Autopilot-työn luomien ehdokkaiden määrää. Huomaa, että nämä ovat valinnaisia parametreja ja ne on asetettu vain rajoittamaan työn suoritusaikaa esittelyä varten. Katso seuraava koodi:
Saadaksesi BestCandidate
edelliseen työhön voimme jälleen käyttää describe_automl_job
toiminto:
Ota koulutettu malli käyttöön
Autopilotti HPO-tilassa luokitteluongelmatyypille luo kolme päättelysäilöä.
Ensimmäinen säilö käsittelee ominaisuuden muunnosvaiheet. Seuraavaksi algoritmisäiliö luo predicted_label
suurimmalla todennäköisyydellä. Lopuksi jälkikäsittelyn päättelysäilö suorittaa käänteisen muunnoksen ennustetulle tarralle ja kartoittaa sen alkuperäiseen etikettiin. Lisätietoja on kohdassa Päätelmäsäiliön määritelmät regressio- ja luokitteluongelmatyypeille.
Puramme nämä kolme päättelysäilöä ja otamme ne käyttöön erillisiin palvelimettomiin päätepisteisiin. Päätelmiä varten kutsumme päätepisteet peräkkäin lähettämällä hyötykuorman ensin ominaisuuden muunnossäilölle, välittämällä sitten tämän säilön tuotoksen algoritmisäiliöön ja välittämällä lopuksi tulos edellisestä päättelysäilystä jälkikäsittelysäilöön, joka tulostaa ennustetun etiketin.
Seuraava kaavio havainnollistaa tämän asennuksen arkkitehtuuria.
Poimimme kolme päättelysäiliötä BestCandidate
seuraavalla koodilla:
Lähetä päättelypyyntö koulutetulle mallille
Päätelmiä varten lähetämme hyötykuorman järjestyksessä: ensin ominaisuusmuunnossäiliöön, sitten mallisäilöyn ja lopuksi käänteismerkkimuunnossäiliöön.
Katso seuraava koodi:
Tämän esimerkin täydellinen toteutus on saatavilla seuraavassa jupyterissä muistikirja.
Puhdistaa
Voit puhdistaa resursseja poistamalla luodut palvelimettomat päätepisteet, päätepistemääritykset ja mallit:
Yhteenveto
Tässä viestissä osoitimme, kuinka voimme ottaa käyttöön Autopilotin luomia malleja sekä ensemble- että HPO-tiloissa palvelimettomissa päätepäätepisteissä. Tämä ratkaisu voi nopeuttaa kykyäsi käyttää ja hyödyntää kustannustehokkaita ja täysin hallittuja ML-palveluita, kuten Autopilotia, luodaksesi malleja nopeasti raakatiedoista ja ottaa ne sitten käyttöön täysin hallituissa palvelimettomissa päätepisteissä, joissa on sisäänrakennettu automaattinen skaalaus kustannusten vähentämiseksi. .
Suosittelemme kokeilemaan tätä ratkaisua yrityksesi KPI-arvoihin liittyvän tietojoukon kanssa. Voit katsoa Jupyter-muistikirjassa toteutettua ratkaisua GitHub repo.
Lisäviitteet
kirjailijasta
Praveen Chamarthi on vanhempi AI/ML-asiantuntija Amazon Web Services -palvelussa. Hän on intohimoinen AI/ML:stä ja kaikesta AWS:stä. Hän auttaa asiakkaita kaikkialla Amerikassa skaalaamaan, innovoimaan ja hallitsemaan ML-työkuormia tehokkaasti AWS:ssä. Vapaa-ajallaan Praveen pitää lukemisesta ja scifi-elokuvista.
- Lisäasetukset (300)
- AI
- ai taide
- ai taiteen generaattori
- ai robotti
- Amazon Sage Maker
- Amazon SageMaker -autopilotti
- tekoäly
- tekoälyn sertifiointi
- tekoäly pankkitoiminnassa
- tekoäly robotti
- tekoälyrobotit
- tekoälyohjelmisto
- AWS-koneoppiminen
- blockchain
- blockchain-konferenssi ai
- coingenius
- keskustelullinen tekoäly
- kryptokonferenssi ai
- dall's
- syvä oppiminen
- google ai
- koneoppiminen
- Platon
- plato ai
- Platonin tietotieto
- Platon peli
- PlatonData
- platopeliä
- mittakaava ai
- syntaksi
- Tekniset ohjeet
- zephyrnet