Innholdet og meningene i dette innlegget er fra tredjepartsforfatteren, og AWS er ikke ansvarlig for innholdet eller nøyaktigheten av dette innlegget.
Etter hvert som flere organisasjoner bruker dyplæringsteknikker som datasyn og naturlig språkbehandling, trenger utviklerpersonaen for maskinlæring (ML) skalerbare verktøy rundt eksperimentsporing, avstamning og samarbeid. Eksperimentsporing inkluderer metadata som operativsystem, brukt infrastruktur, bibliotek og input- og utdatasett – ofte sporet manuelt på et regneark. Lineage innebærer å spore datasettene, transformasjonene og algoritmene som brukes til å lage en ML-modell. Samarbeid inkluderer ML-utviklere som jobber med ett enkelt prosjekt, og også ML-utviklere som deler resultatene sine på tvers av team og med forretningsinteressenter – en prosess som vanligvis utføres via e-post, skjermbilder og PowerPoint-presentasjoner.
I dette innlegget trener vi en modell for å identifisere objekter for et autonomt kjøretøy ved bruk av vekter og skjevheter (W&B) og Amazon SageMaker. Vi viser frem hvordan fellesløsningen reduserer manuelt arbeid for ML-utvikleren, skaper mer åpenhet i modellutviklingsprosessen og gjør det mulig for team å samarbeide om prosjekter.
Vi kjører dette eksemplet videre Amazon SageMaker Studio for deg å prøve ut selv.
Oversikt over vekter og skjevheter
Vekter og skjevheter hjelper ML-team med å bygge bedre modeller raskere. Med bare noen få linjer med kode i SageMaker-notisboken din, kan du umiddelbart feilsøke, sammenligne og reprodusere modellene dine – arkitektur, hyperparametre, git-forpliktelser, modellvekter, GPU-bruk, datasett og spådommer – alt mens du samarbeider med lagkameratene dine.
W&B er klarert av mer enn 200,000 XNUMX ML-utøvere fra noen av de mest innovative selskapene og forskningsorganisasjonene i verden. For å prøve det gratis, registrer deg på Vekter og skjevheterEller besøke W&B AWS Marketplace-oppføring.
Komme i gang med SageMaker Studio
SageMaker Studio er det første fullt integrerte utviklingsmiljøet (IDE) for ML. Studio tilbyr et enkelt nettbasert grensesnitt der ML-utøvere og dataforskere kan bygge, trene og distribuere modeller med noen få klikk, alt på ett sted.
For å komme i gang med Studio trenger du en AWS-konto og en AWS identitets- og tilgangsadministrasjon (IAM) bruker eller rolle med tillatelser til å opprette et Studio-domene. Referere til Ombord på Amazon SageMaker Domain for å opprette et domene, og Studio dokumentasjon for en oversikt over bruk av Studio visuelle grensesnitt og notatbøker.
Sett opp miljøet
For dette innlegget er vi interessert i å kjøre vår egen kode, så la oss importere noen notatbøker fra GitHub. Vi bruker følgende GitHub repo som et eksempel, så la oss laste denne notatboken.
Du kan klone et depot enten gjennom terminalen eller Studio UI. For å klone et depot gjennom terminalen, åpne en systemterminal (på filet meny, velg Ny og terminal) og skriv inn følgende kommando:
For å klone et depot fra Studio UI, se Klone et Git-lager i SageMaker Studio.
For å komme i gang, velg 01_data_processing.ipynb notisbok. Du blir spurt med en kjernebytter-prompt. Dette eksemplet bruker PyTorch, så vi kan velge den forhåndsbygde PyTorch 1.10 Python 3.8 GPU optimalisert bilde for å starte notatboken vår. Du kan se at appen starter, og når kjernen er klar, viser den forekomsttypen og kjernen øverst til høyre på den bærbare datamaskinen.
Den bærbare datamaskinen vår trenger noen ekstra avhengigheter. Dette depotet gir en requirements.txt med tilleggsavhengighetene. Kjør den første cellen for å installere de nødvendige avhengighetene:
Du kan også opprette en livssykluskonfigurasjon for å installere pakkene automatisk hver gang du starter PyTorch-appen. Se Tilpass Amazon SageMaker Studio ved å bruke livssykluskonfigurasjoner for instruksjoner og et eksempel på implementering.
Bruk vekter og skjevheter i SageMaker Studio
Vekter og skjevheter (wandb
) er et standard Python-bibliotek. Når det er installert, er det så enkelt som å legge til noen få linjer med kode i treningsskriptet ditt, og du er klar til å logge eksperimenter. Vi har allerede installert den gjennom filen requirement.txt. Du kan også installere den manuelt med følgende kode:
Kasusstudie: Autonom semantisk segmentering av kjøretøy
datasett
Vi bruker Cambridge-kjørende merkede videodatabase (CamVid) for dette eksemplet. Den inneholder en samling videoer med objektklasse semantiske etiketter, komplett med metadata. Databasen gir grunnsannhetsetiketter som knytter hver piksel til en av 32 semantiske klasser. Vi kan versjonere datasettet vårt som en wandb.Artefakt, på den måten kan vi referere til det senere. Se følgende kode:
Du kan følge med i 01_data_processing.ipynb notisbok.
Vi logger også en bord av datasettet. Tabeller er rike og kraftige DataFrame-lignende enheter som lar deg spørre etter og analysere tabelldata. Du kan forstå datasettene dine, visualisere modellspådommer og dele innsikt i et sentralt dashbord.
Vekt- og skjevhetstabeller støtter mange rike medieformater, som bilde, lyd og bølgeformer. For en fullstendig liste over medieformater, se Datatyper.
Følgende skjermbilde viser en tabell med råbilder med grunnsannhetssegmenteringene. Du kan også se en interaktiv versjon av denne tabellen.
Tren en modell
Vi kan nå lage en modell og trene den på datasettet vårt. Vi bruker PyTorch og fastai for raskt å lage prototyper av en grunnlinje og deretter bruke wandb.Sweeps
for å optimalisere hyperparametrene våre. Følg med i 02_semantic_segmentation.ipynb notisbok. Når du blir bedt om en kjerne når du åpner notatboken, velger du den samme kjernen fra vår første notatbok, PyTorch 1.10 Python 3.8 GPU optimalisert. Pakkene dine er allerede installert fordi du bruker den samme appen.
Modellen er ment å lære en per-piksel-annotering av en scene tatt fra synspunktet til den autonome agenten. Modellen må kategorisere eller segmentere hver piksel i en gitt scene i 32 relevante kategorier, for eksempel vei, fotgjenger, fortau eller biler. Du kan velge hvilket som helst av de segmenterte bildene på tabellen og få tilgang til dette interaktive grensesnittet for å få tilgang til segmenteringsresultatene og kategoriene.
Fordi fastai biblioteket har integrasjon med wandb
, kan du ganske enkelt passere WandbCallback
til eleven:
For grunnlinjeeksperimentene bestemte vi oss for å bruke en enkel arkitektur inspirert av UNet papir med forskjellig ryggrad fra timm. Vi trente modellene våre med Fokaltap som kriterium. Med Weights & Biases kan du enkelt lage dashboards med sammendrag av eksperimentene dine for raskt å analysere treningsresultater, som vist i følgende skjermbilde. Du kan også se dette dashbordet interaktivt.
Hyperparametersøk med sveip
For å forbedre ytelsen til basismodellen, må vi velge den beste modellen og det beste settet med hyperparametere å trene. W&B gjør dette enkelt for oss å bruke feier.
Vi utfører en Bayesiansk hyperparametersøk med mål om å maksimere forgrunnsnøyaktigheten til modellen på valideringsdatasettet. For å utføre sveipet definerer vi konfigurasjonsfilen sweep.yaml. Inne i denne filen sender vi den ønskede metoden å bruke: bayes og parametrene og deres tilsvarende verdier for å søke. I vårt tilfelle prøver vi forskjellige ryggrader, batchstørrelser og tapsfunksjoner. Vi utforsker også forskjellige optimaliseringsparametere som læringshastighet og vektreduksjon. Fordi dette er kontinuerlige verdier, prøver vi fra en fordeling. Det er flere tilgjengelige konfigurasjonsalternativer for sveip.
Etterpå, i en terminal, starter du sveipet ved hjelp av wandb kommandolinje:
Og start deretter en sveipeagent på denne maskinen med følgende kode:
Når sveipet er ferdig, kan vi bruke et plott av parallelle koordinater for å utforske ytelsen til modellene med forskjellige ryggrader og forskjellige sett med hyperparametre. Basert på det kan vi se hvilken modell som yter best.
Følgende skjermbilde viser resultatene av sveipene, inkludert et parallellkoordinatdiagram og parameterkorrelasjonsdiagram. Du kan også se dette sweeps-dashbordet interaktivt.
Vi kan utlede følgende nøkkelinnsikt fra undersøkelsen:
- Lavere læringshastighet og lavere vektreduksjon resulterer i bedre forgrunnsnøyaktighet og terninger.
- Batchstørrelse har sterke positive korrelasjoner med beregningene.
- De VGG-baserte ryggrader er kanskje ikke et godt alternativ for å trene vår endelige modell fordi de er tilbøyelige til å resultere i en forsvinnende gradient. (De filtreres ut etter hvert som tapet divergerte.)
- De ResNet ryggrad resulterer i den beste generelle ytelsen med hensyn til beregningene.
- ResNet34- eller ResNet50-ryggraden bør velges for den endelige modellen på grunn av deres sterke ytelse når det gjelder beregninger.
Data og modellavstamning
W&B-artefakter ble designet for å gjøre det enkelt å versjonere datasettene og modellene dine, uavhengig av om du vil lagre filene dine med W&B eller om du allerede har en bøtte du vil at W&B skal spore. Etter at du har sporet datasettene eller modellfilene dine, logger W&B automatisk hver endring, og gir deg en fullstendig og kontrollerbar historikk over endringer i filene dine.
I vårt tilfelle logges datasettet, modellene og forskjellige tabeller generert under opplæringen til arbeidsområdet. Du kan raskt se og visualisere denne avstamningen ved å gå til Artifacts side.
Tolk modellspådommer
Vekt og skjevheter er spesielt nyttig når du vurderer modellytelse ved å bruke kraften til wandb.Tables å visualisere hvor modellen vår gjør det dårlig. I dette tilfellet er vi spesielt interessert i å oppdage korrekt sårbare brukere som sykler og fotgjengere.
Vi logget de forutsagte maskene sammen med terningpoengkoeffisienten per klasse i en tabell. Deretter filtrerte vi etter rader som inneholder de ønskede klassene og sorterte etter stigende rekkefølge på terningene.
I følgende tabell filtrerer vi først ved å velge hvor terningene er positive (fotgjengere er tilstede i bildet). Deretter sorterer vi i stigende rekkefølge for å identifisere våre verst oppdagede fotgjengere. Husk at en terningpoengsum som tilsvarer 1 betyr riktig segmentering av fotgjengerklassen. Du kan også se denne tabellen interaktivt.
Vi kan gjenta denne analysen med andre sårbare klasser, som for eksempel sykler eller trafikklys.
Denne funksjonen er en veldig god måte å identifisere bilder som ikke er riktig merket og merke dem for å kommentere på nytt.
konklusjonen
Dette innlegget viste frem Weights & Biases MLOps-plattformen, hvordan du setter opp W&B i SageMaker Studio, og hvordan du kjører en introduksjonsnotisbok på fellesløsningen. Deretter kjørte vi gjennom en semantisk segmentering av autonome kjøretøyer og demonstrerte sporing av treningsløp med W&B-eksperimenter, hyperparameteroptimalisering ved bruk av W&B-sveip og tolking av resultater med W&B-tabeller.
Hvis du er interessert i å lære mer, kan du få tilgang til live W&B rapport. For å prøve Weights & Biases gratis, registrer deg på Vekter og skjevheterEller besøke W&B AWS Marketplace-oppføring.
Om forfatterne
Thomas Capelle er en maskinlæringsingeniør i vekter og skjevheter. Han er ansvarlig for å holde www.github.com/wandb/examples-depotet live og oppdatert. Han bygger også innhold på MLOPS, anvendelser av W&B til bransjer og morsom dyp læring generelt. Tidligere brukte han dyp læring for å løse kortsiktige prognoser for solenergi. Han har bakgrunn fra byplanlegging, kombinatorisk optimalisering, transportøkonomi og anvendt matematikk.
Durga Sury er en ML Solutions Architect i Amazon SageMaker Service SA-teamet. Hun brenner for å gjøre maskinlæring tilgjengelig for alle. I løpet av sine 3 år hos AWS har hun vært med på å sette opp AI/ML-plattformer for bedriftskunder. Når hun ikke jobber, elsker hun motorsykkelturer, mysterieromaner og fotturer med sin fire år gamle husky.
Karthik Bharathy er produktleder for Amazon SageMaker med over et tiår med produktledelse, produktstrategi, utførelse og lanseringserfaring.
- 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/improve-ml-developer-productivity-with-weights-biases-a-computer-vision-example-on-amazon-sagemaker/
- "
- &
- 000
- 10
- 100
- a
- Om oss
- adgang
- tilgjengelig
- Tilgang
- Logg inn
- tvers
- Ytterligere
- AI
- algoritmer
- Alle
- allerede
- Amazon
- analyse
- analysere
- app
- søknader
- anvendt
- arkitektur
- rundt
- Førsteamanuensis
- lyd
- automatisk
- autonom
- tilgjengelig
- AWS
- bakgrunn
- Baseline
- fordi
- BEST
- bygge
- bygger
- virksomhet
- biler
- saken
- sentral
- Topplisten
- Velg
- valgt ut
- klasse
- klasser
- kode
- samarbeide
- samarbeider
- samarbeid
- samling
- Selskaper
- fullføre
- datamaskin
- Konfigurasjon
- inneholder
- innhold
- Tilsvarende
- skape
- skaper
- Kunder
- dashbord
- dato
- Database
- tiår
- besluttet
- dyp
- demonstrert
- utplassere
- designet
- Utvikler
- utviklere
- Utvikling
- forskjellig
- distribusjon
- domene
- under
- hver enkelt
- lett
- Økonomi
- emalje
- muliggjøre
- muliggjør
- energi
- ingeniør
- Enter
- Enterprise
- enheter
- Miljø
- spesielt
- alle
- eksempel
- gjennomføring
- erfaring
- eksperiment
- utforske
- FAST
- raskere
- Trekk
- Først
- følge
- etter
- Gratis
- fra
- fullt
- moro
- funksjoner
- general
- generert
- gå
- GitHub
- Giving
- mål
- skal
- god
- GPU
- hjulpet
- hjelper
- historie
- Hvordan
- Hvordan
- HTTPS
- identifisere
- identifisering
- Identitet
- bilde
- bilder
- gjennomføring
- forbedre
- inkluderer
- Inkludert
- bransjer
- Infrastruktur
- innovative
- inngang
- innsikt
- inspirert
- installere
- f.eks
- integrert
- integrering
- interaktiv
- interessert
- Interface
- innledende
- IT
- Hold
- holde
- nøkkel
- etiketter
- Språk
- lansere
- leder
- LÆRE
- læring
- Bibliotek
- linjer
- Liste
- leve
- laste
- maskin
- maskinlæring
- gjøre
- GJØR AT
- Making
- ledelse
- håndbok
- manuelt arbeid
- manuelt
- markedsplass
- masker
- math
- midler
- Media
- Metrics
- kunne
- tankene
- ML
- modell
- modeller
- mer
- mest
- motorsykkel
- flere
- Mystery
- Naturlig
- behov
- bærbare
- åpen
- åpning
- drift
- operativsystem
- Meninger
- optimalisering
- Optimalisere
- Alternativ
- alternativer
- rekkefølge
- organisasjoner
- Annen
- samlet
- egen
- Papir
- spesielt
- lidenskapelig
- ytelse
- forestillinger
- planlegging
- plattform
- Plattformer
- Point
- Synspunkt
- positiv
- makt
- kraftig
- Spådommer
- presentere
- Presentasjoner
- prosess
- prosessering
- Produkt
- produktledelse
- produktivitet
- prosjekt
- prosjekter
- gir
- raskt
- Raw
- relevant
- gjenta
- Repository
- påkrevd
- Krav
- forskning
- ansvarlig
- resulterende
- Resultater
- vei
- Rolle
- Kjør
- rennende
- samme
- skalerbar
- scene
- forskere
- Søk
- segmentet
- segmentering
- tjeneste
- sett
- Del
- deling
- kortsiktig
- presentere
- vist
- undertegne
- Enkelt
- enkelt
- Størrelse
- So
- solenergi
- solenergi
- løsning
- Solutions
- LØSE
- noen
- Standard
- Begynn
- startet
- oppbevare
- Strategi
- sterk
- studio
- Studer
- støtte
- Sweep
- system
- lag
- lag
- teknikker
- terminal
- vilkår
- De
- leddet
- verden
- tredjeparts
- Gjennom
- tid
- topp
- spor
- Sporing
- trafikk
- Kurs
- transformasjoner
- Åpenhet
- klarert
- ui
- forstå
- Urban
- us
- bruke
- Brukere
- validering
- verdi
- ulike
- kjøretøy
- versjon
- video
- videoer
- Se
- syn
- Sårbar
- Web-basert
- om
- mens
- Wikipedia
- Arbeid
- arbeid
- verden
- år
- Din