Skapa data av hög kvalitet för ML-modeller med Amazon SageMaker Ground Truth PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Skapa data av hög kvalitet för ML-modeller med Amazon SageMaker Ground Truth

Maskininlärning (ML) har förbättrat affärer i olika branscher under de senaste åren – från rekommendationssystemet på din Prime Video konto, att dokumentera sammanfattning och effektiv sökning med alexas rösthjälp. Frågan kvarstår dock om hur man införlivar denna teknik i ditt företag. Till skillnad från traditionella regelbaserade metoder härleder ML automatiskt mönster från data för att utföra din uppgift av intresse. Även om detta kringgår behovet av att kurera regler för automatisering, betyder det också att ML-modeller bara kan vara lika bra som de data som de är utbildade på. Men att skapa data är ofta en utmanande uppgift. Vid Amazon Machine Learning Solutions Lab, vi har stött på det här problemet upprepade gånger och vill underlätta denna resa för våra kunder. Om du vill ta bort den här processen kan du använda Amazon SageMaker Ground Truth Plus.

I slutet av det här inlägget kommer du att kunna uppnå följande:

  • Förstå de affärsprocesser som är involverade i att upprätta en datainsamlingspipeline
  • Identifiera AWS molntjänster för att stödja och påskynda din datamärkningspipeline
  • Kör en datainsamling och märkningsuppgift för anpassade användningsfall
  • Skapa data av hög kvalitet enligt affärsmässiga och tekniska bästa praxis

Under hela det här inlägget fokuserar vi på dataskapandeprocessen och förlitar oss på AWS-tjänster för att hantera infrastrukturen och processkomponenterna. Vi använder nämligen Amazon SageMaker Ground Sannhet att hantera märkningsinfrastrukturens pipeline och användargränssnitt. Den här tjänsten använder en punkt-och-gå-metod för att samla in din data från Amazon enkel lagringstjänst (Amazon S3) och ställ in ett arbetsflöde för märkning. För märkning ger den dig den inbyggda flexibiliteten att skaffa dataetiketter med ditt privata team, en Amazon Mekanisk Turk force, eller din föredragna etikettleverantör från AWS Marketplace. Slutligen kan du använda AWS Lambda och Amazon SageMaker-bärbara datorer att bearbeta, visualisera eller kvalitetskontrollera data – antingen före eller efter märkning.

Nu när alla delar har lagts ner, låt oss börja processen!

Processen för att skapa data

I motsats till vanlig intuition är det första steget för att skapa data inte datainsamling. Att arbeta bakåt från användarna för att formulera problemet är avgörande. Till exempel, vad bryr sig användarna om i den slutliga artefakten? Var tror experter att de signaler som är relevanta för användningsfallet finns i data? Vilken information om användningsfallsmiljön skulle kunna tillhandahållas för att modellera? Om du inte vet svaren på dessa frågor, oroa dig inte. Ge dig själv lite tid att prata med användare och fältexperter för att förstå nyanserna. Denna första förståelse kommer att orientera dig i rätt riktning och göra dig redo för framgång.

För det här inlägget antar vi att du har täckt denna inledande process av användarkravsspecifikation. De följande tre avsnitten leder dig genom den efterföljande processen att skapa kvalitetsdata: planering, skapande av källdata och datakommentarer. Pilotslingor vid dataskapande och anteckningsstegen är avgörande för att säkerställa ett effektivt skapande av märkt data. Detta innebär iteration mellan skapande av data, anteckningar, kvalitetssäkring och uppdatering av pipelinen vid behov.

Följande figur ger en översikt över de steg som krävs i en typisk pipeline för dataskapande. Du kan arbeta baklänges från användningsfallet för att identifiera data som du behöver (kravspecifikation), bygga en process för att erhålla datan (planering), implementera den faktiska datainsamlingsprocessen (datainsamling och anteckning) och utvärdera resultaten. Pilotkörningar, markerade med streckade linjer, låter dig iterera på processen tills en datainsamlingspipeline av hög kvalitet har utvecklats.

Översikt över steg som krävs i en typisk pipeline för dataskapande.

Planering

