Generativ dataintelligens

Skab data af høj kvalitet til ML-modeller med Amazon SageMaker Ground Truth

Dato:

Machine learning (ML) har forbedret forretning på tværs af brancher i de seneste år – fra anbefalingssystemet på din Prime Video konto, til at dokumentere opsummering og effektiv søgning med Alexa's stemmehjælp. Spørgsmålet er dog stadig, hvordan man integrerer denne teknologi i din virksomhed. I modsætning til traditionelle regelbaserede metoder udleder ML automatisk mønstre fra data for at udføre din interesseopgave. Selvom dette omgår behovet for at kurere regler for automatisering, betyder det også, at ML-modeller kun kan være lige så gode som de data, de er uddannet på. Dataoprettelse er dog ofte en udfordrende opgave. Ved Amazon Machine Learning Solutions Lab, har vi gentagne gange stødt på dette problem og ønsker at lette denne rejse for vores kunder. Hvis du ønsker at aflaste denne proces, kan du bruge Amazon SageMaker Ground Truth Plus.

Ved slutningen af ​​dette indlæg vil du være i stand til at opnå følgende:

  • Forstå de forretningsprocesser, der er involveret i at opsætte en dataindsamlingspipeline
  • Identificer AWS Cloud-tjenester til at understøtte og fremskynde din datamærkningspipeline
  • Kør en dataindsamlings- og etiketteringsopgave til brugertilpassede brugssager
  • Opret data af høj kvalitet efter forretningsmæssig og teknisk bedste praksis

Igennem dette indlæg fokuserer vi på dataoprettelsesprocessen og er afhængige af AWS-tjenester til at håndtere infrastrukturen og proceskomponenterne. Vi bruger nemlig Amazon SageMaker Ground Truth at håndtere mærkningsinfrastrukturens pipeline og brugergrænseflade. Denne tjeneste bruger en point-and-go tilgang til at indsamle dine data fra Amazon Simple Storage Service (Amazon S3) og opsæt en mærkningsarbejdsgang. Til mærkning giver det dig den indbyggede fleksibilitet til at erhverve dataetiketter ved hjælp af dit private team, en Amazon Mechanical Turk force, eller din foretrukne mærkningsleverandør fra AWS Marketplace. Til sidst kan du bruge AWS Lambda , Amazon SageMaker notesbøger at behandle, visualisere eller kvalitetskontrollere dataene – enten før eller efter mærkning.

Nu hvor alle brikkerne er blevet lagt ned, lad os starte processen!

Dataoprettelsesprocessen

I modsætning til almindelig intuition er det første skridt til dataoprettelse ikke dataindsamling. At arbejde baglæns fra brugerne for at formulere problemet er afgørende. For eksempel, hvad bekymrer brugerne sig om i den endelige artefakt? Hvor mener eksperter, at de signaler, der er relevante for use casen, findes i dataene? Hvilke oplysninger om use case-miljøet kunne leveres til modellering? Hvis du ikke kender svarene på disse spørgsmål, så fortvivl ikke. Giv dig selv lidt tid til at tale med brugere og felteksperter for at forstå nuancerne. Denne indledende forståelse vil orientere dig i den rigtige retning og sætte dig op til succes.

For dette indlæg antager vi, at du har dækket denne indledende proces med brugerkravspecifikation. De næste tre afsnit leder dig gennem den efterfølgende proces med at skabe kvalitetsdata: planlægning, oprettelse af kildedata og dataannotering. Pilotsløjfer ved dataoprettelse og annoteringstrin er afgørende for at sikre effektiv oprettelse af mærkede data. Dette involverer iteration mellem dataoprettelse, annotering, kvalitetssikring og opdatering af pipelinen efter behov.

Følgende figur giver et overblik over de nødvendige trin i en typisk dataoprettelsespipeline. Du kan arbejde baglæns fra use casen for at identificere de data, du har brug for (kravspecifikation), opbygge en proces til at indhente dataene (Planlægning), implementere den faktiske dataindsamlingsproces (Dataindsamling og annotering) og vurdere resultaterne. Pilotkørsler, fremhævet med stiplede linjer, lader dig gentage processen, indtil der er udviklet en pipeline til dataopsamling af høj kvalitet.

Oversigt over nødvendige trin i en typisk dataoprettelsespipeline.

