Zaznajte anomalije v podatkih o proizvodnji z uporabo Amazon SageMaker Canvas | Spletne storitve Amazon

Zaznajte anomalije v podatkih o proizvodnji z uporabo Amazon SageMaker Canvas | Spletne storitve Amazon

Z uporabo računalništva v oblaku, velikih podatkov in orodij za strojno učenje (ML), kot je Amazonska Atena or Amazon SageMaker postale dostopne in uporabne vsakomur brez posebnega truda pri ustvarjanju in vzdrževanju. Industrijska podjetja se vedno bolj osredotočajo na podatkovno analitiko in sprejemanje odločitev na podlagi podatkov, da bi povečala učinkovitost virov v celotnem portfelju, od operacij do izvajanja predvidenega vzdrževanja ali načrtovanja.

Zaradi hitrosti sprememb v IT se stranke v tradicionalnih panogah soočajo z dilemo glede nabora znanj. Po eni strani imajo analitiki in strokovnjaki za področja zelo poglobljeno znanje o zadevnih podatkih in njihovi interpretaciji, vendar pogosto niso izpostavljeni orodjem za podatkovno znanost in programskim jezikom na visoki ravni, kot je Python. Po drugi strani pa strokovnjakom za podatkovno znanost pogosto primanjkuje izkušenj za razlago vsebine strojnih podatkov in njihovo filtriranje glede na to, kar je relevantno. Ta dilema ovira ustvarjanje učinkovitih modelov, ki uporabljajo podatke za ustvarjanje poslovno pomembnih vpogledov.

Amazon SageMaker Canvas obravnava to dilemo tako, da strokovnjakom za domeno nudi vmesnik brez kode za ustvarjanje zmogljivih analitičnih in modelov strojnega učenja, kot so napovedi, klasifikacija ali regresijski modeli. Omogoča tudi uvajanje in skupno rabo teh modelov s strokovnjaki za ML in MLOps po ustvarjanju.

V tej objavi vam pokažemo, kako uporabiti SageMaker Canvas za kuriranje in izbiro pravih funkcij v svojih podatkih ter nato usposobiti napovedni model za odkrivanje anomalij z uporabo funkcije SageMaker Canvas brez kode za prilagajanje modela.

Odkrivanje anomalij za predelovalno industrijo

V času pisanja se SageMaker Canvas osredotoča na tipične primere poslovne uporabe, kot so napovedovanje, regresija in klasifikacija. Za to objavo prikazujemo, kako lahko te zmogljivosti pomagajo tudi pri odkrivanju kompleksnih nenormalnih podatkovnih točk. Ta primer uporabe je pomemben na primer za natančno določanje okvar ali nenavadnega delovanja industrijskih strojev.

Odkrivanje anomalij je pomembno v industriji, saj so stroji (od vlakov do turbin) običajno zelo zanesljivi, časi med okvarami pa trajajo leta. Večina podatkov iz teh strojev, kot so odčitki temperaturnih senzorjev ali sporočila o stanju, opisuje normalno delovanje in ima omejeno vrednost za odločanje. Inženirji iščejo neobičajne podatke, ko preiskujejo temeljne vzroke za napako ali kot opozorilne indikatorje za prihodnje napake, menedžerji uspešnosti pa preučujejo nenormalne podatke, da prepoznajo možne izboljšave. Zato tipičen prvi korak pri prehodu k odločanju, ki temelji na podatkih, temelji na iskanju ustreznih (nenormalnih) podatkov.

V tej objavi uporabljamo SageMaker Canvas za pripravo in izbiro pravih funkcij v podatkih, nato pa urimo model napovedi za odkrivanje nepravilnosti z uporabo funkcije brez kode SageMaker Canvas za uravnavanje modela. Nato razmestimo model kot končno točko SageMaker.

Pregled rešitev

Za naš primer uporabe odkrivanja nepravilnosti urimo model napovedi za napovedovanje značilne lastnosti za normalno delovanje stroja, kot je temperatura motorja, prikazana v avtomobilu, na podlagi vplivnih funkcij, kot sta hitrost in nedavni navor, uporabljen v avtomobilu . Za odkrivanje nepravilnosti na novem vzorcu meritev primerjamo napovedi modela za značilno značilnost s podanimi opazovanji.