En standardprocess för att skapa data kan vara tidskrävande och ett slöseri med värdefulla mänskliga resurser om den utförs ineffektivt. Varför skulle det vara tidskrävande? För att svara på denna fråga måste vi förstå omfattningen av dataskapandeprocessen. För att hjälpa dig har vi samlat en checklista på hög nivå och beskrivning av nyckelkomponenter och intressenter som du måste överväga. Att svara på dessa frågor kan vara svårt i början. Beroende på ditt användningsfall kan bara några av dessa vara tillämpliga.

  • Identifiera den juridiska kontaktpunkten för nödvändiga godkännanden – Att använda data för din applikation kan kräva licens- eller leverantörskontraktgranskning för att säkerställa efterlevnad av företagets policyer och användningsfall. Det är viktigt att identifiera ditt juridiska stöd under hela datainsamlingen och anteckningsstegen i processen.
  • Identifiera säkerhetskontakten för datahantering –Läckage av köpt data kan leda till allvarliga böter och konsekvenser för ditt företag. Det är viktigt att identifiera ditt säkerhetsstöd under hela datainsamlingen och anteckningsstegen för att säkerställa säker praxis.
  • Detaljera användningsfallskrav och definiera källdata och riktlinjer för kommentarer – Att skapa och kommentera data är svårt på grund av den höga specificitet som krävs. Intressenter, inklusive datageneratorer och annotatorer, måste vara helt anpassade för att undvika slöseri med resurser. För detta ändamål är det vanligt att använda ett dokument med riktlinjer som specificerar varje aspekt av anteckningsuppgiften: exakta instruktioner, kantfall, en exempelgenomgång och så vidare.
  • Ställ in förväntningarna på att samla in din källdata – Tänk på följande:
    • Utför forskning om potentiella datakällor – Till exempel offentliga datauppsättningar, befintliga datauppsättningar från andra interna team, självinsamlade eller köpta data från leverantörer.
    • Utför kvalitetsbedömning – Skapa en analyspipeline med relation till det slutliga användningsfallet.
  • Anpassa förväntningarna för att skapa datakommentarer – Tänk på följande:
    • Identifiera de tekniska intressenterna – Det här är vanligtvis en individ eller ett team i ditt företag som kan använda den tekniska dokumentationen om Ground Truth för att implementera en annoteringspipeline. Dessa intressenter är också ansvariga för kvalitetsbedömning av de kommenterade data för att säkerställa att den uppfyller behoven i din nedströms ML-applikation.
    • Identifiera datakommentarerna – Dessa personer använder förutbestämda instruktioner för att lägga till etiketter till dina källdata inom Ground Truth. De kan behöva ha domänkunskap beroende på ditt användningsfall och riktlinjer för kommentarer. Du kan använda en arbetsstyrka internt i ditt företag, eller betala för en personal som leds av en extern leverantör.
  • Säkerställa tillsyn över processen för att skapa data – Som du kan se från de föregående punkterna är dataskapande en detaljerad process som involverar många specialiserade intressenter. Därför är det viktigt att övervaka det från början till slut mot det önskade resultatet. Att ha en dedikerad person eller ett team som övervakar processen kan hjälpa dig att säkerställa en sammanhållen, effektiv dataskapande process.

Beroende på vilken rutt du väljer att ta, måste du också tänka på följande:

  • Skapa källdatauppsättningen – Det här hänvisar till tillfällen när befintlig data inte är lämplig för uppgiften eller juridiska begränsningar hindrar dig från att använda den. Interna team eller externa leverantörer (nästa punkt) måste användas. Detta är ofta fallet för högt specialiserade domäner eller områden med låg offentlig forskning. Till exempel, en läkares vanliga frågor, plagg lägga ner, eller sportexperter. Det kan vara internt eller externt.
  • Undersök leverantörer och genomför en onboardingprocess – När externa leverantörer används måste en avtals- och introduktionsprocess upprättas mellan båda enheterna.

