När fler organisationer går över till maskininlärning (ML) för att få djupare insikter, är två viktiga stötestenar de stöter på märkning och livscykelhantering. Märkning är identifiering av data och att lägga till etiketter för att ge sammanhang så att en ML-modell kan lära av det. Etiketter kan indikera en fras i en ljudfil, en bil i ett fotografi eller ett organ i en MRT. Datamärkning är nödvändig för att ML-modeller ska kunna arbeta mot datan. Livscykelhantering har att göra med processen att sätta upp ett ML-experiment och dokumentera datamängden, biblioteket, versionen och modellen som används för att få resultat. Ett team kan köra hundratals experiment innan de bestämmer sig för ett tillvägagångssätt. Att gå tillbaka och återskapa det tillvägagångssättet kan vara svårt utan registrering av elementen i det experimentet.
Många ML-exempel och handledningar börjar med en datauppsättning som innehåller ett målvärde. Men verklig data har inte alltid ett sådant målvärde. Till exempel, i sentimentanalys kan en person vanligtvis göra en bedömning om en recension är positiv, negativ eller blandad. Men recensioner består av en textsamling utan något bedömningsvärde. För att skapa en övervakad inlärning modell för att lösa detta problem, är en märkt datauppsättning av hög kvalitet väsentlig. Amazon SageMaker Ground Sannhet är en fullständigt hanterad datamärkningstjänst som gör det enkelt att bygga mycket exakta träningsdatauppsättningar för ML.
För organisationer som använder Databricks som sin data- och analysplattform på AWS för att utföra extrahera, transformera och ladda (ETL) uppgifter, är det slutliga målet ofta att träna en övervakad inlärningsmodell. I det här inlägget visar vi hur Databricks integrerar med Ground Truth och Amazon SageMaker för datamärkning och modelldistribution.
Lösningsöversikt
Ground Truth är en fullständigt hanterad datamärkningstjänst som gör det enkelt att bygga mycket exakta träningsdatauppsättningar för ML. Genom Ground Truth-konsolen kan vi skapa anpassade eller inbyggda arbetsflöden för datamärkning på några minuter. Dessa arbetsflöden stöder en mängd olika användningsfall, inklusive 3D-punktmoln, video, bilder och text. Dessutom erbjuder Ground Truth automatisk datamärkning, som använder en ML-modell för att märka våra data.
Vi tränar vår modell på den offentligt tillgängliga datauppsättningen Amazon Customer Reviews. På en hög nivå är stegen följande:
- Extrahera en rådatauppsättning som ska märkas och flytta den till Amazon enkel lagringstjänst (Amazon S3).
- Utför märkning genom att skapa ett märkningsjobb i SageMaker.
- Bygg och träna en enkel Scikit-learn linjär inlärningsmodell för att klassificera känslan av recensionstexten på Databricks-plattformen med hjälp av ett exempel anteckningsbok.
- Använda MLflow komponenter för att skapa och utföra MLOps och spara modellartefakter.
- Distribuera modellen som en SageMaker-slutpunkt med hjälp av MLflow SageMaker-bibliotek för realtids slutledning.
Följande diagram illustrerar märkningen och ML-resan med Ground Truth och MLflow.
Skapa ett märkningsjobb i SageMaker
Från Amazon Customer Reviews dataset extraherar vi endast textdelarna eftersom vi bygger en sentimentanalysmodell. När vi har extraherat den lägger vi texten i en S3-hink och skapar sedan ett Ground Truth-märkningsjobb via SageMaker-konsolen.
På Skapa märkningsjobb sida, fyll i alla obligatoriska fält. Som en del av steget på den här sidan låter Ground Truth dig skapa jobbmanifestfilen. Ground Truth använder indatamanifestfilen för att identifiera antalet filer eller objekt i etikettjobbet så att rätt antal uppgifter skapas och skickas till mänskliga (eller maskinella) etiketterare. Filen sparas automatiskt i S3-hinken. Nästa steg är att ange uppgiftskategori och uppgiftsval. I det här användningsfallet väljer vi text som uppgiftskategori, och Textklassificering med en enda etikett för uppgiftsval, vilket innebär att en recensionstext kommer att ha en enda känsla: positiv, negativ eller neutral.
Slutligen skriver vi enkla men koncisa instruktioner för etiketterare om hur man märker textdata. Instruktionerna visas på etikettverktyget och du kan valfritt granska kommentatorns vy just nu. Slutligen skickar vi in jobbet och övervakar framstegen på konsolen.
Medan märkningsjobbet pågår kan vi också titta på de märkta uppgifterna på Produktion flik. Vi kan övervaka varje recensionstext och etikett, och om jobbet gjordes av en människa eller maskin. Vi kan välja att 100 % av märkningsjobben ska utföras av människor eller välja maskinkommentarer, vilket påskyndar arbetet och minskar arbetskostnaderna.
När jobbet är klart innehåller sammanfattningen av etikettjobbet länkar till utdatamanifestet och den märkta datamängden. Vi kan också gå till Amazon S3 och ladda ner båda från vår S3 bucket-mapp.
I nästa steg använder vi en Databricks-anteckningsbok, MLflow, och datauppsättningar märkta av Ground Truth för att bygga en Scikit lära modell.
Ladda ner en märkt dataset från Amazon S3
Vi börjar med att ladda ner den märkta datamängden från Amazon S3. Manifestet sparas i JSON-format och vi laddar in det i en Spark DataFrame i Databricks. För att träna sentimentanalysmodellen behöver vi bara recensionstexten och sentimentet som kommenterades av Ground Truth-märkningsjobbet. Vi använder select() för att extrahera dessa två funktioner. Sedan konverterar vi datasetet från en PySpark DataFrame till en Pandas DataFrame, eftersom Scikit-learn-algoritmen kräver Pandas DataFrame-format.
Därefter använder vi Scikit-learn CountVectorizer
för att omvandla recensionstexten till en bigramvektor genom att ställa in ngram_range
maxvärde till 2. CountVectorizer
konverterar text till en matris av tokenantal. Då använder vi TfidfTransformer
för att omvandla bigramvektorn till ett termfrekvens-invers dokumentfrekvens (TF-IDF) format.
Vi jämför noggrannhetspoängen för träning gjord med en bigramvektor mot bigram med TF-IDF. TF-IDF är ett statistiskt mått som utvärderar hur relevant ett ord är för ett dokument i en samling dokument. Eftersom recensionstexten tenderar att vara relativt kort kan vi observera hur TF-IDF påverkar prestandan hos den prediktiva modellen.
Ställ in ett MLflow-experiment
MLflow utvecklades av Databricks och är nu en projekt med öppen källkod. MLflow hanterar ML-livscykeln, så att du enkelt kan spåra, återskapa och publicera experiment.
För att ställa in MLflow-experiment använder vi mlflow.sklearn.autolog()
för att aktivera automatisk loggning av hyperparametrar, mätvärden och modellartefakter när som helst estimator.fit()
, estimator.fit_predict()
, och estimator.fit_transform()
kallas. Alternativt kan du göra detta manuellt genom att ringa mlflow.log_param()
och mlflow.log_metric()
.
Vi anpassar den transformerade datamängden till en linjär klassificerare med Stokastisk Gradient Descent (SGD)-inlärning. Med SGD uppskattas gradienten för förlusten ett prov i taget och modellen uppdateras under vägen med ett minskande hållfasthetsschema.
De två datamängder som vi förberedde tidigare skickas till train_and_show_scores()
funktion för träning. Efter träning måste vi registrera en modell och spara dess artefakter. Vi använder mlflow.sklearn.log_model()
att göra så.
Innan vi distribuerar, tittar vi på experimentets resultat och väljer två experiment (ett för bigram och det andra för bigram med TF-IDF) att jämföra. I vårt användningsfall presterade den andra modellen tränad med bigram TF-IDF något bättre, så vi väljer den modellen att distribuera. Efter att modellen har registrerats distribuerar vi modellen och ändrar modellstadiet till produktion. Vi kan åstadkomma detta på MLflow UI eller i koden med hjälp av transition_model_version_stage()
.
Distribuera och testa modellen som en SageMaker-slutpunkt
Innan vi distribuerar den tränade modellen måste vi bygga en Docker-container för att vara värd för modellen i SageMaker. Vi gör detta genom att köra ett enkelt MLflow-kommando som bygger och skjuter behållaren till Amazon Elastic Container Registry (Amazon ECR) i vårt AWS-konto.
Vi kan nu hitta bildens URI på Amazon ECR-konsolen. Vi skickar bilden URI som en image_url
parameter och använd DEPLOYMENT_MODE_CREATE
för lägesparametern om detta är en ny distribution. Om du uppdaterar en befintlig slutpunkt med en ny version, använd DEPLOYMENT_MODE_REPLACE
.
För att testa SageMaker-ändpunkten skapar vi en funktion som tar slutpunktsnamnet och indata som sina parametrar.
Slutsats
I det här inlägget visade vi dig hur du använder Ground Truth för att märka en rå datamängd, och hur du använder den märkta datan för att träna en enkel linjär klassificerare med Scikit-learn. I det här exemplet använder vi MLflow för att spåra hyperparametrar och mätvärden, registrera en produktionsklassad modell och distribuera den tränade modellen till SageMaker som en slutpunkt. Tillsammans med Databricks för att bearbeta data kan du automatisera hela detta användningsfall, så när ny data introduceras kan den märkas och bearbetas i modellen. Genom att automatisera dessa pipelines och modeller kan datavetenskapsteam fokusera på nya användningsfall och upptäcka fler insikter istället för att lägga sin tid på att hantera datauppdateringar på en daglig basis.
För att komma igång, kolla in Använd Amazon SageMaker Ground Truth för att märka data och anmäl dig till en 14 dagars gratis testversion av Databricks på AWS. För att lära dig mer om hur Databricks integrerar med SageMaker, såväl som andra AWS-tjänster som AWS-lim och Amazon RedShift, Besök Databricks på AWS.
Dessutom, kolla in följande resurser som används i det här inlägget:
Använd följande anteckningsbok att komma igång.
Om författarna
Rumi Olsen är en lösningsarkitekt i AWS Partner Program. Hon är specialiserad på serverlösa och maskininlärningslösningar i sin nuvarande roll och har en bakgrund inom naturlig språkbehandlingsteknologi. Hon tillbringar större delen av sin fritid med sin dotter för att utforska naturen i Pacific Northwest.
Igor Alekseev är en Partner Solution Architect på AWS in Data and Analytics. Igor arbetar med strategiska partners som hjälper dem att bygga komplexa, AWS-optimerade arkitekturer. Innan han började på AWS, som Data/Solution Architect, implementerade han många projekt inom Big Data, inklusive flera datasjöar i Hadoop-ekosystemet. Som dataingenjör var han involverad i att tillämpa AI/ML för att upptäcka bedrägerier och kontorsautomation. Igors projekt var inom en mängd olika branscher, inklusive kommunikation, finans, allmän säkerhet, tillverkning och hälsovård. Tidigare arbetade Igor som full-stack ingenjör/tech lead.
Nasaren Ahmed är en Sr. Partner Solutions Architect på Databricks som stödjer sin AWS-verksamhet. Naseer är specialiserat på datalager, Business Intelligence, Apputveckling, Container, Serverless, Machine Learning Architectures på AWS. Han röstades fram till Årets SME 2021 på Databricks och är en ivrig kryptoentusiast.
- Myntsmart. Europas bästa bitcoin- och kryptobörs.
- Platoblockchain. Web3 Metaverse Intelligence. Kunskap förstärkt. FRI TILLGÅNG.
- CryptoHawk. Altcoin radar. Gratis provperiod.
- Källa: 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
- Konto
- exakt
- Dessutom
- algoritm
- Alla
- amason
- analys
- analytics
- app
- App-utveckling
- Tillämpa
- tillvägagångssätt
- audio
- bil
- Automation
- tillgänglig
- AWS
- bakgrund
- grund
- Stora data
- SLUTRESULTAT
- Byggnad
- bygger
- inbyggd
- företag
- business intelligence
- bil
- fall
- Kategori
- Välja
- klassificering
- koda
- samling
- Trygghet i vårdförloppet
- komplex
- Konsol
- Behållare
- innehåller
- Kostar
- skapas
- Skapa
- crypto
- Aktuella
- beställnings
- datum
- datavetenskap
- djupare
- distribuera
- utplacera
- utplacering
- Detektering
- utvecklade
- Utveckling
- svårt
- fördelning
- Hamnarbetare
- dokument
- inte
- driv
- lätt
- ekosystemet
- möjliggöra
- Slutpunkt
- ingenjör
- väsentlig
- beräknad
- exempel
- experimentera
- Funktioner
- Fält
- Slutligen
- finansiering
- passa
- Fokus
- efter
- format
- bedrägeri
- Fri
- full
- fungera
- generera
- Målet
- kommer
- hälso-och sjukvård
- Hög
- höggradigt
- Hur ser din drömresa ut
- How To
- HTTPS
- humant
- Människa
- Hundratals
- Identifiering
- identifiera
- bild
- genomföras
- Inklusive
- industrier
- ingång
- insikter
- Intelligens
- involverade
- IT
- Jobb
- Lediga jobb
- Nyckel
- märkning
- Etiketter
- arbetskraft
- språk
- leda
- LÄRA SIG
- inlärning
- Nivå
- Bibliotek
- länkar
- läsa in
- Maskinen
- maskininlärning
- gjord
- GÖR
- förvaltade
- ledning
- hantera
- manuellt
- Produktion
- Matris
- mäta
- Metrics
- blandad
- ML
- modell
- modeller
- Övervaka
- mer
- mest
- flytta
- Natural
- Natur
- anteckningsbok
- antal
- Erbjudanden
- beställa
- organisationer
- Övriga
- stilla havet
- partnern
- partner
- prestanda
- personen
- plattform
- Punkt
- positiv
- Problem
- process
- Produktion
- Program
- projekt
- ge
- allmän
- publicera
- Raw
- realtid
- register
- registrera
- registrerat
- relevanta
- Obligatorisk
- Resurser
- Resultat
- översyn
- Omdömen
- Körning
- rinnande
- Säkerhet
- Vetenskap
- känsla
- Server
- service
- Tjänster
- in
- inställning
- Kort
- Enkelt
- So
- lösning
- Lösningar
- LÖSA
- specialiserat
- Spendera
- stapel
- Etapp
- starta
- igång
- statistisk
- förvaring
- Strategisk
- stödja
- Stödjande
- Målet
- uppgifter
- grupp
- Tekniken
- testa
- Genom
- tid
- token
- verktyg
- spår
- Utbildning
- Förvandla
- rättegång
- självstudiekurser
- ui
- slutliga
- avslöja
- Uppdateringar
- användning
- vanligen
- värde
- mängd
- Video
- utsikt
- om
- utan
- Arbete
- arbetade
- fungerar
- år