Efterhånden som flere organisationer går over til maskinlæring (ML) for at skabe dybere indsigt, er to vigtige anstødssten, de støder på, mærkning og livscyklusstyring. Mærkning er identifikation af data og tilføjelse af etiketter for at give kontekst, så en ML-model kan lære af det. Etiketter kan angive en sætning i en lydfil, en bil på et fotografi eller et organ i en MR. Datamærkning er nødvendig for at sætte ML-modeller i stand til at arbejde mod dataene. Livscyklusstyring har at gøre med processen med at opsætte et ML-eksperiment og dokumentere datasættet, biblioteket, versionen og modellen, der bruges til at få resultater. Et hold kan køre hundredvis af eksperimenter, før de beslutter sig for én tilgang. Det kan være svært at gå tilbage og genskabe den tilgang uden registrering af elementerne i det pågældende eksperiment.
Mange ML-eksempler og selvstudier starter med et datasæt, der indeholder en målværdi. Data fra den virkelige verden har dog ikke altid en sådan målværdi. For eksempel kan en person i sentimentanalyse normalt foretage en vurdering af, om en anmeldelse er positiv, negativ eller blandet. Men anmeldelser består af en tekstsamling uden nogen vurderingsværdi. For at skabe en overvåget læring model til at løse dette problem, er et mærket datasæt af høj kvalitet afgørende. Amazon SageMaker Ground Truth er en fuldt administreret datamærkningstjeneste, der gør det nemt at bygge meget nøjagtige træningsdatasæt til ML.
For organisationer, der bruger Databricks som deres data- og analyseplatform på AWS til at udføre udtrække, transformere og indlæse (ETL) opgaver, er det ultimative mål ofte at træne en overvåget læringsmodel. I dette indlæg viser vi, hvordan Databricks integrerer med Ground Truth og Amazon SageMaker til datamærkning og modeldistribution.
Løsningsoversigt
Ground Truth er en fuldt administreret datamærkningstjeneste, der gør det nemt at bygge meget nøjagtige træningsdatasæt til ML. Gennem Ground Truth-konsollen kan vi skabe brugerdefinerede eller indbyggede datamærkningsarbejdsgange på få minutter. Disse arbejdsgange understøtter en række forskellige anvendelsesmuligheder, herunder 3D-punktskyer, video, billeder og tekst. Derudover tilbyder Ground Truth automatisk datamærkning, som bruger en ML-model til at mærke vores data.
Vi træner vores model på det offentligt tilgængelige Amazon Customer Reviews-datasæt. På et højt niveau er trinene som følger:
- Udtræk et råt datasæt, der skal mærkes, og flyt det til Amazon Simple Storage Service (Amazon S3).
- Udfør etikettering ved at oprette et etiketteringsjob i SageMaker.
- Byg og træne en simpel Scikit-learn lineær elevmodel til at klassificere følelsen af anmeldelsesteksten på Databricks platformen ved hjælp af en prøve notesbog.
- Brug MLflow komponenter til at skabe og udføre MLOps og gemme modelartefakter.
- Implementer modellen som et SageMaker-slutpunkt ved hjælp af MLflow SageMaker bibliotek til realtidsslutning.
Følgende diagram illustrerer mærkningen og ML-rejsen ved hjælp af Ground Truth og MLflow.
Opret et etiketteringsjob i SageMaker
Fra Amazon Customer Reviews-datasættet udtrækker vi kun tekstdelene, fordi vi er ved at opbygge en sentimentanalysemodel. Når den er udtrukket, lægger vi teksten i en S3-spand og opretter derefter et Ground Truth-mærkningsjob via SageMaker-konsollen.
På Opret etiketteringsjob side, udfyld alle obligatoriske felter. Som en del af trin på denne side giver Ground Truth dig mulighed for at generere jobmanifestfilen. Ground Truth bruger input-manifestfilen til at identificere antallet af filer eller objekter i mærkningsjobbet, så det rigtige antal opgaver oprettes og sendes til menneskelige (eller maskinelle) etiketteringsmaskiner. Filen gemmes automatisk i S3-bøtten. Det næste trin er at angive opgavekategorien og opgavevalg. I dette tilfælde vælger vi tekst som opgavekategori, og Tekstklassificering med en enkelt etiket til opgavevalg, hvilket betyder, at en anmeldelsestekst vil have en enkelt følelse: positiv, negativ eller neutral.
Til sidst skriver vi enkle, men kortfattede instruktioner til etikettere om, hvordan tekstdataene skal mærkes. Instruktionerne vises på mærkningsværktøjet, og du kan eventuelt gennemgå annotatorens visning på dette tidspunkt. Til sidst sender vi jobbet og overvåger fremskridtene på konsollen.
Mens mærkningsarbejdet er i gang, kan vi også se på de mærkede data på Produktion fanen. Vi kan overvåge hver anmeldelsestekst og etiket, og om arbejdet blev udført af et menneske eller en maskine. Vi kan vælge, at 100 % af mærkningsopgaverne skal udføres af mennesker eller vælge maskinannotering, som fremskynder jobbet og reducerer arbejdsomkostningerne.
Når jobbet er fuldført, indeholder mærkningsjoboversigten links til outputmanifestet og det mærkede datasæt. Vi kan også gå til Amazon S3 og downloade begge dele fra vores S3 bucket folder.
I de næste trin bruger vi en Databricks notesbog, MLflow, og datasæt mærket af Ground Truth til at bygge en Scikit-lære model.
Download et mærket datasæt fra Amazon S3
Vi starter med at downloade det mærkede datasæt fra Amazon S3. Manifestet gemmes i JSON-format, og vi indlæser det i en Spark DataFrame i Databricks. Til træning af sentimentanalysemodellen har vi kun brug for gennemgangsteksten og følelsen, der blev kommenteret af Ground Truth-mærkningsjobbet. Vi bruger select() til at udtrække disse to funktioner. Derefter konverterer vi datasættet fra en PySpark DataFrame til en Pandas DataFrame, fordi Scikit-learn-algoritmen kræver Pandas DataFrame-format.
Dernæst bruger vi Scikit-learn CountVectorizer
at omdanne anmeldelsesteksten til en bigramvektor ved at indstille ngram_range
max værdi til 2. CountVectorizer
konverterer tekst til en matrix af token-antal. Så bruger vi TfidfTransformer
at transformere bigramvektoren til et term frekvens-invers dokumentfrekvens (TF-IDF) format.
Vi sammenligner nøjagtighedsscorerne for træning udført med en bigramvektor vs. bigram med TF-IDF. TF-IDF er et statistisk mål, der vurderer, hvor relevant et ord er for et dokument i en samling af dokumenter. Fordi gennemgangsteksten har en tendens til at være relativt kort, kan vi observere, hvordan TF-IDF påvirker præstationen af den prædiktive model.
Opsæt et MLflow-eksperiment
MLflow blev udviklet af Databricks og er nu en open source-projekt. MLflow administrerer ML-livscyklussen, så du nemt kan spore, genskabe og udgive eksperimenter.
Til at opsætte MLflow-eksperimenter bruger vi mlflow.sklearn.autolog()
for at aktivere automatisk logning af hyperparametre, metrikker og modelartefakter, når som helst estimator.fit()
, estimator.fit_predict()
, , estimator.fit_transform()
hedder. Alternativt kan du gøre dette manuelt ved at ringe mlflow.log_param()
, mlflow.log_metric()
.
Vi tilpasser det transformerede datasæt til en lineær klassifikator med Stokastisk Gradient Descent (SGD) læring. Med SGD estimeres gradienten af tabet én prøve ad gangen, og modellen opdateres undervejs med et faldende styrkeskema.
De to datasæt, vi forberedte tidligere, videregives til train_and_show_scores()
funktion til træning. Efter træning skal vi registrere en model og gemme dens artefakter. Vi bruger mlflow.sklearn.log_model()
at gøre det.
Inden vi implementerer, ser vi på eksperimentets resultater og vælger to eksperimenter (et for bigram og det andet for bigram med TF-IDF) for at sammenligne. I vores anvendelsestilfælde klarede den anden model trænet med bigram TF-IDF en anelse bedre, så vi vælger den model at implementere. Efter at modellen er registreret, implementerer vi modellen og ændrer modelstadiet til produktion. Vi kan opnå dette på MLflow UI eller i koden ved hjælp af transition_model_version_stage()
.
Implementer og test modellen som et SageMaker-slutpunkt
Før vi implementerer den trænede model, skal vi bygge en Docker-container til at være vært for modellen i SageMaker. Det gør vi ved at køre en simpel MLflow-kommando, der bygger og skubber containeren til Amazon Elastic Container Registry (Amazon ECR) i vores AWS-konto.
Vi kan nu finde billed-URI'en på Amazon ECR-konsollen. Vi videregiver billedet URI som en image_url
parameter og brug DEPLOYMENT_MODE_CREATE
for tilstandsparameteren, hvis dette er en ny implementering. Hvis du opdaterer et eksisterende slutpunkt med en ny version, skal du bruge DEPLOYMENT_MODE_REPLACE
.
For at teste SageMaker-endepunktet opretter vi en funktion, der tager slutpunktets navn og inputdata som sine parametre.
Konklusion
I dette indlæg viste vi dig, hvordan du bruger Ground Truth til at mærke et råt datasæt, og brugen af de mærkede data til at træne en simpel lineær klassifikator ved hjælp af Scikit-learn. I dette eksempel bruger vi MLflow til at spore hyperparametre og metrikker, registrere en model i produktionskvalitet og implementere den trænede model til SageMaker som et slutpunkt. Sammen med Databricks til at behandle dataene, kan du automatisere hele denne use case, så efterhånden som nye data introduceres, kan de mærkes og bearbejdes i modellen. Ved at automatisere disse pipelines og modeller kan datavidenskabsteams fokusere på nye use cases og afdække mere indsigt i stedet for at bruge deres tid på at administrere dataopdateringer på en daglig basis.
Tjek ud for at komme i gang Brug Amazon SageMaker Ground Truth til at mærke data og tilmeld dig en 14-dages gratis prøveversion af Databricks på AWS. For at lære mere om, hvordan Databricks integrerer med SageMaker, såvel som andre AWS-tjenester som AWS Lim , Amazon rødforskydning, Kan du besøge Databricks på AWS.
Tjek desuden følgende ressourcer, der bruges i dette indlæg:
Brug følgende notesbog at komme i gang.
Om forfatterne
Rumi Olsen er Solutions Architect i AWS Partner Program. Hun har specialiseret sig i serverløse og maskinlæringsløsninger i sin nuværende rolle og har en baggrund i naturlige sprogbehandlingsteknologier. Hun bruger det meste af sin fritid sammen med sin datter på at udforske naturen i Pacific Northwest.
Igor Alekseev er Partner Solution Architect hos AWS i Data og Analytics. Igor arbejder sammen med strategiske partnere, der hjælper dem med at bygge komplekse, AWS-optimerede arkitekturer. Før han kom til AWS, som Data/Solution Architect, implementerede han mange projekter i Big Data, herunder flere datasøer i Hadoop-økosystemet. Som dataingeniør var han involveret i at anvende AI/ML til svindeldetektion og kontorautomatisering. Igors projekter var i en række forskellige brancher, herunder kommunikation, finans, offentlig sikkerhed, fremstilling og sundhedspleje. Tidligere arbejdede Igor som full stack ingeniør/tech lead.
Naseer Ahmed er Sr. Partner Solutions Architect hos Databricks, der støtter sin AWS-forretning. Naseer har specialiseret sig i Data Warehousing, Business Intelligence, App-udvikling, Container, Serverless, Machine Learning Architectures på AWS. Han blev kåret som 2021 SME of the year hos Databricks og er en ivrig kryptoentusiast.
- Coinsmart. Europas bedste Bitcoin og Crypto Exchange.
- Platoblokkæde. Web3 Metaverse Intelligence. Viden forstærket. FRI ADGANG.
- CryptoHawk. Altcoin radar. Gratis prøveversion.
- 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
- Konto
- præcis
- Desuden
- algoritme
- Alle
- Amazon
- analyse
- analytics
- app
- App-udvikling
- Anvendelse
- tilgang
- lyd
- auto
- Automation
- til rådighed
- AWS
- baggrund
- grundlag
- Big data
- bygge
- Bygning
- bygger
- indbygget
- virksomhed
- business intelligence
- bil
- tilfælde
- Boligtype
- Vælg
- klassificering
- kode
- samling
- Kommunikation
- komplekse
- Konsol
- Container
- indeholder
- Omkostninger
- oprettet
- Oprettelse af
- krypto
- Nuværende
- skik
- data
- datalogi
- dybere
- indsætte
- implementering
- implementering
- Detektion
- udviklet
- Udvikling
- svært
- fordeling
- Docker
- dokumenter
- Er ikke
- køre
- nemt
- økosystem
- muliggøre
- Endpoint
- ingeniør
- væsentlig
- anslået
- eksempel
- eksperiment
- Funktionalitet
- Fields
- Endelig
- finansiere
- passer
- Fokus
- efter
- format
- bedrageri
- Gratis
- fuld
- funktion
- generere
- mål
- gå
- sundhedspleje
- Høj
- stærkt
- Hvordan
- How To
- HTTPS
- menneskelig
- Mennesker
- Hundreder
- Identifikation
- identificere
- billede
- implementeret
- Herunder
- industrier
- indgang
- indsigt
- Intelligens
- involverede
- IT
- Job
- Karriere
- Nøgle
- mærkning
- Etiketter
- arbejdskraft
- Sprog
- føre
- LÆR
- læring
- Niveau
- Bibliotek
- links
- belastning
- maskine
- machine learning
- lavet
- maerker
- lykkedes
- ledelse
- styring
- manuelt
- Produktion
- Matrix
- måle
- Metrics
- blandet
- ML
- model
- modeller
- Overvåg
- mere
- mest
- bevæge sig
- Natural
- Natur
- notesbog
- nummer
- Tilbud
- ordrer
- organisationer
- Andet
- Pacific
- partner
- partnere
- ydeevne
- person,
- perron
- Punkt
- positiv
- Problem
- behandle
- produktion
- Program
- projekter
- give
- offentlige
- offentliggøre
- Raw
- realtid
- optegnelser
- register
- registreret
- relevant
- påkrævet
- Ressourcer
- Resultater
- gennemgå
- Anmeldelser
- Kør
- kører
- Sikkerhed
- Videnskab
- stemningen
- Serverless
- tjeneste
- Tjenester
- sæt
- indstilling
- Kort
- Simpelt
- So
- løsninger
- Løsninger
- SOLVE
- specialiseret
- udgifterne
- stable
- Stage
- starte
- påbegyndt
- statistiske
- opbevaring
- Strategisk
- support
- Støtte
- mål
- opgaver
- hold
- Teknologier
- prøve
- Gennem
- tid
- token
- værktøj
- spor
- Kurser
- Transform
- retssag
- tutorials
- ui
- ultimativ
- afdække
- opdateringer
- brug
- sædvanligvis
- værdi
- række
- video
- Specifikation
- hvorvidt
- uden
- Arbejde
- arbejdede
- virker
- år