I det här avsnittet gick vi igenom de komponenter och intressenter som vi måste överväga. Men hur ser själva processen ut? I följande figur skisserar vi ett processarbetsflöde för dataskapande och anteckningar. Det iterativa tillvägagångssättet använder små partier av data som kallas piloter för att minska handläggningstiden, upptäcka fel tidigt och undvika att slösa resurser på att skapa data av låg kvalitet. Vi beskriver dessa pilotrundor längre fram i detta inlägg. Vi täcker också några bästa metoder för att skapa data, anteckningar och kvalitetskontroll.

Följande figur illustrerar den iterativa utvecklingen av en pipeline för dataskapande. Vertikalt hittar vi datakällans block (grönt) och anteckningsblocket (blått). Båda blocken har oberoende pilotomgångar (Dataskapande/kommentarer, QAQC och Update). Allt högre källdata skapas och kan användas för att konstruera annoteringar av allt högre kvalitet.

Under den iterativa utvecklingen av ett dataskapande eller annoteringspipeline används små partier av data för oberoende piloter. Varje pilotrunda har en dataskapande eller anteckningsfas, viss kvalitetssäkring och kvalitetskontroll av resultaten och ett uppdateringssteg för att förfina processen. Efter att dessa processer har finslipats genom successiva pilotprojekt kan du fortsätta till storskalig dataskapande och anteckningar.

Översikt över iterativ utveckling i en pipeline för dataskapande.

Skapande av källdata

Processen att skapa indata kretsar kring att iscensätta dina föremål av intresse, vilket beror på din uppgiftstyp. Dessa kan vara bilder (tidningsskanningar), videor (trafikscener), 3D-punktmoln (medicinska skanningar) eller helt enkelt text (undertextspår, transkriptioner). I allmänhet, när du iscensätter dina uppgiftsrelaterade objekt, se till att följande:

  • Återspegla det verkliga användningsfallet för det eventuella AI/ML-systemet – Inställningen för att samla in bilder eller videor för dina träningsdata bör stämma överens med inställningarna för dina indata i den verkliga applikationen. Detta innebär att ha konsekventa placeringsytor, ljuskällor eller kameravinklar.
  • Redovisa och minimera variationskällor – Tänk på följande:
    • Utveckla bästa praxis för att upprätthålla standarder för datainsamling – Beroende på granulariteten i ditt användningsfall kan du behöva specificera krav för att garantera överensstämmelse mellan dina datapunkter. Om du till exempel samlar in bild- eller videodata från enstaka kamerapunkter kan du behöva se till att dina objekt av intresse är konsekventa placerade, eller kräva en kvalitetskontroll för kameran innan en datainsamlingsrunda. Detta kan undvika problem som kameralutning eller oskärpa, och minimera nedströms omkostnader som att ta bort bilder utanför bildrutan eller suddiga bilder, samt att manuellt behöva centrera bildramen på ditt intresseområde.
    • Föregrip testtidskällor för variabilitet – Om du förutser variabilitet i något av de attribut som nämnts hittills under testtiden, se till att du kan fånga dessa variabilitetskällor när du skapar träningsdata. Till exempel, om du förväntar dig att din ML-applikation ska fungera i flera olika ljusinställningar, bör du sikta på att skapa träningsbilder och videor med olika ljusinställningar. Beroende på användningsfallet kan variationer i kamerapositionering också påverka kvaliteten på dina etiketter.
  • Inkorporera tidigare domänkunskaper när det är tillgängligt – Tänk på följande:
    • Indata om felkällor – Domänutövare kan ge insikter om felkällor baserat på sina många års erfarenhet. De kan ge feedback om bästa praxis för de två föregående punkterna: Vilka inställningar återspeglar det verkliga användningsfallet bäst? Vilka är de möjliga källorna till variabilitet under datainsamling eller vid tidpunkten för användning?
    • Domänspecifik datainsamling bästa praxis – Även om dina tekniska intressenter kanske redan har en bra uppfattning om de tekniska aspekterna att fokusera på i bilderna eller videorna som samlas in, kan domänpraktiker ge feedback om hur man bäst kan iscensätta eller samla in data så att dessa behov tillgodoses.

Kvalitetskontroll och kvalitetssäkring av skapad data

