Etter hvert som flere organisasjoner går over til maskinlæring (ML) for å skape dypere innsikt, er to viktige snublesteiner de støter på, merking og livssyklusadministrasjon. Merking er identifisering av data og å legge til etiketter for å gi kontekst slik at en ML-modell kan lære av det. Etiketter kan indikere en setning i en lydfil, en bil i et fotografi eller et organ i en MR. Datamerking er nødvendig for at ML-modeller skal fungere mot dataene. Livssyklusadministrasjon har å gjøre med prosessen med å sette opp et ML-eksperiment og dokumentere datasettet, biblioteket, versjonen og modellen som brukes for å få resultater. Et team kan kjøre hundrevis av eksperimenter før de bestemmer seg for én tilnærming. Å gå tilbake og gjenskape den tilnærmingen kan være vanskelig uten registreringer av elementene i det eksperimentet.
Mange ML-eksempler og veiledninger starter med et datasett som inkluderer en målverdi. Imidlertid har virkelige data ikke alltid en slik målverdi. For eksempel, i sentimentanalyse kan en person vanligvis ta en vurdering av om en anmeldelse er positiv, negativ eller blandet. Men anmeldelser består av en tekstsamling uten vurderingsverdi knyttet til den. For å lage en veiledet læring modell for å løse dette problemet, er et merket datasett av høy kvalitet avgjørende. Amazon SageMaker Ground Truth er en fullstendig administrert datamerkingstjeneste som gjør det enkelt å bygge svært nøyaktige opplæringsdatasett for ML.
For organisasjoner som bruker Databricks som sin data- og analyseplattform på AWS for å utføre uttrekk, transformasjon og lasting (ETL) oppgaver, er det endelige målet ofte å trene opp en overvåket læringsmodell. I dette innlegget viser vi hvordan Databricks integreres med Ground Truth og Amazon SageMaker for datamerking og modelldistribusjon.
Løsningsoversikt
Ground Truth er en fullstendig administrert datamerkingstjeneste som gjør det enkelt å bygge svært nøyaktige opplæringsdatasett for ML. Gjennom Ground Truth-konsollen kan vi lage tilpassede eller innebygde arbeidsflyter for datamerking på få minutter. Disse arbeidsflytene støtter en rekke bruksområder, inkludert 3D-punktskyer, video, bilder og tekst. I tillegg tilbyr Ground Truth automatisk datamerking, som bruker en ML-modell for å merke dataene våre.
Vi trener modellen vår på det offentlig tilgjengelige datasettet for Amazon Customer Reviews. På et høyt nivå er trinnene som følger:
- Trekk ut et rådatasett som skal merkes og flytt det til Amazon enkel lagringstjeneste (Amazon S3).
- Utfør merking ved å opprette en merkejobb i SageMaker.
- Bygg og tren en enkel Scikit-learn lineær elevmodell for å klassifisere sentimentet til anmeldelsesteksten på Databricks-plattformen ved å bruke et eksempel bærbare.
- Bruk MLflow komponenter for å lage og utføre MLOps og lagre modellartefakter.
- Distribuer modellen som et SageMaker-endepunkt ved å bruke MLflow SageMaker-bibliotek for sanntidsslutning.
Følgende diagram illustrerer merkingen og ML-reisen ved å bruke Ground Truth og MLflow.
Opprett en merkejobb i SageMaker
Fra Amazon Customer Reviews-datasettet trekker vi bare ut tekstdelene, fordi vi bygger en sentimentanalysemodell. Når den er pakket ut, legger vi teksten i en S3-bøtte og lager deretter en Ground Truth-merkejobb via SageMaker-konsollen.
På Lag merkejobb side, fyll ut alle obligatoriske felt. Som en del av trinnet på denne siden lar Ground Truth deg generere jobbmanifestfilen. Ground Truth bruker input-manifestfilen til å identifisere antall filer eller objekter i merkejobben, slik at riktig antall oppgaver opprettes og sendes til menneskelige (eller maskinelle) merkemaskiner. Filen lagres automatisk i S3-bøtten. Det neste trinnet er å spesifisere oppgavekategori og oppgavevalg. I denne brukssaken velger vi tekst som oppgavekategori, og Tekstklassifisering med en enkelt etikett for oppgavevalg, noe som betyr at en anmeldelsestekst vil ha en enkelt følelse: positiv, negativ eller nøytral.
Til slutt skriver vi enkle, men konsise instruksjoner for merkevare om hvordan tekstdataene skal merkes. Instruksjonene vises på merkeverktøyet, og du kan eventuelt gå gjennom kommentatorens visning på dette tidspunktet. Til slutt sender vi inn jobben og overvåker fremdriften på konsollen.
Mens merkejobben pågår, kan vi også se på de merkede dataene på Produksjon fanen. Vi kan overvåke hver anmeldelsestekst og -etikett, og om jobben ble utført av et menneske eller en maskin. Vi kan velge ut 100 % av merkejobbene som skal utføres av mennesker eller velge maskinkommentarer, som fremskynder jobben og reduserer arbeidskostnadene.
Når jobben er fullført, inneholder sammendraget av merkejobben koblinger til utdatamanifestet og det merkede datasettet. Vi kan også gå til Amazon S3 og laste ned begge deler fra S3-bøttemappen vår.
I de neste trinnene bruker vi en Databricks-notisbok, MLflow, og datasett merket av Ground Truth for å bygge en Scikit lære modell.
Last ned et merket datasett fra Amazon S3
Vi starter med å laste ned det merkede datasettet fra Amazon S3. Manifestet lagres i JSON-format og vi laster det inn i en Spark DataFrame i Databricks. For å trene sentimentanalysemodellen trenger vi bare gjennomgangsteksten og sentimentet som ble kommentert av Ground Truth-merkejobben. Vi bruker select() for å trekke ut disse to funksjonene. Deretter konverterer vi datasettet fra en PySpark DataFrame til en Pandas DataFrame, fordi Scikit-learn-algoritmen krever Pandas DataFrame-format.
Deretter bruker vi Scikit-learn CountVectorizer
for å transformere gjennomgangsteksten til en bigramvektor ved å sette ngram_range
maks verdi til 2. CountVectorizer
konverterer tekst til en matrise med tokenteller. Da bruker vi TfidfTransformer
å transformere bigramvektoren til et termfrekvens-invers dokumentfrekvens (TF-IDF) format.
Vi sammenligner nøyaktighetsskårene for trening utført med en bigramvektor vs. bigram med TF-IDF. TF-IDF er et statistisk mål som vurderer hvor relevant et ord er for et dokument i en dokumentsamling. Fordi gjennomgangsteksten har en tendens til å være relativt kort, kan vi observere hvordan TF-IDF påvirker ytelsen til den prediktive modellen.
Sett opp et MLflow-eksperiment
MLflow ble utviklet av Databricks og er nå en open source-prosjekt. MLflow administrerer ML-livssyklusen, slik at du enkelt kan spore, gjenskape og publisere eksperimenter.
For å sette opp MLflow-eksperimenter bruker vi mlflow.sklearn.autolog()
for å aktivere automatisk logging av hyperparametere, beregninger og modellartefakter når som helst estimator.fit()
, estimator.fit_predict()
, og estimator.fit_transform()
er kalt. Alternativt kan du gjøre dette manuelt ved å ringe mlflow.log_param()
og mlflow.log_metric()
.
Vi tilpasser det transformerte datasettet til en lineær klassifisering med Stokastisk Gradient Descent (SGD) læring. Med SGD estimeres gradienten til tapet én prøve om gangen og modellen oppdateres underveis med en avtagende styrkeplan.
De to datasettene vi utarbeidet tidligere, sendes til train_and_show_scores()
funksjon for trening. Etter trening må vi registrere en modell og lagre artefakter. Vi bruker mlflow.sklearn.log_model()
å gjøre slik.
Før vi distribuerer, ser vi på eksperimentets resultater og velger to eksperimenter (ett for bigram og det andre for bigram med TF-IDF) for å sammenligne. I vårt brukstilfelle presterte den andre modellen trent med bigram TF-IDF litt bedre, så vi velger den modellen å distribuere. Etter at modellen er registrert, distribuerer vi modellen, og endrer modellstadiet til produksjon. Vi kan oppnå dette på MLflow UI, eller i koden ved å bruke transition_model_version_stage()
.
Distribuer og test modellen som et SageMaker-endepunkt
Før vi distribuerer den trente modellen, må vi bygge en Docker-beholder for å være vert for modellen i SageMaker. Vi gjør dette ved å kjøre en enkel MLflow-kommando som bygger og skyver beholderen til Amazon Elastic Container Registry (Amazon ECR) i vår AWS-konto.
Vi kan nå finne bilde-URIen på Amazon ECR-konsollen. Vi sender bildet URI som en image_url
parameter og bruk DEPLOYMENT_MODE_CREATE
for modusparameteren hvis dette er en ny distribusjon. Hvis du oppdaterer et eksisterende endepunkt med en ny versjon, bruk DEPLOYMENT_MODE_REPLACE
.
For å teste SageMaker-endepunktet, lager vi en funksjon som tar endepunktnavnet og inndataene som parametere.
konklusjonen
I dette innlegget viste vi deg hvordan du bruker Ground Truth til å merke et rådatasett, og hvordan du bruker de merkede dataene til å trene en enkel lineær klassifiserer ved å bruke Scikit-learn. I dette eksemplet bruker vi MLflow til å spore hyperparametere og beregninger, registrere en produksjonsmodell og distribuere den trente modellen til SageMaker som et endepunkt. Sammen med Databricks for å behandle dataene, kan du automatisere hele denne brukssaken, slik at etter hvert som nye data blir introdusert, kan de merkes og behandles inn i modellen. Ved å automatisere disse rørledningene og modellene kan datavitenskapsteam fokusere på nye brukstilfeller og avdekke mer innsikt i stedet for å bruke tiden sin på å administrere dataoppdateringer på en daglig basis.
For å komme i gang, sjekk ut Bruk Amazon SageMaker Ground Truth til å merke data og meld deg på en 14-dagers gratis prøveversjon av Databricks på AWS. For å lære mer om hvordan Databricks integreres med SageMaker, så vel som andre AWS-tjenester som AWS Lim og Amazon RedShift, Besøk Databricks på AWS.
I tillegg kan du sjekke ut følgende ressurser som brukes i dette innlegget:
Bruk følgende bærbare å komme i gang.
Om forfatterne
Rumi Olsen er en løsningsarkitekt i AWS Partner Program. Hun spesialiserer seg på serverløse og maskinlæringsløsninger i sin nåværende rolle, og har bakgrunn fra naturlig språkbehandlingsteknologi. Hun tilbringer mesteparten av fritiden med datteren sin på å utforske naturen i Pacific Northwest.
Igor Alekseev er partnerløsningsarkitekt hos AWS i data og analyse. Igor jobber med strategiske partnere som hjelper dem med å bygge komplekse, AWS-optimaliserte arkitekturer. Før han begynte i AWS, som Data/Solution Architect, implementerte han mange prosjekter i Big Data, inkludert flere datainnsjøer i Hadoop-økosystemet. Som dataingeniør var han involvert i å bruke AI/ML til svindeloppdagelse og kontorautomatisering. Igors prosjekter var i en rekke bransjer, inkludert kommunikasjon, finans, offentlig sikkerhet, produksjon og helsevesen. Tidligere jobbet Igor som fullstack-ingeniør/teknologisk leder.
Naseer Ahmed er en Sr. Partner Solutions Architect hos Databricks som støtter sin AWS-virksomhet. Naseer spesialiserer seg på datavarehus, Business Intelligence, Apputvikling, Container, Serverless, Machine Learning Architectures på AWS. Han ble kåret til årets SMB 2021 hos Databricks og er en ivrig kryptoentusiast.
- 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/build-an-mlops-sentiment-analysis-pipeline-using-amazon-sagemaker-ground-truth-and-databricks-mlflow/
- "
- 100
- 2021
- 3d
- Om oss
- Logg inn
- nøyaktig
- tillegg
- algoritme
- Alle
- Amazon
- analyse
- analytics
- app
- Apputvikling
- påføring
- tilnærming
- lyd
- auto
- Automatisering
- tilgjengelig
- AWS
- bakgrunn
- basis
- Store data
- bygge
- Bygning
- bygger
- innebygd
- virksomhet
- business intelligence
- bil
- saker
- Kategori
- Velg
- klassifisering
- kode
- samling
- kommunikasjon
- komplekse
- Konsoll
- Container
- inneholder
- Kostnader
- opprettet
- Opprette
- krypto
- Gjeldende
- skikk
- dato
- datavitenskap
- dypere
- utplassere
- utplasserings
- distribusjon
- Gjenkjenning
- utviklet
- Utvikling
- vanskelig
- distribusjon
- Docker
- dokumenter
- ikke
- stasjonen
- lett
- økosystem
- muliggjøre
- Endpoint
- ingeniør
- avgjørende
- anslått
- eksempel
- eksperiment
- Egenskaper
- Felt
- Endelig
- finansiere
- passer
- Fokus
- etter
- format
- svindel
- Gratis
- fullt
- funksjon
- generere
- mål
- skal
- helsetjenester
- Høy
- svært
- Hvordan
- Hvordan
- HTTPS
- menneskelig
- Mennesker
- Hundrevis
- Identifikasjon
- identifisere
- bilde
- implementert
- Inkludert
- bransjer
- inngang
- innsikt
- Intelligens
- involvert
- IT
- Jobb
- Jobb
- nøkkel
- merking
- etiketter
- arbeidskraft
- Språk
- føre
- LÆRE
- læring
- Nivå
- Bibliotek
- lenker
- laste
- maskin
- maskinlæring
- laget
- GJØR AT
- fikk til
- ledelse
- administrerende
- manuelt
- produksjon
- Matrix
- måle
- Metrics
- blandet
- ML
- modell
- modeller
- Overvåke
- mer
- mest
- flytte
- Naturlig
- Natur
- bærbare
- Antall
- Tilbud
- rekkefølge
- organisasjoner
- Annen
- Pacific
- partner
- partnere
- ytelse
- person
- plattform
- Point
- positiv
- Problem
- prosess
- Produksjon
- program
- prosjekter
- gi
- offentlig
- publisere
- Raw
- sanntids
- poster
- registrere
- registrert
- relevant
- påkrevd
- Ressurser
- Resultater
- anmeldelse
- Anmeldelser
- Kjør
- rennende
- Sikkerhet
- Vitenskap
- sentiment
- server~~POS=TRUNC
- tjeneste
- Tjenester
- sett
- innstilling
- Kort
- Enkelt
- So
- løsning
- Solutions
- LØSE
- spesialisert
- utgifter
- stable
- Scene
- Begynn
- startet
- statistisk
- lagring
- Strategisk
- støtte
- Støtte
- Target
- oppgaver
- lag
- Technologies
- test
- Gjennom
- tid
- token
- verktøy
- spor
- Kurs
- Transform
- prøve
- tutorials
- ui
- ultimate
- avdekke
- oppdateringer
- bruke
- vanligvis
- verdi
- variasjon
- video
- Se
- om
- uten
- Arbeid
- arbeidet
- virker
- år