Programmering

Byg tilpassede modeller med Azure Machine Learning Designer

Maskinindlæring er en vigtig del af moderne applikationsudvikling, der erstatter meget af det, der tidligere blev gjort ved hjælp af en kompleks række reglermotorer og udvidede dækningen til et meget bredere sæt problemer. Tjenester som Azure's Cognitive Services leverer forudbyggede, foruddannede modeller, der understøtter mange almindelige brugssager, men mange flere har brug for tilpasset modeludvikling.

Går skik med ML

Hvordan går vi i gang med at oprette tilpassede maskinlæringsmodeller? Du kan starte i den ene ende ved hjælp af statistiske analysesprog som R til at opbygge og validere modeller, hvor du allerede har fornemmelse for den underliggende struktur af dine data, eller du kan arbejde med de lineære algebrafunktioner i Pythons Anaconda-suite. Tilsvarende kan værktøjer som PyTorch og TensorFlow hjælpe med at konstruere mere komplekse modeller ved at udnytte neurale net og dyb læring, mens de stadig integreres med velkendte sprog og platforme.

Det er alt sammen godt, hvis du har et team af dataforskere og matematikere, der er i stand til at opbygge, teste og (vigtigst af alt) validere deres modeller. Med ekspertise inden for maskinindlæring, der er svær at finde, er det nødvendige værktøjer til at hjælpe udviklere gennem processen med at skabe de modeller, som virksomheder har brug for. I praksis falder de fleste maskinlæringsmodeller i to typer: den første identificerer lignende data, den anden identificerer eksterne data.

Vi bruger muligvis den første apptype til at identificere specifikke emner på et transportbånd eller har det andet kig efter problemer i data fra en række industrielle sensorer. Scenarier som disse er ikke særlig komplekse, men de kræver stadig opbygning af en valideret model, der sikrer, at den kan identificere, hvad du leder efter og finde signalet i dataene, ikke forstærke antagelser eller svare på støj.

Introduktion til Azure Machine Learning Designer

Azure leverer forskellige værktøjer til dette sammen med sine forudbyggede, foruddefinerede, tilpasselige modeller. Den ene, Azure Machine Learning Designer, giver dig mulighed for at arbejde med dine eksisterende data med et sæt visuelle designværktøjer og træk-og-slip-kontroller.

Du behøver ikke at skrive kode for at opbygge din model, selvom der er mulighed for at bringe tilpasset R eller Python ind, hvor det er nødvendigt. Det er en erstatning for det originale ML Studio-værktøj, der tilføjer dybere integration i Azures maskinindlærings-SDK'er og med understøttelse af mere end CPU-baserede modeller, der tilbyder GPU-drevet maskinindlæring og automatiseret modeluddannelse og tuning.

For at komme i gang med Azure Machine Learning Designer skal du åbne Azure Machine Learning-webstedet og logge ind med en Azure-konto. Begynd med at oprette forbindelse til et abonnement og oprette et arbejdsområde til dine modeller. Installationsguiden beder dig om at specificere, om de resulterende modeller har et offentligt eller privat slutpunkt, og om du skal arbejde med følsomme data, før du vælger, hvordan nøgler administreres. Følsomme data behandles i det, Azure definerer som et "arbejdsområde med stor forretningspåvirkning", hvilket reducerer mængden af ​​diagnostiske data indsamlet af Microsoft og tilføjer ekstra niveauer af kryptering.

Konfiguration af et maskinlæringsarbejdsområde

Når du har gennemgået guiden, kontrollerer Azure dine indstillinger, inden du opretter dit ML-arbejdsområde. Det giver dig en ARM-skabelon, så du kan automatisere oprettelsesprocessen i fremtiden og give en ramme for scripts, som forretningsanalytikere kan bruge fra en intern portal til at reducere belastningen på dine Azure-administratorer. Implementering af de nødvendige ressourcer til at oprette et arbejdsområde kan tage tid, så vær forberedt på at vente et stykke tid, før du kan begynde at opbygge modeller.

Dit arbejdsområde indeholder værktøjer til udvikling og styring af maskinlæringsmodeller, fra design og træning til administration af beregning og lagring. Det hjælper dig også med at mærke eksisterende data og øge værdien af ​​dit træningsdatasæt. Du vil sandsynligvis starte med de tre vigtigste muligheder: arbejde med Azure ML Python SDK i en Jupyter-stil notesbog ved hjælp af Azure MLs automatiske træningsværktøjer eller den lave kode træk og slip Designer-overflade.