Planlægning

En standard dataoprettelsesproces kan være tidskrævende og spild af værdifulde menneskelige ressourcer, hvis den udføres ineffektivt. Hvorfor skulle det være tidskrævende? For at besvare dette spørgsmål skal vi forstå omfanget af dataoprettelsesprocessen. For at hjælpe dig har vi samlet en tjekliste på højt niveau og beskrivelse af nøglekomponenter og interessenter, som du skal overveje. Det kan være svært i starten at besvare disse spørgsmål. Afhængigt af dit brugstilfælde er det muligvis kun nogle af disse, der er relevante.

  • Identificer det juridiske kontaktpunkt for nødvendige godkendelser – Brug af data til din applikation kan kræve licens- eller leverandørkontraktgennemgang for at sikre overholdelse af virksomhedens politikker og brugssager. Det er vigtigt at identificere din juridiske støtte gennem processens dataindsamlings- og annoteringstrin.
  • Identificer sikkerhedskontakten for datahåndtering –Lækage af købte data kan resultere i alvorlige bøder og konsekvenser for din virksomhed. Det er vigtigt at identificere din sikkerhedssupport i hele dataindsamlings- og annoteringstrinene for at sikre sikker praksis.
  • Detaljeret brugscasekrav og definer kildedata og retningslinjer for annoteringer – Det er vanskeligt at oprette og kommentere data på grund af den høje specificitet, der kræves. Interessenter, herunder datageneratorer og annotatorer, skal være fuldstændig på linje for at undgå ressourcespild. Til dette formål er det almindelig praksis at bruge et guidelines-dokument, der specificerer alle aspekter af annoteringsopgaven: nøjagtige instruktioner, kantsager, en eksempelgennemgang og så videre.
  • Afstem forventningerne til indsamling af dine kildedata – Overvej følgende:
    • Udfør forskning i potentielle datakilder – For eksempel offentlige datasæt, eksisterende datasæt fra andre interne teams, selvindsamlede eller købte data fra leverandører.
    • Udfør kvalitetsvurdering – Opret en analysepipeline i forhold til den endelige use case.
  • Afstem forventningerne til oprettelse af dataannoteringer – Overvej følgende:
    • Identificer de tekniske interessenter – Dette er normalt en person eller et team i din virksomhed, der er i stand til at bruge den tekniske dokumentation vedrørende Ground Truth til at implementere en annotationspipeline. Disse interessenter er også ansvarlige for kvalitetsvurdering af de annoterede data for at sikre, at de opfylder behovene i din downstream ML-applikation.
    • Identificer dataannotatorerne – Disse personer bruger forudbestemte instruktioner til at tilføje etiketter til dine kildedata i Ground Truth. De skal muligvis besidde domæneviden afhængigt af din brugssituation og retningslinjer for annotering. Du kan bruge en arbejdsstyrke internt i din virksomhed eller betale for en arbejdsstyrke ledet af en ekstern leverandør.
  • Sikre tilsyn med dataoprettelsesprocessen – Som du kan se fra de foregående punkter, er dataskabelse en detaljeret proces, der involverer adskillige specialiserede interessenter. Derfor er det afgørende at overvåge det fra ende til anden mod det ønskede resultat. At have en dedikeret person eller team til at overvåge processen kan hjælpe dig med at sikre en sammenhængende, effektiv dataoprettelsesproces.

Afhængigt af den rute, du beslutter dig for at tage, skal du også overveje følgende:

  • Opret kildedatasættet – Dette refererer til tilfælde, hvor eksisterende data ikke er egnet til den aktuelle opgave, eller juridiske begrænsninger forhindrer dig i at bruge dem. Der skal bruges interne teams eller eksterne leverandører (næste punkt). Dette er ofte tilfældet for højt specialiserede domæner eller områder med lav offentlig forskning. For eksempel, en læges almindelige spørgsmål, beklædningsgenstand, eller sportseksperter. Det kan være internt eller eksternt.
  • Undersøg leverandører og gennemfør en onboarding-proces – Når der bruges eksterne leverandører, skal der etableres en kontrakt- og onboarding-proces mellem begge enheder.

