I desember 2020, AWS annonserte den generelle tilgjengeligheten of Amazon SageMaker JumpStart, en evne til Amazon SageMaker som hjelper deg raskt og enkelt å komme i gang med maskinlæring (ML). JumpStart gir ett-klikks finjustering og distribusjon av et bredt utvalg av forhåndstrente modeller på tvers av populære ML-oppgaver, samt et utvalg ende-til-ende-løsninger som løser vanlige forretningsproblemer. Disse funksjonene fjerner de tunge løftene fra hvert trinn i ML-prosessen, noe som gjør det enklere å utvikle høykvalitetsmodeller og reduserer tiden til utrulling.
Tidligere var alt JumpStart-innhold kun tilgjengelig gjennom Amazon SageMaker Studio, som gir en brukervennlig grafisk grensesnitt for å samhandle med funksjonen. I dag er vi glade for å kunngjøre lanseringen av brukervennlig JumpStart APIer som en utvidelse av SageMaker Python SDK. Disse API-ene lar deg programmere distribuere og finjustere et stort utvalg av JumpStart-støttede forhåndstrente modeller på dine egne datasett. Denne lanseringen låser opp bruken av JumpStart-funksjoner i kodearbeidsflytene dine, MLOps-pipelines og andre steder du samhandler med SageMaker via SDK.
I dette innlegget gir vi en oppdatering om den nåværende statusen til JumpStarts evner og veileder deg gjennom bruksflyten til JumpStart API med et eksempel på bruk.
JumpStart oversikt
JumpStart er et mangefasettert produkt som inkluderer forskjellige funksjoner for å hjelpe deg raskt i gang med ML på SageMaker. I skrivende stund lar JumpStart deg gjøre følgende:
- Distribuer forhåndstrente modeller for vanlige ML-oppgaver – JumpStart lar deg løse vanlige ML-oppgaver uten utviklingsinnsats ved å tilby enkel distribusjon av modeller som er forhåndstrent på offentlig tilgjengelige store datasett. ML-forskningsmiljøet har lagt ned en stor innsats for å gjøre et flertall av nylig utviklede modeller offentlig tilgjengelig for bruk. JumpStart er vert for en samling på over 300 modeller, som spenner over de 15 mest populære ML-oppgavene som objektgjenkjenning, tekstklassifisering og tekstgenerering, noe som gjør det enkelt for nybegynnere å bruke dem. Disse modellene er hentet fra populære modellhuber, som TensorFlow, PyTorch, Hugging Face og MXNet Hub.
- Finjuster forhåndstrente modeller – JumpStart lar deg finjustere ferdigtrente modeller uten å måtte skrive din egen treningsalgoritme. I ML kalles evnen til å overføre kunnskapen lært i ett domene til et annet domene overføre læring. Du kan bruke overføringslæring til å produsere nøyaktige modeller på de mindre datasettene dine, med mye lavere opplæringskostnader enn de som er involvert i å trene den originale modellen fra bunnen av. JumpStart inkluderer også populære treningsalgoritmer basert på LightGBM, CatBoost, XGBoost og Scikit-learn som du kan trene fra bunnen av for tabelldataregresjon og klassifisering.
- Bruk forhåndsbygde løsninger – JumpStart gir et sett med 17 ferdigbygde løsninger for vanlige ML-brukstilfeller, for eksempel behovsprognoser og industrielle og finansielle applikasjoner, som du kan implementere med bare noen få klikk. Løsningene er ende-til-ende ML-applikasjoner som setter sammen ulike AWS-tjenester for å løse et bestemt forretningsbruk. De bruker AWS skyformasjon maler og referansearkitekturer for rask distribusjon, noe som betyr at de er fullt tilpassbare.
- Bruk bærbare eksempler for SageMaker-algoritmer – SageMaker gir en pakke med innebygde algoritmer for å hjelpe dataforskere og ML-utøvere raskt i gang med opplæring og distribusjon av ML-modeller. JumpStart gir eksempler på notatbøker som du kan bruke for raskt å bruke disse algoritmene.
- Dra nytte av treningsvideoer og blogger – JumpStart gir også en rekke blogginnlegg og videoer som lærer deg hvordan du bruker forskjellige funksjoner i SageMaker.
JumpStart aksepterer tilpassede VPC-innstillinger og KMS-krypteringsnøkler, slik at du kan bruke de tilgjengelige modellene og løsningene sikkert i bedriftsmiljøet ditt. Du kan sende sikkerhetsinnstillingene til JumpStart i SageMaker Studio eller gjennom SageMaker Python SDK.
JumpStart-støttede ML-oppgaver og API-eksempelnotatbøker
JumpStart støtter for tiden 15 av de mest populære ML-oppgavene; 13 av dem er visjons- og NLP-baserte oppgaver, hvorav 8 støtter finjustering uten kode. Den støtter også fire populære algoritmer for tabelldatamodellering. Oppgavene og koblingene til eksempelnotatblokkene deres er oppsummert i tabellen nedenfor.
Avhengig av oppgaven kan eksempelnotatbøkene som er koblet til i den foregående tabellen veilede deg om alle eller en undergruppe av følgende prosesser:
- Velg en JumpStart-støttet forhåndsopplært modell for din spesifikke oppgave.
- Vær vert for en forhåndstrent modell, få spådommer fra den i sanntid, og vis resultatene på riktig måte.
- Finjuster en forhåndstrent modell med ditt eget utvalg av hyperparametre og distribuer den for slutninger.
Finjuster og distribuer en objektdeteksjonsmodell med JumpStart APIer
I de følgende delene gir vi en trinnvis gjennomgang av hvordan du bruker de nye JumpStart APIene på den representative oppgaven med objektdeteksjon. Vi viser hvordan du bruker en forhåndstrent objektdeteksjonsmodell for å identifisere objekter fra et forhåndsdefinert sett med klasser i et bilde med avgrensende bokser. Til slutt viser vi hvordan du kan finjustere en forhåndstrent modell på ditt eget datasett for å oppdage objekter i bilder som er spesifikke for bedriftens behov, ganske enkelt ved å ta med dine egne data. Vi gir en medfølgende notatbok for denne gjennomgangen.
Vi går gjennom følgende trinn på høyt nivå:
- Kjør slutning på den forhåndstrente modellen.
- Hent JumpStart-artefakter og distribuer et endepunkt.
- Spør etter endepunktet, analyser svaret og vis modellspådommer.
- Finjuster den ferdigtrente modellen på ditt eget datasett.
- Hent treningsartefakter.
- Løpetrening.
Kjør slutning på den forhåndstrente modellen
I denne delen velger vi en passende forhåndsopplært modell i JumpStart, distribuerer denne modellen til et SageMaker-endepunkt og viser hvordan man kjører slutninger på det distribuerte endepunktet. Alle trinnene er tilgjengelige i medfølgende Jupyter-notatbok.
Hent JumpStart-artefakter og distribuer et endepunkt
SageMaker er en plattform basert på Docker-containere. JumpStart bruker den tilgjengelige rammespesifikke SageMaker Deep Learning-beholdere (DLC-er). Vi henter eventuelle tilleggspakker, samt skript for å håndtere opplæring og slutninger for den valgte oppgaven. Til slutt hentes de forhåndstrente modellartefaktene separat med model_uris
, som gir fleksibilitet til plattformen. Du kan bruke et hvilket som helst antall modeller som er forhåndsopplært for samme oppgave med ett enkelt trenings- eller slutningsskript. Se følgende kode:
Deretter mater vi ressursene inn i en SageMaker modell forekomst og distribuer et endepunkt:
Sluttpunktdistribusjon kan ta noen minutter å fullføre.
Spør etter endepunktet, analyser svaret og vis spådommer
For å få slutninger fra en distribuert modell, må et inndatabilde leveres i binært format sammen med en aksepttype. I JumpStart kan du definere antallet avgrensende bokser som skal returneres. I den følgende kodebiten forutsier vi ti avgrensende bokser per bilde ved å legge til ;n_predictions=10
til Accept
. For å forutsi xx-bokser kan du endre det til ;n_predictions=xx
, eller få alle de forutsagte boksene ved å utelate ;n_predictions=xx
fullstendig.
Følgende kodebit gir deg et glimt av hvordan gjenstandsdeteksjon ser ut. Sannsynligheten forutsagt for hver objektklasse visualiseres, sammen med dens avgrensningsramme. Vi bruker parse_response
og display_predictions
hjelpefunksjoner, som er definert i den medfølgende bærbare.
Følgende skjermbilde viser utdataene til et bilde med prediksjonsetiketter og avgrensningsbokser.
Finjuster en forhåndstrent modell på ditt eget datasett
Eksisterende objektdeteksjonsmodeller i JumpStart er forhåndstrent enten på COCO- eller VOC-datasettene. Men hvis du trenger å identifisere objektklasser som ikke eksisterer i det originale forhåndstreningsdatasettet, må du finjustere modellen på et nytt datasett som inkluderer disse nye objekttypene. For eksempel, hvis du trenger å identifisere kjøkkenutstyr og kjøre slutninger på en utplassert forhåndsopplært SSD-modell, gjenkjenner ikke modellen noen egenskaper ved de nye bildetypene, og derfor er utdataene feil.
I denne delen viser vi hvor enkelt det er å finjustere en forhåndstrent modell for å oppdage nye objektklasser ved hjelp av JumpStart APIer. Det fullstendige kodeeksemplet med flere detaljer er tilgjengelig i medfølgende notatbok.
Hent treningsartefakter
Treningsartefakter ligner på slutningsartefakter diskutert i forrige avsnitt. Opplæring krever en base Docker-beholder, nemlig MXNet-beholderen i følgende eksempelkode. Eventuelle tilleggspakker som kreves for opplæring er inkludert i opplæringsskriptene i train_sourcer_uri
. Den ferdigtrente modellen og dens parametere er pakket separat.
Løpetrening
For å kjøre trening, mater vi ganske enkelt de nødvendige artefaktene sammen med noen tilleggsparametre til en SageMaker Estimator og ring .fit
funksjon:
Mens algoritmen trener, kan du overvåke fremdriften enten i SageMaker-notisboken der du kjører selve koden, eller på Amazon CloudWatch. Når treningen er fullført, lastes de finjusterte modellartefaktene opp til Amazon enkel lagringstjeneste (Amazon S3) utgangssted spesifisert i treningskonfigurasjonen. Du kan nå distribuere modellen på samme måte som den forhåndstrente modellen. Du kan følge resten av prosessen i medfølgende notatbok.
konklusjonen
I dette innlegget beskrev vi verdien av de nylig utgitte JumpStart APIene og hvordan du bruker dem. Vi ga lenker til 17 eksempelnotatbøker for de forskjellige ML-oppgavene som støttes i JumpStart, og ledet deg gjennom notatboken for objektgjenkjenning.
Vi ser frem til å høre fra deg mens du eksperimenterer med JumpStart.
Om forfatterne
Dr. Vivek Madan er en Applied Scientist med Amazon SageMaker JumpStart-teamet. Han fikk sin doktorgrad fra University of Illinois i Urbana-Champaign og var postdoktor ved Georgia Tech. Han er en aktiv forsker innen maskinlæring og algoritmedesign, og har publisert artikler på EMNLP-, ICLR-, COLT-, FOCS- og SODA-konferanser.
João Moura er en AI/ML-spesialistløsningsarkitekt hos Amazon Web Services. Han er for det meste fokusert på NLP-brukstilfeller og å hjelpe kunder med å optimalisere Deep Learning-modellopplæring og -implementering.
Dr. Ashish Khetan er Senior Applied Scientist med Amazon SageMaker JumpStart og Amazon SageMaker innebygde algoritmer og hjelper til med å utvikle maskinlæringsalgoritmer. Han er en aktiv forsker innen maskinlæring og statistisk inferens og har publisert mange artikler i NeurIPS, ICML, ICLR, JMLR og ACL-konferanser.
- Myntsmart. Europas beste Bitcoin og Crypto Exchange.
- Platoblokkkjede. Web3 Metaverse Intelligence. Kunnskap forsterket. FRI TILGANG.
- CryptoHawk. Altcoin Radar. Gratis prøveperiode.
- Kilde: https://aws.amazon.com/blogs/machine-learning/amazon-sagemaker-jumpstart-models-and-algorithms-now-available-via-api/
- "
- 100
- 2020
- nøyaktig
- tvers
- aktiv
- Ytterligere
- Fordel
- algoritme
- algoritmer
- Alle
- Amazon
- Amazon Web Services
- beløp
- Kunngjøre
- annonsert
- En annen
- hvor som helst
- api
- APIer
- søknader
- tilgjengelig
- AWS
- være
- Blogg
- Blogginnlegg
- Eske
- innebygd
- virksomhet
- ring
- evner
- saker
- endring
- klassifisering
- kode
- samling
- Felles
- samfunnet
- konferanser
- Konfigurasjon
- Container
- Containere
- inneholder
- innhold
- Kostnader
- Gjeldende
- Nåværende situasjon
- Kunder
- dato
- databehandling
- Etterspørsel
- utplassere
- utplasserings
- distribusjon
- utforming
- Gjenkjenning
- utvikle
- utviklet
- Utvikling
- forskjellig
- Vise
- Docker
- ikke
- domene
- lett
- kryptering
- Endpoint
- Enterprise
- Miljø
- eksempel
- eksperiment
- Face
- Trekk
- Egenskaper
- Endelig
- finansiell
- fleksibilitet
- flyten
- fokuserte
- følge
- etter
- format
- Forward
- fullt
- funksjon
- general
- generasjonen
- Georgia
- veilede
- Håndtering
- hjelpe
- hjelper
- Hvordan
- Hvordan
- HTTPS
- identifisere
- Illinois
- bilde
- inkludert
- Inkludert
- industriell
- involvert
- IT
- selv
- Jobb
- nøkler
- kunnskap
- etiketter
- stor
- lansere
- lært
- læring
- lenker
- plassering
- maskin
- maskinlæring
- Flertall
- Making
- ML
- modell
- modeller
- mest
- Mest populær
- nemlig
- bærbare
- Antall
- mange
- plattform
- Populær
- innlegg
- prediksjon
- Spådommer
- presentere
- problemer
- prosess
- Prosesser
- produsere
- Produkt
- gi
- gir
- spørsmål
- raskt
- sanntids
- gjenkjenne
- redusere
- påkrevd
- forskning
- Ressurser
- svar
- REST
- Resultater
- Kjør
- rennende
- Forsker
- forskere
- SDK
- sikkert
- sikkerhet
- valgt
- Tjenester
- sett
- lignende
- Enkelt
- So
- Solutions
- LØSE
- startet
- Tilstand
- statistisk
- lagring
- studio
- støtte
- Støttes
- Støtter
- oppgaver
- lag
- tech
- Gjennom
- tid
- i dag
- sammen
- Kurs
- Togene
- universitet
- låser opp
- Oppdater
- bruke
- bruk-tilfeller
- verdi
- videoer
- syn
- web
- webtjenester
- Hva
- innenfor
- skriving