Indholdet og meningerne i dette indlæg er tredjepartsforfatterens, og AWS er ikke ansvarlig for indholdet eller nøjagtigheden af dette indlæg.
Efterhånden som flere organisationer bruger deep learning-teknikker såsom computersyn og naturlig sprogbehandling, har maskinlæringsudviklerpersonen (ML) behov for skalerbart værktøj omkring eksperimentsporing, afstamning og samarbejde. Eksperimentsporing inkluderer metadata såsom operativsystem, brugt infrastruktur, bibliotek og input- og outputdatasæt – ofte sporet manuelt på et regneark. Lineage involverer sporing af datasæt, transformationer og algoritmer, der bruges til at skabe en ML-model. Samarbejdet omfatter ML-udviklere, der arbejder på et enkelt projekt, og også ML-udviklere, der deler deres resultater på tværs af teams og med forretningsinteressenter – en proces, der normalt udføres via e-mail, skærmbilleder og PowerPoint-præsentationer.
I dette indlæg træner vi en model til at identificere objekter til et selvkørende køretøj ved hjælp af vægte og skævheder (W&B) og Amazon SageMaker. Vi viser, hvordan den fælles løsning reducerer manuelt arbejde for ML-udvikleren, skaber mere gennemsigtighed i modeludviklingsprocessen og sætter teams i stand til at samarbejde om projekter.
Vi kører dette eksempel videre Amazon SageMaker Studio for dig selv at prøve.
Oversigt over vægte og skævheder
Weights & Biases hjælper ML-teams med at bygge bedre modeller hurtigere. Med blot et par linjer kode i din SageMaker notesbog kan du øjeblikkeligt fejlsøge, sammenligne og reproducere dine modeller – arkitektur, hyperparametre, git-commits, modelvægte, GPU-brug, datasæt og forudsigelser – alt sammen mens du samarbejder med dine holdkammerater.
W&B er betroet af mere end 200,000 ML-praktiserende læger fra nogle af de mest innovative virksomheder og forskningsorganisationer i verden. For at prøve det gratis, tilmeld dig på Vægte og skævheder, Eller besøg W&B AWS Marketplace notering.
Kom godt i gang med SageMaker Studio
SageMaker Studio er det første fuldt integrerede udviklingsmiljø (IDE) til ML. Studio tilbyder en enkelt webbaseret grænseflade, hvor ML-praktikere og dataforskere kan bygge, træne og implementere modeller med få klik, alt sammen på ét sted.
For at komme i gang med Studio skal du have en AWS-konto og en AWS identitets- og adgangsstyring (IAM) bruger eller rolle med tilladelser til at oprette et Studio-domæne. Henvise til Ombord på Amazon SageMaker Domain at oprette et domæne, og Studie dokumentation for et overblik over brugen af Studios visuelle grænseflade og notesbøger.
Indstil miljøet
Til dette indlæg er vi interesserede i at køre vores egen kode, så lad os importere nogle notesbøger fra GitHub. Vi bruger følgende GitHub repo som et eksempel, så lad os indlæse denne notesbog.
Du kan klone et lager enten gennem terminalen eller Studio UI. For at klone et lager gennem terminalen skal du åbne en systemterminal (på File (Felt) menu, vælg Ny , terminal) og indtast følgende kommando:
For at klone et lager fra Studio UI, se Klon et Git-lager i SageMaker Studio.
For at komme i gang skal du vælge 01_data_processing.ipynb notesbog. Du bliver spurgt med en kerneskifter-prompt. Dette eksempel bruger PyTorch, så vi kan vælge det forudbyggede PyTorch 1.10 Python 3.8 GPU optimeret billede for at starte vores notesbog. Du kan se appen starte, og når kernen er klar, viser den instanstypen og kernen øverst til højre på din notesbog.
Vores notesbog har brug for nogle yderligere afhængigheder. Dette lager giver en requirements.txt med de yderligere afhængigheder. Kør den første celle for at installere de nødvendige afhængigheder:
Du kan også oprette en livscykluskonfiguration for automatisk at installere pakkerne, hver gang du starter PyTorch-appen. Se Tilpas Amazon SageMaker Studio ved hjælp af livscykluskonfigurationer for instruktioner og et eksempel på implementering.
Brug vægte og skævheder i SageMaker Studio
Vægte og skævheder (wandb
) er et standard Python-bibliotek. Når det er installeret, er det så enkelt som at tilføje et par linjer kode til dit træningsscript, og du er klar til at logge eksperimenter. Vi har allerede installeret det via vores requirements.txt-fil. Du kan også installere det manuelt med følgende kode:
Casestudie: Autonom semantisk segmentering af køretøjer
datasæt
Vi bruger Cambridge-kørsel mærket videodatabase (CamVid) for dette eksempel. Den indeholder en samling af videoer med objektklasses semantiske etiketter, komplet med metadata. Databasen giver jordsandhedsetiketter, der forbinder hver pixel med en af 32 semantiske klasser. Vi kan versionere vores datasæt som en wandb.Artefakt, på den måde kan vi henvise til det senere. Se følgende kode:
Du kan følge med i 01_data_processing.ipynb notesbog.
Vi logger også en bord af datasættet. Tabeller er rige og kraftfulde DataFrame-lignende enheder, der gør det muligt for dig at forespørge og analysere tabeldata. Du kan forstå dine datasæt, visualisere modelforudsigelser og dele indsigt i et centralt dashboard.
Vægt- og skævhedstabeller understøtter mange rich media-formater, såsom billede, lyd og bølgeformer. Se en komplet liste over medieformater Datatyper.
Følgende skærmbillede viser en tabel med rå billeder med grundsandhedens segmenteringer. Du kan også se en interaktiv version af denne tabel.
Træn en model
Vi kan nu oprette en model og træne den på vores datasæt. Vi bruger PyTorch , fastai til hurtigt at prototype en baseline og derefter bruge wandb.Sweeps
at optimere vores hyperparametre. Følg med i 02_semantisk_segmentation.ipynb notesbog. Når du bliver bedt om en kerne, når du åbner notesbogen, skal du vælge den samme kerne fra vores første notesbog, PyTorch 1.10 Python 3.8 GPU optimeret. Dine pakker er allerede installeret, fordi du bruger den samme app.
Det er meningen, at modellen skal lære en per-pixel-annotering af en scene, der er optaget fra den autonome agents synspunkt. Modellen skal kategorisere eller segmentere hver pixel i en given scene i 32 relevante kategorier, såsom vej, fodgænger, fortov eller biler. Du kan vælge et hvilket som helst af de segmenterede billeder på bordet og få adgang til denne interaktive grænseflade for at få adgang til segmenteringsresultaterne og kategorierne.
Fordi fastai bibliotek har integration med wandb
, kan du blot bestå WandbCallback
til eleven:
Til basisforsøgene besluttede vi at bruge en simpel arkitektur inspireret af UNet papir med forskellig rygrad fra timm. Vi trænede vores modeller med Fokalt tab som kriterium. Med Weights & Biases kan du nemt oprette dashboards med opsummeringer af dine eksperimenter for hurtigt at analysere træningsresultater, som vist på det følgende skærmbillede. Du kan også se dette dashboard interaktivt.
Hyperparametersøgning med sweeps
For at forbedre ydeevnen af basismodellen skal vi vælge den bedste model og det bedste sæt hyperparametre at træne. W&B gør dette nemt for os at bruge fejer.
Vi udfører en Bayesiansk hyperparametersøgning med det mål at maksimere modellens forgrundsnøjagtighed på valideringsdatasættet. For at udføre sweep definerer vi konfigurationsfilen sweep.yaml. Inde i denne fil sender vi den ønskede metode til brug: bayes og parametrene og deres tilsvarende værdier til at søge. I vores tilfælde prøver vi forskellige backbones, batchstørrelser og tabsfunktioner. Vi udforsker også forskellige optimeringsparametre som indlæringshastighed og vægttab. Fordi disse er kontinuerte værdier, prøver vi fra en fordeling. Der er flere tilgængelige konfigurationsmuligheder for sweeps.
Bagefter, i en terminal, starter du sweep ved hjælp af wandb kommandolinje:
Og start derefter en sweep-agent på denne maskine med følgende kode:
Når sweep er afsluttet, kan vi bruge et plot af parallelle koordinater til at udforske modellernes præstationer med forskellige rygrader og forskellige sæt hyperparametre. Ud fra det kan vi se, hvilken model der klarer sig bedst.
Følgende skærmbillede viser resultaterne af sweepene, inklusive et diagram over parallelle koordinater og parameterkorrelationsdiagrammer. Du kan også se dette sweeps-dashboard interaktivt.
Vi kan udlede følgende nøgleindsigter fra sweep:
- Lavere indlæringshastighed og lavere vægtforfald resulterer i bedre forgrundsnøjagtighed og terninger.
- Batchstørrelse har stærke positive korrelationer med metrikken.
- VGG-baserede rygrader er måske ikke en god mulighed for at træne vores endelige model, fordi de er tilbøjelige til at resultere i en forsvindende gradient. (De filtreres fra, efterhånden som tabet divergerede.)
- ResNet backbones resulterer i den bedste overordnede præstation med hensyn til metrics.
- ResNet34- eller ResNet50-rygraden bør vælges til den endelige model på grund af deres stærke ydeevne med hensyn til metrikker.
Data og model afstamning
W&B-artefakter blev designet til at gøre det nemt at versionere dine datasæt og modeller, uanset om du vil gemme dine filer med W&B, eller om du allerede har en bøtte, som du vil have W&B til at spore. Når du har sporet dine datasæt eller modelfiler, logger W&B automatisk hver ændring, hvilket giver dig en komplet og reviderbar historik over ændringer af dine filer.
I vores tilfælde logges datasættet, modellerne og de forskellige tabeller, der er genereret under træning, til arbejdsområdet. Du kan hurtigt se og visualisere denne afstamning ved at gå til Artifacts .
Fortolke modelforudsigelser
Vægt og skævheder er især nyttigt, når man vurderer modellens ydeevne ved at bruge kraften i wandb.Tables at visualisere, hvor vores model klarer sig dårligt. I dette tilfælde er vi særligt interesserede i at opdage korrekt sårbare brugere som cykler og fodgængere.
Vi loggede de forudsagte masker sammen med terningernes scorekoefficient pr. klasse i en tabel. Vi filtrerede derefter efter rækker, der indeholdt de ønskede klasser og sorterede efter stigende rækkefølge på terningerne.
I den følgende tabel filtrerer vi først ved at vælge, hvor terningerne er positive (fodgængere er til stede på billedet). Så sorterer vi i stigende rækkefølge for at identificere vores værst opdagede fodgængere. Husk, at en terningescore svarende til 1 betyder, at fodgængerklassen er korrekt segmenteret. Du kan også se denne tabel interaktivt.
Vi kan gentage denne analyse med andre udsatte klasser, såsom cykler eller lyskryds.
Denne funktion er en meget god måde at identificere billeder, der ikke er mærket korrekt, og tagge dem for at genkommentere.
Konklusion
Dette indlæg viste Weights & Biases MLOps-platformen, hvordan man opsætter W&B i SageMaker Studio, og hvordan man kører en introduktionsnotesbog på den fælles løsning. Vi gennemgik derefter en use case for semantisk segmentering af autonome køretøjer og demonstrerede sporing af træningskørsler med W&B-eksperimenter, hyperparameteroptimering ved hjælp af W&B-sweep og fortolkning af resultater med W&B-tabeller.
Hvis du er interesseret i at lære mere, kan du få adgang til live W&B rapport. For at prøve Weights & Biases gratis, tilmeld dig på Vægte og skævheder, Eller besøg W&B AWS Marketplace notering.
Om forfatterne
Thomas Capelle er maskinlæringsingeniør i vægte og skævheder. Han er ansvarlig for at holde www.github.com/wandb/examples-lageret live og opdateret. Han bygger også indhold på MLOPS, anvendelser af W&B til industrier og sjov dyb læring generelt. Tidligere brugte han dyb læring til at løse kortsigtede prognoser for solenergi. Han har en baggrund i byplanlægning, kombinatorisk optimering, transportøkonomi og anvendt matematik.
Durga Sury er en ML Solutions Architect i Amazon SageMaker Service SA-teamet. Hun brænder for at gøre machine learning tilgængelig for alle. I sine 3 år hos AWS har hun været med til at opsætte AI/ML-platforme til virksomhedskunder. Når hun ikke arbejder, elsker hun motorcykelture, mysterieromaner og vandreture med sin fireårige husky.
Karthik Bharathy er produktleder for Amazon SageMaker med mere end ti års erfaring med produktstyring, produktstrategi, eksekvering og lancering.
- 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/improve-ml-developer-productivity-with-weights-biases-a-computer-vision-example-on-amazon-sagemaker/
- "
- &
- 000
- 10
- 100
- a
- Om
- adgang
- tilgængelig
- Adgang
- Konto
- tværs
- Yderligere
- AI
- algoritmer
- Alle
- allerede
- Amazon
- analyse
- analysere
- app
- applikationer
- anvendt
- arkitektur
- omkring
- Associate
- lyd
- automatisk
- autonom
- til rådighed
- AWS
- baggrund
- Baseline
- fordi
- BEDSTE
- bygge
- bygger
- virksomhed
- biler
- tilfælde
- central
- Diagrammer
- Vælg
- valgt
- klasse
- klasser
- kode
- samarbejde
- samarbejde
- samarbejde
- samling
- Virksomheder
- fuldføre
- computer
- Konfiguration
- indeholder
- indhold
- Tilsvarende
- skabe
- skaber
- Kunder
- instrumentbræt
- data
- Database
- årti
- besluttede
- dyb
- demonstreret
- indsætte
- konstrueret
- Udvikler
- udviklere
- Udvikling
- forskellige
- fordeling
- domæne
- i løbet af
- hver
- nemt
- Økonomi
- muliggøre
- muliggør
- energi
- ingeniør
- Indtast
- Enterprise
- enheder
- Miljø
- især
- alle
- eksempel
- udførelse
- erfaring
- eksperiment
- udforske
- FAST
- hurtigere
- Feature
- Fornavn
- følger
- efter
- Gratis
- fra
- fuld
- sjovt
- funktioner
- Generelt
- genereret
- Git
- GitHub
- Give
- mål
- gå
- godt
- GPU
- hjulpet
- hjælper
- historie
- Hvordan
- How To
- HTTPS
- identificere
- identificere
- Identity
- billede
- billeder
- implementering
- Forbedre
- omfatter
- Herunder
- industrier
- Infrastruktur
- innovativ
- indgang
- indsigt
- inspirerede
- installere
- instans
- integreret
- integration
- interaktiv
- interesseret
- grænseflade
- indledende
- IT
- Holde
- holde
- Nøgle
- Etiketter
- Sprog
- lancere
- leder
- LÆR
- læring
- Bibliotek
- linjer
- Liste
- leve
- belastning
- maskine
- machine learning
- lave
- maerker
- Making
- ledelse
- manuel
- manuelt arbejde
- manuelt
- markedsplads
- Masker
- matematik
- midler
- Medier
- Metrics
- måske
- tankerne
- ML
- model
- modeller
- mere
- mest
- motorcykel
- flere
- Mystery
- Natural
- behov
- notesbog
- åbent
- åbning
- drift
- operativsystem
- Udtalelser
- optimering
- Optimer
- Option
- Indstillinger
- ordrer
- organisationer
- Andet
- samlet
- egen
- Papir
- især
- lidenskabelige
- ydeevne
- forestillinger
- planlægning
- perron
- Platforme
- Punkt
- Synspunkt
- positiv
- magt
- vigtigste
- Forudsigelser
- præsentere
- Præsentationer
- behandle
- forarbejdning
- Produkt
- produktstyring
- produktivitet
- projekt
- projekter
- giver
- hurtigt
- Raw
- relevant
- gentag
- Repository
- påkrævet
- Krav
- forskning
- ansvarlige
- resulterer
- Resultater
- vej
- roller
- Kør
- kører
- samme
- skalerbar
- scene
- forskere
- Søg
- segment
- segmentering
- tjeneste
- sæt
- Del
- deling
- kort sigt
- udstillingsvindue
- vist
- underskrive
- Simpelt
- enkelt
- Størrelse
- So
- sol
- solenergi
- løsninger
- Løsninger
- SOLVE
- nogle
- standard
- starte
- påbegyndt
- butik
- Strategi
- stærk
- Studio
- Studere
- support
- Sweep
- systemet
- hold
- hold
- teknikker
- terminal
- vilkår
- leddet
- verdenen
- tredjepart
- Gennem
- tid
- top
- spor
- Sporing
- Trafik
- Kurser
- transformationer
- Gennemsigtighed
- betroet
- ui
- forstå
- urban
- us
- brug
- brugere
- validering
- værdi
- forskellige
- køretøj
- udgave
- video
- Videoer
- Specifikation
- vision
- Sårbar
- web-baseret
- hvorvidt
- mens
- Wikipedia
- Arbejde
- arbejder
- world
- år
- Din