I dette afsnit har vi gennemgået de komponenter og interessenter, som vi skal overveje. Men hvordan ser selve processen ud? I den følgende figur skitserer vi en procesworkflow for dataoprettelse og annotering. Den iterative tilgang bruger små batches af data kaldet piloter til at reducere ekspeditionstiden, opdage fejl tidligt og undgå at spilde ressourcer på at skabe data af lav kvalitet. Vi beskriver disse pilotrunder senere i dette indlæg. Vi dækker også nogle bedste praksisser for dataoprettelse, annotering og kvalitetskontrol.

Følgende figur illustrerer den iterative udvikling af en dataoprettelsespipeline. Lodret finder vi datakildeblokken (grøn) og annotationsblokken (blå). Begge blokke har uafhængige pilotrunder (dataoprettelse/annotering, QAQC og opdatering). Stadig højere kildedata skabes og kan bruges til at konstruere annoteringer af stadig højere kvalitet.

Under den iterative udvikling af en dataoprettelse eller annoteringspipeline bruges små batches af data til uafhængige pilotprojekter. Hver pilotrunde har en dataoprettelse eller annoteringsfase, en vis kvalitetssikring og kvalitetskontrol af resultaterne og et opdateringstrin for at forfine processen. Når disse processer er finjusteret gennem successive pilotprojekter, kan du fortsætte til dataoprettelse og annotering i stor skala.

Oversigt over iterativ udvikling i en dataoprettelsespipeline.

Oprettelse af kildedata

Processen til oprettelse af input drejer sig om at iscenesætte dine emner af interesse, som afhænger af din opgavetype. Disse kunne være billeder (avisscanninger), videoer (trafikscener), 3D-punktskyer (medicinske scanninger) eller blot tekst (undertekstspor, transskriptioner). Generelt, når du iscenesætter dine opgaverelaterede emner, skal du sørge for følgende:

  • Afspejle brugen i den virkelige verden for det eventuelle AI/ML-system – Opsætningen til indsamling af billeder eller videoer til dine træningsdata bør nøje matche opsætningen af ​​dine inputdata i den virkelige applikation. Det betyder at have ensartede placeringsoverflader, lyskilder eller kameravinkler.
  • Redegør for og minimer variabilitetskilder – Overvej følgende:
    • Udvikle bedste praksis for opretholdelse af dataindsamlingsstandarder – Afhængigt af granulariteten af ​​din use case, skal du muligvis specificere krav for at garantere konsistens mellem dine datapunkter. Hvis du f.eks. indsamler billed- eller videodata fra enkelte kamerapunkter, skal du muligvis sørge for ensartet placering af dine interessante objekter eller kræve et kvalitetstjek af kameraet før en datafangstrunde. Dette kan undgå problemer som kamerahældning eller sløring og minimere downstream-omkostninger som fjernelse af billeder uden for rammen eller slørede billeder, samt behov for manuelt at centrere billedrammen på dit interesseområde.
    • Foregribe testtidskilder til variabilitet – Hvis du forventer variabilitet i nogen af ​​de hidtil nævnte egenskaber under testtiden, skal du sørge for, at du kan fange disse variabilitetskilder under oprettelse af træningsdata. For eksempel, hvis du forventer, at din ML-applikation fungerer i flere forskellige lysindstillinger, bør du tilstræbe at lave træningsbilleder og videoer ved forskellige lysindstillinger. Afhængigt af brugssituationen kan variation i kamerapositionering også påvirke kvaliteten af ​​dine etiketter.
  • Inkorporer tidligere domæneviden, når den er tilgængelig – Overvej følgende:
    • Input på fejlkilder – Domænepraktikere kan give indsigt i fejlkilder baseret på deres mange års erfaring. De kan give feedback på bedste praksis for de to foregående punkter: Hvilke indstillinger afspejler den virkelige verden bedst? Hvad er de mulige kilder til variabilitet under dataindsamling eller på brugstidspunktet?
    • Domænespecifik dataindsamling bedste praksis – Selvom dine tekniske interessenter måske allerede har en god ide om de tekniske aspekter at fokusere på i de indsamlede billeder eller videoer, kan domænepraktikere give feedback om, hvordan man bedst iscenesætter eller indsamler dataene, så disse behov bliver opfyldt.

Kvalitetskontrol og kvalitetssikring af de oprettede data