Za primer avtomobilskega motorja strokovni strokovnjak pridobi meritve normalne temperature motorja, nedavnega navora motorja, temperature okolice in drugih možnih dejavnikov vpliva. Ti vam omogočajo, da usposobite model za napovedovanje temperature iz drugih funkcij. Nato lahko uporabimo model za redno napovedovanje temperature motorja. Če je predvidena temperatura za te podatke podobna opazovani temperaturi v teh podatkih, motor deluje normalno; neskladje bo kazalo na anomalijo, kot je okvara hladilnega sistema ali okvara motorja.

Naslednji diagram prikazuje arhitekturo rešitev.

Pregled postopka: Model je ustvarjen v SageMaker Canvas, nameščen in nato dostopen iz AWS Lambda Funcino.

Rešitev je sestavljena iz štirih ključnih korakov:

  1. Strokovnjak za domeno ustvari začetni model, vključno z analizo podatkov in kuriranjem funkcij z uporabo SageMaker Canvas.
  2. Strokovnjak za domeno deli model prek Register modelov Amazon SageMaker ali pa ga uvede neposredno kot končno točko v realnem času.
  3. Strokovnjak za MLOps ustvari infrastrukturo sklepanja in kodo, ki prevede izhod modela iz napovedi v indikator anomalije. Ta koda se običajno izvaja znotraj AWS Lambda Funkcija.
  4. Ko aplikacija zahteva zaznavanje anomalije, pokliče funkcijo Lambda, ki uporabi model za sklepanje in zagotovi odgovor (ne glede na to, ali gre za anomalijo ali ne).

Predpogoji

Če želite slediti tej objavi, morate izpolnjevati naslednje predpogoje:

Ustvarite model s programom SageMaker

Postopek ustvarjanja modela sledi standardnim korakom za ustvarjanje regresijskega modela v SageMaker Canvas. Za več informacij glejte Začetek uporabe Amazon SageMaker Canvas.

Najprej strokovnjak za področje naloži ustrezne podatke v SageMaker Canvas, na primer časovno vrsto meritev. Za to objavo uporabljamo datoteko CSV, ki vsebuje (sintetično ustvarjene) meritve električnega motorja. Za podrobnosti glejte Uvoz podatkov v Canvas. Uporabljeni vzorčni podatki so na voljo za prenos kot a CSV.

Slika, ki prikazuje prve vrstice csv. Poleg tega so prikazani histogram in primerjalne meritve za model s hitrim predogledom.

Uredite podatke s SageMaker Canvas

Ko so podatki naloženi, lahko strokovnjak za področje uporabi SageMaker Canvas za urejanje podatkov, uporabljenih v končnem modelu. Za to strokovnjak izbere tiste stolpce, ki vsebujejo značilne meritve za zadevno težavo. Natančneje, strokovnjak izbere stolpce, ki so med seboj povezani, na primer s fizičnim razmerjem, kot je krivulja tlak-temperatura, in kjer je sprememba tega razmerja pomembna anomalija za njihov primer uporabe. Model za zaznavanje nepravilnosti se bo naučil običajnega razmerja med izbranimi stolpci in pokazal, kdaj podatki niso v skladu z njim, na primer nenormalno visoka temperatura motorja glede na trenutno obremenitev motorja.

V praksi mora strokovnjak za področje izbrati niz ustreznih vhodnih stolpcev in ciljni stolpec. Vhodi so običajno zbirka količin (numeričnih ali kategoričnih), ki določajo obnašanje stroja, od nastavitev povpraševanja do obremenitve, hitrosti ali temperature okolja. Izhod je običajno številska količina, ki označuje zmogljivost delovanja stroja, kot je disipacija energije za merjenje temperature ali druga metrika delovanja, ki se spreminja, ko stroj deluje v neoptimalnih pogojih.