Nu när du har ställt in datainsamlingspipelinen kan det vara frestande att gå vidare och samla in så mycket data som möjligt. Vänta en minut! Vi måste först kontrollera om informationen som samlas in genom installationen är lämplig för ditt användningsfall med riktiga ord. Vi kan använda några inledande prover och iterativt förbättra inställningen genom de insikter som vi fick genom att analysera provdata. Arbeta nära dina tekniska, affärsmässiga och annoterade intressenter under pilotprocessen. Detta kommer att se till att din resulterande pipeline uppfyller affärsbehoven samtidigt som den genererar ML-färdiga märkta data med minimala omkostnader.

Anteckningar

Annoteringen av ingångar är där vi lägger den magiska touchen till vår data – etiketterna! Beroende på din uppgiftstyp och dataskapandeprocess kan du behöva manuella kommentatorer, eller så kan du använda vanliga automatiska metoder. Själva dataannoteringspipelinen kan vara en tekniskt utmanande uppgift. Ground Truth underlättar denna resa för dina tekniska intressenter med sin inbyggd repertoar av märkningsarbetsflöden för vanliga datakällor. Med några ytterligare steg gör det också att du kan bygga anpassade arbetsflöden för märkning utöver förkonfigurerade alternativ.

Ställ dig själv följande frågor när du utvecklar ett lämpligt arbetsflöde för anteckningar:

  • Behöver jag en manuell anteckningsprocess för mina data? I vissa fall kan automatiserade märkningstjänster vara tillräckliga för uppgiften. Att granska dokumentationen och tillgängliga verktyg kan hjälpa dig att identifiera om manuell anteckning är nödvändig för ditt användningsfall (för mer information, se Vad är datamärkning?). Dataskapandeprocessen kan tillåta olika nivåer av kontroll när det gäller granulariteten i din datakommentar. Beroende på denna process kan du ibland även kringgå behovet av manuell anteckning. För mer information, se Bygg en anpassad fråge- och svarsuppsättning med Amazon SageMaker Ground Truth för att träna en Hugging Face Q&A NLU-modell.
  • Vad utgör min grundsanning? I de flesta fall kommer grundsanningen från din anteckningsprocess – det är hela poängen! I andra kan användaren ha tillgång till marksanningsetiketter. Detta kan avsevärt påskynda din kvalitetssäkringsprocess eller minska de omkostnader som krävs för flera manuella kommentarer.
  • Vilken är den övre gränsen för mängden avvikelse från mitt sanningstillstånd? Arbeta med dina slutanvändare för att förstå de typiska felen kring dessa etiketter, källorna till sådana fel och den önskade minskningen av fel. Detta hjälper dig att identifiera vilka aspekter av märkningsuppgiften som är mest utmanande eller sannolikt har anteckningsfel.
  • Finns det redan existerande regler som används av användare eller fältutövare för att märka dessa föremål? Använd och förfina dessa riktlinjer för att skapa en uppsättning instruktioner för dina manuella kommentatorer.

Pilotering av inmatningsprocessen

Tänk på följande när du piloterar processen för inmatningskommentarer:

  • Gå igenom instruktionerna med annotatorerna och fältutövarna – Instruktionerna ska vara kortfattade och specifika. Be om feedback från dina användare (Är instruktionerna korrekta? Kan vi revidera några instruktioner för att se till att de är förståeliga för utövare utanför fältet?) och annotatorer (Är allt förståeligt? Är uppgiften tydlig?). Om det är möjligt, lägg till ett exempel på bra och dåliga märkta data för att hjälpa dina kommentatorer att identifiera vad som förväntas och hur vanliga märkningsfel kan se ut.
  • Samla in data för kommentarer – Granska data med din kund för att se till att den uppfyller de förväntade standarderna och för att anpassa sig efter förväntade resultat från den manuella anteckningen.
  • Ge exempel till din pool av manuella kommentatorer som en testkörning – Vilken är den typiska variansen mellan kommentatorerna i denna uppsättning exempel? Studera variansen för varje anteckning inom en given bild för att identifiera konsistenstrenderna bland annotatorer. Jämför sedan varianserna mellan bilderna eller videoramarna för att identifiera vilka etiketter som är utmanande att placera.