Nu hvor du har oprettet dataindsamlingspipelinen, kan det være fristende at gå videre og indsamle så mange data som muligt. Vent et øjeblik! Vi skal først kontrollere, om de data, der er indsamlet gennem opsætningen, er egnede til din brug af rigtige ord. Vi kan bruge nogle indledende prøver og iterativt forbedre opsætningen gennem den indsigt, vi fik ved at analysere disse prøvedata. Arbejd tæt sammen med dine tekniske, forretningsmæssige og annoteringsinteressenter under pilotprocessen. Dette vil sikre, at din resulterende pipeline opfylder forretningsbehov, mens den genererer ML-klare mærkede data inden for minimale overheads.

Annotationer

Annoteringen af ​​input er der, hvor vi tilføjer det magiske touch til vores data – etiketterne! Afhængigt af din opgavetype og dataoprettelsesproces, kan du have brug for manuelle annotatorer, eller du kan bruge automatiske metoder, der er standard. Selve dataannotationspipelinen kan være en teknisk udfordrende opgave. Ground Truth letter denne rejse for dine tekniske interessenter med sin indbygget repertoire af mærkningsarbejdsgange til almindelige datakilder. Med et par ekstra trin giver det dig også mulighed for at bygge tilpassede mærkningsarbejdsgange ud over forudkonfigurerede muligheder.

Stil dig selv følgende spørgsmål, når du udvikler en passende annoteringsarbejdsgang:

  • Har jeg brug for en manuel anmærkningsproces for mine data? I nogle tilfælde kan automatiserede mærkningstjenester være tilstrækkelige til den aktuelle opgave. Gennemgang af dokumentationen og tilgængelige værktøjer kan hjælpe dig med at identificere, om manuel anmærkning er nødvendig for din brug (for mere information, se Hvad er datamærkning?). Dataoprettelsesprocessen kan give mulighed for forskellige niveauer af kontrol med hensyn til granulariteten af ​​din dataannotering. Afhængigt af denne proces kan du også nogle gange omgå behovet for manuel anmærkning. For mere information, se Byg et brugerdefineret Q&A-datasæt ved hjælp af Amazon SageMaker Ground Truth til at træne en Hugging Face Q&A NLU-model.
  • Hvad danner min grundsandhed? I de fleste tilfælde vil grundsandheden komme fra din annoteringsproces – det er hele pointen! I andre kan brugeren have adgang til jordsandhedsetiketter. Dette kan fremskynde din kvalitetssikringsproces betydeligt eller reducere de overhead, der kræves for flere manuelle annoteringer.
  • Hvad er den øvre grænse for mængden af ​​afvigelse fra min sandhedstilstand? Arbejd sammen med dine slutbrugere for at forstå de typiske fejl omkring disse etiketter, kilderne til sådanne fejl og den ønskede reduktion af fejl. Dette vil hjælpe dig med at identificere, hvilke aspekter af mærkningsopgaven der er mest udfordrende eller sandsynligvis vil have anmærkningsfejl.
  • Er der allerede eksisterende regler, der bruges af brugere eller feltpraktikere til at mærke disse genstande? Brug og forfin disse retningslinjer til at opbygge et sæt instruktioner til dine manuelle annotatorer.

Pilotering af input annoteringsprocessen

Når du piloterer processen med inputannotering, skal du overveje følgende:

  • Gennemgå instruktionerne med annotatorerne og feltpraktikerne – Instruktionerne skal være kortfattede og specifikke. Bed om feedback fra dine brugere (Er instruktionerne nøjagtige? Kan vi revidere nogen instruktioner for at sikre, at de er forståelige for ikke-feltpraktikere?) og annotatorer (Er alt forståeligt? Er opgaven klar?). Hvis det er muligt, kan du tilføje et eksempel på gode og dårlige mærkede data for at hjælpe dine annotatorer med at identificere, hvad der forventes, og hvordan almindelige mærkningsfejl kan se ud.
  • Indsaml data til annoteringer – Gennemgå dataene med din kunde for at sikre, at de lever op til de forventede standarder, og for at tilpasse sig forventede resultater fra den manuelle annotering.
  • Giv eksempler til din pulje af manuelle annotatorer som en testkørsel – Hvad er den typiske varians blandt annotatorerne i dette sæt eksempler? Undersøg variansen for hver annotering inden for et givet billede for at identificere konsistenstendenserne blandt annotatorer. Sammenlign derefter varianserne på tværs af billederne eller videorammerne for at identificere, hvilke etiketter der er udfordrende at placere.