Za ponazoritev koncepta, katere količine izbrati za vhod in izhod, si oglejmo nekaj primerov:

  • Za vrtljivo opremo, kot je model, ki ga izdelamo v tej objavi, so tipični vhodni podatki hitrost vrtenja, navor (trenutni in zgodovinski) in temperatura okolja, cilji pa so posledične temperature ležaja ali motorja, ki kažejo na dobre pogoje delovanja vrtenja
  • Za vetrno turbino so tipični vhodni podatki trenutna in nedavna zgodovina hitrosti vetra in nastavitev lopatic rotorja, ciljna količina pa je proizvedena moč ali hitrost vrtenja
  • Za kemijski proces so tipični vložki odstotek različnih sestavin in temperatura okolja, cilji pa proizvedena toplota ali viskoznost končnega izdelka
  • Za premično opremo, kot so drsna vrata, so tipični vhodi vhodna moč motorjev, ciljna vrednost pa je hitrost ali čas dokončanja gibanja
  • Za sistem HVAC so tipični vhodni podatki dosežena temperaturna razlika in nastavitve obremenitve, ciljna količina pa je izmerjena poraba energije

Končno bodo pravi vhodni podatki in cilji za dano opremo odvisni od primera uporabe in neobičajnega vedenja, ki ga je treba zaznati, in jih najbolje pozna strokovnjak za področje, ki je seznanjen s podrobnostmi določenega nabora podatkov.

V večini primerov izbira ustreznih vhodnih in ciljnih količin pomeni izbiro samo desnih stolpcev in označevanje ciljnega stolpca (za ta primer, bearing_temperature). Vendar pa lahko strokovnjak za področje uporabi tudi funkcije brez kodiranja SageMaker Canvas za preoblikovanje stolpcev in izboljšanje ali združevanje podatkov. Iz podatkov lahko na primer izvlečete ali filtrirate določene datume ali časovne žige, ki niso pomembni. SageMaker Canvas podpira ta postopek in prikazuje statistične podatke o izbranih količinah, kar vam omogoča, da razumete, ali ima količina odstopanja in razpon, ki lahko vpliva na rezultate modela.

Usposobite, prilagodite in ocenite model

Ko strokovnjak za področje izbere ustrezne stolpce v naboru podatkov, lahko usposobi model za učenje razmerja med vhodi in izhodi. Natančneje, model se bo naučil napovedati ciljno vrednost, izbrano iz vhodnih podatkov.

Običajno lahko uporabite SageMaker Canvas Predogled modela možnost. To zagotavlja hiter prikaz pričakovane kakovosti modela in vam omogoča, da raziščete učinek, ki ga imajo različni vhodi na izhodno metriko. Na naslednjem posnetku zaslona na model najbolj vpliva motor_speed in ambient_temperature metrike pri napovedovanju bearing_temperature. To je smiselno, saj so te temperature tesno povezane. Hkrati lahko na to vpliva dodatno trenje ali drugi načini izgube energije.

Za kakovost modela je RMSE modela indikator, kako dobro se je model lahko naučil običajnega vedenja v podatkih o usposabljanju in reproducirati razmerja med vhodnimi in izhodnimi merami. Na primer, v naslednjem modelu mora biti model sposoben napovedati pravilno motor_bearing temperature znotraj 3.67 stopinje Celzija, zato lahko odstopanje realne temperature od napovedi modela, ki je večje od na primer 7.4 stopinje, obravnavamo kot anomalijo. Dejanski prag, ki bi ga uporabili, pa bo odvisen od zahtevane občutljivosti v scenariju uvedbe.

Graf, ki prikazuje dejansko in predvideno hitrost motorja. Razmerje je linearno z nekaj šuma.

Končno, ko je vrednotenje in uravnavanje modela končano, lahko začnete celotno usposabljanje modela, ki bo ustvarilo model za uporabo za sklepanje.

Namestite model

Čeprav lahko SageMaker Canvas uporabi model za sklepanje, produktivna uvedba za odkrivanje nepravilnosti zahteva, da model uvedete zunaj SageMaker Canvas. Natančneje, model moramo razmestiti kot končno točko.

V tej objavi in ​​zaradi poenostavitve uvedemo model kot končno točko neposredno iz SageMaker Canvas. Za navodila glejte Razmestite svoje modele na končno točko. Zapomnite si ime uvedbe in upoštevajte ceno vrste instance, v katero uvajate (za to objavo uporabljamo ml.m5.large). SageMaker Canvas bo nato ustvaril končno točko modela, ki jo je mogoče poklicati za pridobitev napovedi.

Okno aplikacije, ki prikazuje konfiguracijo razmestitve modela. Prikazane nastavitve so velikost stroja ml.m5.large in ime razmestitve sample-anomaly-model.