Kvalitetskontroll av anteckningarna

Kvalitetskontroll av anteckningar har två huvudkomponenter: att bedöma överensstämmelse mellan kommentatorerna och att bedöma kvaliteten på själva anteckningarna.

Du kan tilldela flera annotatorer till samma uppgift (t.ex. tre annotatorer etiketterar nyckelpunkterna på samma bild) och mäter medelvärdet tillsammans med standardavvikelsen för dessa etiketter bland annotatorerna. Att göra det hjälper dig att identifiera eventuella avvikande kommentarer (felaktig etikett används eller etikett långt borta från den genomsnittliga annoteringen), som kan vägleda handlingsbara resultat, som att förfina dina instruktioner eller ge ytterligare utbildning till vissa annotatorer.

Att bedöma kvaliteten på själva annoteringarna är kopplat till annotatorns variabilitet och (när det är tillgängligt) tillgängligheten av domänexperter eller grundsanningsinformation. Finns det vissa etiketter (för alla dina bilder) där den genomsnittliga variansen mellan kommentatorer är konsekvent hög? Är några etiketter långt ifrån dina förväntningar om var de ska vara eller hur de ska se ut?

Baserat på vår erfarenhet kan en typisk kvalitetskontrollslinga för datakommentarer se ut så här:

  • Iterera på instruktionerna eller bildinställningen baserat på resultat från testkörningen – Är några objekt tilltäppta eller matchar inte bildinställningen annotatorernas eller användarnas förväntningar? Är instruktionerna missvisande, eller har du missat några etiketter eller vanliga fel i dina exemplarbilder? Kan du förfina instruktionerna för dina kommentatorer?
  • Om du är övertygad om att du har åtgärdat några problem från testkörningen, gör en grupp kommentarer – För att testa resultaten från partiet, följ samma kvalitetsbedömningsmetod för att bedöma variationer mellan annotatorer och etiketter mellan bilder.

Slutsats

Det här inlägget fungerar som en guide för företagsintressenter att förstå komplexiteten i dataskapande för AI/ML-applikationer. De beskrivna processerna fungerar också som en guide för tekniska praktiker att generera kvalitetsdata samtidigt som affärsbegränsningar som personal och kostnader optimeras. Om det inte görs bra kan en pipeline för dataskapande och märkning ta uppåt 4–6 månader.

Med riktlinjerna och förslagen som beskrivs i det här inlägget kan du förebygga vägspärrar, minska tiden till färdigställande och minimera kostnaderna för din resa mot att skapa data av hög kvalitet.


Om författarna

Skapa data av hög kvalitet för ML-modeller med Amazon SageMaker Ground Truth PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Jasleen Grewal är en tillämpad forskare på Amazon Web Services, där hon arbetar med AWS-kunder för att lösa verkliga problem med hjälp av maskininlärning, med särskilt fokus på precisionsmedicin och genomik. Hon har en stark bakgrund inom bioinformatik, onkologi och klinisk genomik. Hon brinner för att använda AI/ML och molntjänster för att förbättra patientvården.

Skapa data av hög kvalitet för ML-modeller med Amazon SageMaker Ground Truth PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Boris Aronchik är chef i Amazon AI Machine Learning Solutions Lab, där han leder ett team av ML-forskare och ingenjörer för att hjälpa AWS-kunder att förverkliga affärsmål med AI/ML-lösningar.

Skapa data av hög kvalitet för ML-modeller med Amazon SageMaker Ground Truth PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Miguel Romero Calvo är en tillämpad vetenskapsman vid Amazon ML Solutions Lab där han samarbetar med AWS interna team och strategiska kunder för att accelerera sin verksamhet genom ML och molnadoption.

Skapa data av hög kvalitet för ML-modeller med Amazon SageMaker Ground Truth PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Lin Lee Cheong är senior vetenskapsman och chef med Amazon ML Solutions Lab-teamet på Amazon Web Services. Hon arbetar med strategiska AWS-kunder för att utforska och tillämpa artificiell intelligens och maskininlärning för att upptäcka nya insikter och lösa komplexa problem.

Tidsstämpel:

Mer från AWS maskininlärning