Kvalitetskontrol af annoteringerne

Annotationskvalitetskontrol har to hovedkomponenter: vurdering af sammenhæng mellem annotatorerne og vurdering af kvaliteten af ​​selve annoteringerne.

Du kan tildele flere annotatorer til den samme opgave (for eksempel markerer tre annotatorer nøglepunkterne på det samme billede) og måle gennemsnitsværdien sammen med standardafvigelsen for disse etiketter blandt annotatorerne. Hvis du gør det, hjælper det dig med at identificere eventuelle afvigende annoteringer (forkert etiket brugt eller etiket langt væk fra den gennemsnitlige annotering), som kan vejlede handlingsrettede resultater, såsom at finpudse dine instruktioner eller give yderligere uddannelse til visse annotatorer.

Vurdering af kvaliteten af ​​selve annoteringer er knyttet til annotatorvariabilitet og (når det er tilgængeligt) tilgængeligheden af ​​domæneeksperter eller sandhedsinformation. Er der visse etiketter (på tværs af alle dine billeder), hvor den gennemsnitlige varians mellem annotatorer er konsekvent høj? Er nogen etiketter langt væk fra dine forventninger til, hvor de skal være, eller hvordan de skal se ud?

Baseret på vores erfaring kan en typisk kvalitetskontrolløkke til dataannotering se sådan ud:

  • Gentag instruktionerne eller billedinddeling baseret på resultater fra testkørslen – Er nogen objekter okkluderede, eller svarer billediscenesættelse ikke til annotatorernes eller brugernes forventninger? Er instruktionerne vildledende, eller savnede du nogen etiketter eller almindelige fejl i dine eksemplarbilleder? Kan du forfine instruktionerne til dine annotatorer?
  • Hvis du er tilfreds med, at du har løst eventuelle problemer fra testkørslen, skal du lave en række annoteringer – For at teste resultaterne fra batchen, følg den samme kvalitetsvurderingsmetode til vurdering af variationer mellem annotatorer og mellembilleder.

Konklusion

Dette indlæg tjener som en guide til forretningsinteressenter til at forstå kompleksiteten af ​​dataskabelse til AI/ML-applikationer. De beskrevne processer tjener også som en guide for teknikere til at generere kvalitetsdata og samtidig optimere forretningsmæssige begrænsninger såsom personale og omkostninger. Hvis det ikke gøres godt, kan en dataoprettelse og mærkningspipeline tage op til 4-6 måneder.

Med de retningslinjer og forslag, der er skitseret i dette indlæg, kan du forebygge vejspærringer, reducere tiden til færdiggørelse og minimere omkostningerne i din rejse mod at skabe data af høj kvalitet.


Om forfatterne

Jasleen Grewal er en Applied Scientist hos Amazon Web Services, hvor hun arbejder med AWS-kunder for at løse problemer i den virkelige verden ved hjælp af maskinlæring, med særligt fokus på præcisionsmedicin og genomik. Hun har en stærk baggrund inden for bioinformatik, onkologi og klinisk genomik. Hun brænder for at bruge AI/ML og cloud-tjenester til at forbedre patientbehandlingen.

Boris Aronchik er leder i Amazon AI Machine Learning Solutions Lab, hvor han leder et team af ML-forskere og ingeniører for at hjælpe AWS-kunder med at realisere forretningsmål ved at udnytte AI/ML-løsninger.

Miguel Romero Calvo er anvendt videnskabsmand ved Amazon ML Solutions Lab hvor han samarbejder med AWS interne teams og strategiske kunder for at accelerere deres forretning gennem ML og cloud-adoption.

Lin Lee Cheong er seniorforsker og leder hos Amazon ML Solutions Lab-teamet hos Amazon Web Services. Hun arbejder med strategiske AWS-kunder for at udforske og anvende kunstig intelligens og maskinlæring for at opdage ny indsigt og løse komplekse problemer.

spot_img

Seneste efterretninger

spot_img

Chat med os

Hej! Hvordan kan jeg hjælpe dig?