V industrijskih okoljih je treba model opraviti temeljito testiranje, preden ga lahko uvedemo. Za to ga strokovnjak za domeno ne bo namestil, temveč bo model delil z registrom modelov SageMaker. Tukaj lahko prevzame strokovnjak za operacije MLOps. Običajno bo ta strokovnjak preizkusil končno točko modela, ocenil velikost računalniške opreme, potrebne za ciljno aplikacijo, in določil stroškovno najučinkovitejšo uvedbo, kot je uvedba za sklepanje brez strežnika ali paketno sklepanje. Ti koraki so običajno avtomatizirani (na primer z uporabo Cevovodi Amazon Sagemaker ali Amazon SDK).

Slika, ki prikazuje gumb za skupno rabo modela iz Amazon Sgemakerja v register modelov.

Uporabite model za odkrivanje nepravilnosti

V prejšnjem koraku smo v SageMaker Canvas ustvarili uvedbo modela, imenovano canvas-sample-anomaly-model. Uporabimo ga lahko za pridobitev napovedi a bearing_temperature vrednost na podlagi drugih stolpcev v naboru podatkov. Zdaj želimo to končno točko uporabiti za odkrivanje anomalij.

Za prepoznavanje nepravilnih podatkov bo naš model uporabil končno točko modela napovedi, da dobi pričakovano vrednost ciljne metrike in nato primerja predvideno vrednost z dejansko vrednostjo v podatkih. Predvidena vrednost označuje pričakovano vrednost za našo ciljno metriko na podlagi podatkov o usposabljanju. Razlika te vrednosti je torej metrika za nenormalnost opazovanih dejanskih podatkov. Uporabimo lahko naslednjo kodo:

# We are using pandas dataframes for data handling
import pandas as pd import boto3,json
sm_runtime_client = boto3.client('sagemaker-runtime') # Configuration of the actual model invocation
endpoint_name="canvas-sample-anomaly-model"
# Name of the column in the input data to compare with predictions
TARGET_COL='bearing_temperature' def do_inference(data, endpoint_name): # Example Code provided by Sagemaker Canvas body = data.to_csv(header=False, index=True).encode("utf-8") response = sm_runtime_client.invoke_endpoint(Body = body, EndpointName = endpoint_name, ContentType = "text/csv", Accept = "application/json", ) return json.loads(response["Body"].read()) def input_transformer(input_data, drop_cols = [ TARGET_COL ] ): # Transform the input: Drop the Target column return input_data.drop(drop_cols,axis =1 ) def output_transformer(input_data,response): # Take the initial input data and compare it to the response of the prediction model scored = input_data.copy() scored.loc[ input_data.index,'prediction_'+TARGET_COL ] = pd.DataFrame(
response[ 'predictions' ],
index = input_data.index )['score'] scored.loc[ input_data.index,'error' ] = (
scored[ TARGET_COL ]-scored[ 'prediction_'+TARGET_COL ]
).abs() return scored # Run the inference
raw_input = pd.read_csv(MYFILE) # Read my data for inference
to_score = input_transformer(raw_input) # Prepare the data
predictions = do_inference(to_score, endpoint_name) # create predictions
results = output_transformer(to_score,predictions) # compare predictions & actuals