Brug af Azure ML Designer til at oprette en model

Designeren er den hurtigste måde at starte med brugerdefineret maskinindlæring, da det giver dig adgang til et sæt forudbyggede moduler, der kan lænkes sammen for at skabe en maskinlærings-API, der er klar til brug i din kode. Begynd med at oprette et lærred til din ML-pipeline, og opsæt beregningsmål for din pipeline. Beregningsmål kan indstilles for hele modellen eller for individuelle moduler inden for pipelinen, så du kan indstille ydeevnen korrekt.

Det er bedst at tænke på din models beregningsressourcer som serverløs beregning, der skaleres op og ned efter behov. Når du ikke bruger det, skaleres det ned til nul og det kan tage så lang tid som fem minutter at spinde op igen. Dette kan påvirke applikationshandlinger, så sørg for at det er tilgængeligt, før du kører applikationer, der er afhængige af det. Du bliver nødt til at overveje de ressourcer, der er nødvendige for at træne en model, når du vælger et beregningsmål. Komplekse modeller kan drage fordel af Azures GPU-understøttelse med understøttelse af de fleste af Azures beregningsindstillinger (afhængigt af din tilgængelige kvote).

Når du har konfigureret dine træningsberegningsressourcer, skal du vælge et træningsdatasæt. Dette kan være dine egne data eller en af ​​Microsofts eksempler. Brugerdefinerede datasæt kan konstrueres fra lokale filer, fra data, der allerede er gemt på Azure, fra Internettet eller fra registrerede åbne datasæt (som ofte er offentlige oplysninger).

Brug af data i Azure ML Designer

Værktøjer i designeren giver dig mulighed for at udforske de datasæt, du bruger, så du kan være sikker på at du har den rigtige kilde til den model, du prøver at bygge. Med en datakilde på lærredet kan du begynde at trække moduler og forbinde dem til at behandle dine træningsdata; for eksempel at fjerne kolonner, der ikke indeholder nok data, eller rydde op på manglende data. Denne træk-og-tilslut-proces er meget som at arbejde med lavkodeværktøjer, som dem i Power Platform. Hvad der adskiller sig her er, at du har mulighed for at bruge dine egne moduler.

Når data er behandlet, kan du begynde at vælge de moduler, du vil træne din model. Microsoft leverer et sæt almindelige algoritmer samt værktøjer til opdeling af datasæt til træning og test. De resulterende modeller kan scorer ved hjælp af et andet modul, når du kører dem gennem træning. Resultater videregives til et evalueringsmodul, så du kan se, hvor godt din algoritme fungerer. Du har brug for noget statistisk viden for at fortolke resultaterne, så du kan forstå de typer fejl, der genereres, men jo mindre jo bedre fejlværdien er, jo bedre. Du behøver ikke bruge de forberedte algoritmer, da du kan indbringe din egen Python- og R-kode.

En uddannet og testet model kan hurtigt konverteres til en inferencespipeline, klar til brug i dine applikationer. Dette tilføjer input og output REST API-slutpunkter til din model, klar til brug i din kode. Den resulterende model distribueres derefter til en AKS-indledende klynge som en klar til brug-container.

Lad Azure gøre alt for dig: Automatiseret maskinindlæring

I mange tilfælde behøver du ikke engang at udvikle så meget. Microsoft udgav for nylig en Automated ML-mulighed, baseret på arbejde udført hos Microsoft Research. Her starter du med et Azure-tilgængeligt datasæt, som skal være tabeldata. Det er beregnet til tre typer modeller: klassificering, regression og prognoser. Når du først har angivet data og valgt en type model, genererer værktøjet automatisk et skema ud fra de data, som du kan bruge til at skifte bestemte datafelter til og fra og opbygge et eksperiment, der derefter køres for at opbygge og teste en model.

Automated ML opretter og rangerer adskillige modeller, som du kan undersøge for at bestemme, hvad der er bedst for dit problem. Når du har fundet den ønskede model, kan du hurtigt tilføje input- og outputfaser og implementere den som en tjeneste, klar til brug i værktøjer som Power BI.

Med maskinlæring et stadig vigtigere forudsigelsesværktøj på tværs af mange forskellige typer forretningsproblemer kan Azure Machine Learning Designer give det et meget bredere publikum. Hvis du har data, kan du opbygge både analytiske og forudsigelige modeller med minimal datalogisk ekspertise. Med den nye automatiserede ML-tjeneste er det let at gå fra data til service til analyse uden kode.