Prejšnja koda izvede naslednja dejanja:

  1. Vhodni podatki so filtrirani do pravih funkcij (funkcija "input_transformer").
  2. Končna točka modela SageMaker se prikliče s filtriranimi podatki (funkcija "do_inference“), kjer obravnavamo vhodno in izhodno oblikovanje v skladu z vzorčno kodo, ki je navedena ob odpiranju strani s podrobnostmi naše uvedbe v SageMaker Canvas.
  3. Rezultat priklica se združi z izvirnimi vhodnimi podatki, razlika pa se shrani v stolpec napak (funkcija “output_transform").

Poiščite anomalije in ocenite nenormalne dogodke

V tipični nastavitvi se koda za pridobivanje anomalij izvaja v funkciji Lambda. Funkcijo Lambda lahko prikličemo iz aplikacije oz Amazon API Gateway. Glavna funkcija vrne oceno anomalije za vsako vrstico vhodnih podatkov – v tem primeru časovno vrsto ocene anomalije.

Za testiranje lahko kodo zaženemo tudi v zvezku SageMaker. Naslednji grafi prikazujejo vhode in rezultate našega modela pri uporabi vzorčnih podatkov. Vrhovi v odstopanju med predvidenimi in dejanskimi vrednostmi (rezultat anomalij, prikazan na spodnjem grafu) kažejo na anomalije. Na grafu lahko na primer vidimo tri različne vrhove, kjer ocena anomalije (razlika med pričakovano in dejansko temperaturo) preseže 7 stopinj Celzija: prvega po dolgem času mirovanja, drugega pri strmem padcu bearing_temperature, in nazadnje kje bearing_temperature je visoka v primerjavi z motor_speed.

Dva grafa za časovne serije. Na vrhu so prikazane časovne serije za temperature in hitrosti motorja. Spodnji graf prikazuje rezultat anomalije skozi čas s tremi vrhovi, ki kažejo na anomalije.

V mnogih primerih zadostuje že poznavanje časovne vrste ocene anomalije; lahko nastavite prag za opozorilo o pomembni anomaliji na podlagi potrebe po občutljivosti modela. Trenutni rezultat nato kaže, da je stroj v nenormalnem stanju, ki ga je treba raziskati. Na primer, za naš model je absolutna vrednost ocene anomalije porazdeljena, kot je prikazano v naslednjem grafu. To potrjuje, da je večina rezultatov anomalij pod (2xRMS=)8 stopinj, ugotovljenih med usposabljanjem za model kot tipično napako. Graf vam lahko pomaga ročno izbrati prag, tako da je pravi odstotek ocenjenih vzorcev označen kot anomalije.

Histogram pojavljanja vrednosti za rezultat anomalije. Krivulja pada od x=0 do x=15.

Če so želeni rezultati dogodki anomalij, potem je treba ocene anomalij, ki jih zagotavlja model, izboljšati, da bodo ustrezne za poslovno uporabo. Za to bo strokovnjak za strojno učenje običajno dodal naknadno obdelavo za odstranitev šuma ali velikih vrhov na rezultatu anomalije, kot je dodajanje drseče srednje vrednosti. Poleg tega bo strokovnjak običajno ovrednotil oceno anomalije po logiki, podobni zvišanju amazoncloudwatch alarm, kot je spremljanje prekoračitve praga v določenem času. Za več informacij o nastavitvi alarmov glejte Uporaba alarmov Amazon CloudWatch. Izvajanje teh vrednotenj v funkciji Lambda vam omogoča pošiljanje opozoril, na primer z objavo opozorila Amazon Simple notification Service (Amazon SNS) tema.

Čiščenje

Ko končate z uporabo te rešitve, morate počistiti, da se izognete nepotrebnim stroškom:

  1. V SageMaker Canvas poiščite svojo uvedbo končne točke modela in jo izbrišite.
  2. Odjavite se iz SageMaker Canvas, da se izognete stroškom za nedejavno delovanje.

Povzetek

V tej objavi smo pokazali, kako lahko strokovnjak za področje oceni vhodne podatke in ustvari model ML z uporabo SageMaker Canvas, ne da bi bilo treba pisati kodo. Nato smo pokazali, kako uporabiti ta model za izvajanje odkrivanja nepravilnosti v realnem času z uporabo SageMaker in Lambda prek preprostega poteka dela. Ta kombinacija omogoča strokovnjakom na tem področju, da uporabijo svoje znanje za ustvarjanje zmogljivih modelov ML brez dodatnega usposabljanja v znanosti o podatkih, strokovnjakom za MLOps pa omogoča uporabo teh modelov in njihovo fleksibilno in učinkovito dajanje na voljo za sklepanje.

Za SageMaker Canvas je na voljo 2-mesečna brezplačna stopnja, nato pa plačate samo tisto, kar uporabljate. Začnite eksperimentirati še danes in dodajte ML, da kar najbolje izkoristite svoje podatke.


O avtorju

Detect anomalies in manufacturing data using Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai. Helge Aufderheide je entuziast nad izdelavo podatkov uporabnih v resničnem svetu z močnim poudarkom na avtomatizaciji, analitiki in strojnem učenju v industrijskih aplikacijah, kot sta proizvodnja in mobilnost.

Časovni žig:

Več od Strojno učenje AWS