Tuvastage tootmisandmetes anomaaliaid, kasutades Amazon SageMaker Canvas | Amazoni veebiteenused

Tuvastage tootmisandmetes anomaaliaid, kasutades Amazon SageMaker Canvas | Amazoni veebiteenused

Pilvandmetöötluse, suurandmete ja masinõppe (ML) tööriistade kasutamisega nagu Amazonase Athena or Amazon SageMaker on muutunud kõigile kättesaadavaks ja kasutatavaks, ilma et oleks vaja palju luua ja hooldada. Tööstusettevõtted vaatavad üha enam andmeanalüütikat ja andmepõhist otsuste tegemist, et suurendada ressursitõhusust kogu oma portfellis, alates operatsioonidest kuni prognoositava hoolduse või planeerimiseni.

IT muutumise kiiruse tõttu seisavad traditsiooniliste tööstusharude kliendid silmitsi oskuste komplekti dilemmaga. Ühest küljest on analüütikutel ja domeeniekspertidel väga sügavad teadmised kõnealuste andmete ja nende tõlgendamise kohta, kuid neil puudub sageli kokkupuude andmeteaduse tööriistade ja kõrgetasemeliste programmeerimiskeeltega, nagu Python. Teisest küljest puudub andmeteaduse ekspertidel sageli kogemus masinaandmete sisu tõlgendamiseks ja selle asjakohaseks filtreerimiseks. See dilemma takistab tõhusate mudelite loomist, mis kasutavad andmeid ettevõtte jaoks olulise ülevaate saamiseks.

Amazon SageMakeri lõuend lahendab selle dilemma, pakkudes domeeniekspertidele koodivaba liidest, et luua võimsaid analüütika- ja ML-mudeleid, nagu prognoosid, klassifikatsiooni- või regressioonimudelid. Samuti võimaldab see pärast loomist neid mudeleid juurutada ja ML- ja MLOps-spetsialistidega jagada.

Selles postituses näitame teile, kuidas kasutada SageMaker Canvast oma andmetes õigete funktsioonide kureerimiseks ja valimiseks ning seejärel ennustusmudeli väljaõpetamiseks anomaalia tuvastamiseks, kasutades mudeli häälestamiseks SageMaker Canvase koodivaba funktsiooni.

Anomaaliate tuvastamine töötlevas tööstuses

Kirjutamise ajal keskendub SageMaker Canvas tüüpilistele ärikasutusjuhtumitele, nagu prognoosimine, regressioon ja klassifitseerimine. Selle postituse jaoks näitame, kuidas need võimalused võivad aidata tuvastada ka keerulisi ebanormaalseid andmepunkte. See kasutusjuhtum on asjakohane näiteks tööstusmasinate talitlushäirete või ebatavaliste toimingute täpseks tuvastamiseks.

Anomaaliate tuvastamine on tööstusvaldkonnas oluline, kuna masinad (rongidest turbiinideni) on tavaliselt väga töökindlad ja rikete vaheline aeg ulatub aastateni. Enamik nende masinate andmeid, nagu temperatuurianduri näidud või olekuteated, kirjeldavad tavapärast tööd ja nende väärtus on otsuste tegemisel piiratud. Insenerid otsivad tõrke algpõhjuste uurimisel või tulevaste tõrgete hoiatusnäitajatena ebatavalisi andmeid ning jõudlusjuhid uurivad ebatavalisi andmeid, et tuvastada võimalikke parandusi. Seetõttu põhineb tüüpiline esimene samm andmepõhise otsustusprotsessi poole liikumisel asjakohaste (ebanormaalsete) andmete leidmisel.

Selles postituses kasutame SageMaker Canvast andmete õigete funktsioonide kureerimiseks ja valimiseks ning seejärel anomaaliate tuvastamiseks ennustusmudeli väljaõpetamiseks, kasutades mudeli häälestamiseks SageMaker Canvas koodivaba funktsiooni. Seejärel juurutame mudeli SageMakeri lõpp-punktina.

Lahenduse ülevaade

Anomaaliate tuvastamise kasutusjuhtumi puhul treenime ennustusmudelit, et ennustada masina normaalseks tööks iseloomulikku tunnust, nagu autos näidatud mootori temperatuur, mõjutavate omaduste (nt kiirus ja hiljutine autos rakendatud pöördemoment) põhjal. . Anomaaliate tuvastamiseks uuel mõõtmisproovil võrdleme iseloomuliku tunnuse mudeli ennustusi esitatud vaatlustega.

Automootori näite puhul hangib valdkonna ekspert mootori normaalse temperatuuri, mootori hiljutise pöördemomendi, ümbritseva õhu temperatuuri ja muude potentsiaalsete mõjutegurite mõõtmised. Need võimaldavad teil koolitada mudelit temperatuuri ennustama teiste funktsioonide põhjal. Seejärel saame mudelit kasutada mootori temperatuuri regulaarseks ennustamiseks. Kui nende andmete prognoositav temperatuur on sarnane nende andmete vaadeldava temperatuuriga, töötab mootor normaalselt; lahknevus viitab anomaaliale, näiteks jahutussüsteemi rikkele või mootori defektile.

Järgnev diagramm illustreerib lahenduse arhitektuuri.

Protsessi ülevaade: SageMaker Canvasis luuakse mudel, see juurutatakse ja seejärel pääseb juurde AWS Lambda Funcinost.

Lahendus koosneb neljast põhietapist:

  1. Domeeniekspert loob SageMaker Canvase abil esialgse mudeli, sealhulgas andmete analüüsi ja funktsioonide kureerimise.
  2. Domeeniekspert jagab mudelit rakenduse kaudu Amazon SageMakeri mudeliregister või juurutab selle otse reaalajas lõpp-punktina.
  3. MLOps-ekspert loob järelduste infrastruktuuri ja koodi, muutes mudeli väljundi prognoosist anomaaliaindikaatoriks. See kood töötab tavaliselt koodi sees AWS Lambda funktsiooni.
  4. Kui rakendus nõuab anomaaliate tuvastamist, kutsub see välja lambda funktsiooni, mis kasutab mudelit järelduste tegemiseks ja annab vastuse (olenemata sellest, kas see on anomaalia või mitte).

Eeldused

Selle postituse jätkamiseks peate täitma järgmised eeltingimused:

Looge mudel SageMakeri abil

Mudeli loomise protsess järgib SageMaker Canvasis regressioonimudeli loomiseks standardseid samme. Lisateabe saamiseks vaadake Amazon SageMaker Canvase kasutamise alustamine.

Esiteks laadib domeeniekspert SageMaker Canvasisse asjakohased andmed, näiteks mõõtmiste aegread. Selle postituse jaoks kasutame CSV-faili, mis sisaldab elektrimootori (sünteetiliselt genereeritud) mõõtmisi. Üksikasjade saamiseks vaadake Importige andmed lõuendisse. Kasutatud näidisandmed on allalaadimiseks saadaval kui a CSV.

Pilt, mis näitab csv esimesi ridu. Lisaks kuvatakse kiire eelvaatemudeli jaoks histogramm ja võrdlusmõõdikud.

Kureerige andmeid SageMaker Canvasiga

Pärast andmete laadimist saab domeeniekspert kasutada SageMaker Canvast lõplikus mudelis kasutatud andmete kureerimiseks. Selleks valib ekspert need veerud, mis sisaldavad kõnealusele probleemile iseloomulikke mõõtmisi. Täpsemalt valib ekspert veerud, mis on omavahel seotud näiteks füüsilise seose kaudu, nagu rõhu-temperatuuri kõver, ja kus selle seose muutus on nende kasutusjuhtumi jaoks asjakohane anomaalia. Anomaaliate tuvastamise mudel õpib tundma valitud veergude vahelist tavapärast seost ja näitab, kui andmed ei vasta sellele, näiteks mootori praeguse koormuse tõttu ebatavaliselt kõrge mootori temperatuur.

Praktikas peab domeeniekspert valima sobivate sisendveergude komplekti ja sihtveeru. Sisenditeks on tavaliselt kogum (numbriline või kategooriline), mis määrab masina käitumise, alates nõudluse seadistustest kuni koormuse, kiiruse või ümbritseva õhu temperatuurini. Väljund on tavaliselt numbriline suurus, mis näitab masina töö jõudlust, näiteks temperatuuri mõõtev energia hajumist või muu jõudlusnäidik, mis muutub, kui masin töötab ebaoptimaalsetes tingimustes.

Et illustreerida, milliseid koguseid sisendiks ja väljundiks valida, vaatleme mõnda näidet:

  • Pöörlevate seadmete (nt mudeli, mille me selles postituses ehitame) puhul on tüüpilised sisendid pöörlemiskiirus, pöördemoment (praegune ja ajalugu) ja ümbritseva õhu temperatuur ning sihtmärgid on saadud laagrite või mootori temperatuurid, mis näitavad pöörete häid töötingimusi.
  • Tuuleturbiini puhul on tüüpilisteks sisenditeks tuule kiiruse ja rootori labade seadistuste praegune ja lähiajalugu ning sihtkogus on toodetud võimsus või pöörlemiskiirus
  • Keemilise protsessi puhul on tüüpilised sisendid erinevate koostisosade protsent ja ümbritseva õhu temperatuur ning sihtmärgid on toodetud soojus või lõpptoote viskoossus.
  • Liikuvate seadmete (nt lükanduksed) puhul on tüüpilisteks sisenditeks mootorite võimsus ja sihtväärtus on liikumise kiirus või lõpuaeg.
  • HVAC-süsteemi puhul on tüüpilisteks sisenditeks saavutatud temperatuuride erinevus ja koormuse seadistused ning sihtkoguseks on mõõdetud energiatarbimine.

Lõppkokkuvõttes sõltuvad konkreetse seadme jaoks õiged sisendid ja sihtmärgid kasutusjuhtumist ja tuvastatavast anomaalsest käitumisest ning need on kõige paremini teada domeenieksperdile, kes tunneb konkreetse andmestiku keerukust.

Enamikul juhtudel tähendab sobivate sisend- ja sihtkoguste valimine ainult õigete veergude valimist ja sihtveeru märgistamist (selle näite puhul bearing_temperature). Domeeniekspert saab aga kasutada ka SageMaker Canvase koodita funktsioone veergude teisendamiseks ja andmete täpsustamiseks või koondamiseks. Näiteks saate ebaolulistest andmetest eraldada või filtreerida konkreetseid kuupäevi või ajatempleid. SageMaker Canvas toetab seda protsessi, näidates statistikat valitud koguste kohta, võimaldades teil mõista, kas kogusel on kõrvalekaldeid ja levikut, mis võivad mudeli tulemusi mõjutada.

Treenige, häälestage ja hinnake mudelit

Pärast seda, kui domeeniekspert on andmestikust sobivad veerud valinud, saavad nad mudelit treenida, et õppida tundma sisendite ja väljundite vahelist seost. Täpsemalt, mudel õpib ennustama sisenditest valitud sihtväärtust.

Tavaliselt saate kasutada SageMakeri lõuendit Mudeli eelvaade valik. See annab kiire ülevaate mudeli oodatavast kvaliteedist ja võimaldab teil uurida erinevate sisendite mõju väljundmõõdikule. Näiteks järgmisel ekraanipildil mõjutab mudelit kõige enam motor_speed ja ambient_temperature mõõdikud ennustamisel bearing_temperature. See on mõistlik, sest need temperatuurid on omavahel tihedalt seotud. Samal ajal mõjutab seda tõenäoliselt täiendav hõõrdumine või muu energiakadu.

Mudeli kvaliteedi jaoks on mudeli RMSE indikaator, kui hästi suutis mudel õppida tavapärast käitumist treeningandmetes ja reprodutseerida seoseid sisend- ja väljundmeetmete vahel. Näiteks järgmise mudeli puhul peaks mudel suutma ennustada õiget motor_bearing temperatuur 3.67 kraadi Celsiuse piires, seega võime pidada anomaaliaks tegeliku temperatuuri kõrvalekaldumist mudeli ennustusest, mis on suurem kui näiteks 7.4 kraadi. Tegelik lävi, mida te kasutaksite, sõltub aga juurutamise stsenaariumis nõutavast tundlikkusest.

Graafik, mis näitab mootori tegelikku ja prognoositavat kiirust. Suhe on lineaarne, mõningase müraga.

Lõpuks, kui mudeli hindamine ja häälestamine on lõppenud, saate alustada täielikku mudelikoolitust, mis loob mudeli, mida kasutada järelduste tegemiseks.

Mudeli juurutamine

Kuigi SageMaker Canvas saab mudelit järelduste tegemiseks kasutada, nõuab anomaalia tuvastamise produktiivne juurutamine mudeli juurutamist väljaspool SageMaker Canvast. Täpsemalt peame mudeli lõpp-punktina juurutama.

Selles postituses ja lihtsuse huvides juurutame mudeli otse SageMaker Canvase lõpp-punktina. Juhiste saamiseks vaadake Juurutage oma mudelid lõpp-punkti. Märkige kindlasti juurutuse nimi ja kaaluge selle eksemplari tüübi hinda, mille juurutamiseks kasutate (selle postituse jaoks kasutame ml.m5.large). SageMaker Canvas loob seejärel mudeli lõpp-punkti, mida saab prognooside saamiseks kutsuda.

Rakenduse aken, mis näitab mudeli juurutamise konfiguratsiooni. Kuvatud sätted on masina suurus ml.m5.large ja proovi-anomaalia-mudeli juurutusnimi.

Tööstuslikes tingimustes peab mudel läbima põhjaliku testimise, enne kui seda saab kasutusele võtta. Selleks ei juuruta domeeniekspert seda, vaid jagab mudelit SageMakeri mudeliregistriga. Siin saab üle võtta MLOpsi operatsioonide ekspert. Tavaliselt testib see ekspert mudeli lõpp-punkti, hindab sihtrakenduse jaoks vajalike arvutusseadmete suurust ja määrab kõige kuluefektiivsema juurutamise, näiteks serverita järelduse või pakettjärelduse juurutamise. Need sammud on tavaliselt automatiseeritud (näiteks kasutades Amazon Sagemakeri torujuhtmed või Amazon SDK).

Pilt, mis näitab nuppu Amazon Sgemakeri mudeli jagamiseks mudeliregistrisse.

Kasutage anomaaliate tuvastamiseks mudelit

Eelmises etapis lõime SageMaker Canvas mudeli juurutamise nimega canvas-sample-anomaly-model. Saame seda kasutada ennustuste saamiseks a bearing_temperature väärtus põhineb andmestiku teistel veergudel. Nüüd tahame seda lõpp-punkti kasutada kõrvalekallete tuvastamiseks.

Anomaalsete andmete tuvastamiseks kasutab meie mudel ennustusmudeli lõpp-punkti, et saada sihtmõõdiku eeldatav väärtus ja seejärel võrrelda prognoositud väärtust andmete tegeliku väärtusega. Prognoositav väärtus näitab meie sihtmõõdiku eeldatavat väärtust koolitusandmete põhjal. Seetõttu on selle väärtuse erinevus tegelike vaadeldud andmete ebanormaalsuse mõõdik. Saame kasutada järgmist koodi:

# 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

Eelnev kood teostab järgmisi toiminguid:

  1. Sisendandmed filtreeritakse alla õigete funktsioonideni (funktsioon "input_transformer").
  2. SageMakeri mudeli lõpp-punkt kutsutakse välja filtreeritud andmetega (funktsioon "do_inference“), kus käsitleme sisend- ja väljundvormingut vastavalt näidiskoodile, mis antakse SageMaker Canvas juurutamise üksikasjade lehe avamisel.
  3. Väljakutse tulemus liidetakse algsete sisendandmetega ja erinevus salvestatakse vea veergu (funktsioon “output_transform").

Leidke kõrvalekaldeid ja hinnake anomaalseid sündmusi

Tüüpilise seadistuse korral käivitatakse anomaaliate hankimise kood lambda funktsioonis. Lambda funktsiooni saab välja kutsuda rakendusest või Amazon API värav. Põhifunktsioon tagastab iga sisendandmete rea anomaalia skoori – antud juhul anomaalia skoori aegrea.

Testimiseks saame koodi käivitada ka SageMakeri märkmikus. Järgmised graafikud näitavad meie mudeli sisendeid ja väljundeid näidisandmete kasutamisel. Prognoositud ja tegelike väärtuste vahelise hälbe tipud (anomaalia skoor, näidatud alumisel graafikul) näitavad kõrvalekaldeid. Näiteks näeme graafikul kolme erinevat tippu, kus anomaalia skoor (erinevus eeldatava ja tegeliku temperatuuri vahel) ületab 7 kraadi Celsiuse järgi: esimene pärast pikka tühikäiguaega, teine ​​järsu languse korral. bearing_temperature, ja viimane kus bearing_temperature on kõrge võrreldes motor_speed.

Kaks graafikut aegridade jaoks. Üleval kuvatakse mootori temperatuuride ja mootori kiiruste aegrida. Alumine graafik näitab anomaaliate skoori aja jooksul kolme piigiga, mis näitavad kõrvalekaldeid.

Paljudel juhtudel piisab juba anomaalia skoori aegrea tundmisest; saate mudeli tundlikkuse vajaduse põhjal seada läve, millal hoiatada olulise kõrvalekalde eest. Praegune skoor näitab siis, et masinal on ebanormaalne olek, mis vajab uurimist. Näiteks meie mudeli puhul jaotatakse anomaalia skoori absoluutväärtus nii, nagu on näidatud järgmisel graafikul. See kinnitab, et enamik kõrvalekaldeid on alla (2xRMS=)8 kraadi, mis leiti mudeli treenimisel tüüpilise veana. Graafik võib aidata teil valida läve käsitsi, nii et õige protsent hinnatud proovidest märgitakse kõrvalekalleteks.

Anomaalia skoori väärtuste esinemise histogramm. Kõver väheneb x=0-lt x=15-le.

Kui soovitud väljundiks on anomaaliate sündmused, vajavad mudeli pakutavad anomaaliaskoorid täpsustamist, et need oleksid ärilise kasutuse jaoks asjakohased. Selleks lisab ML-ekspert tavaliselt järeltöötluse, et eemaldada anomaalia skoori müra või suured piigid, näiteks lisades veereva keskmise. Lisaks hindab ekspert tavaliselt anomaalia skoori loogika järgi, mis sarnaneb anomaalia tõstmisega Amazon CloudWatch häire, näiteks teatud aja jooksul esineva läve rikkumise jälgimine. Lisateavet häirete seadistamise kohta leiate jaotisest Amazon CloudWatchi häirete kasutamine. Nende hindamiste käitamine funktsioonis Lambda võimaldab saata hoiatusi, näiteks avaldades hoiatuse Amazoni lihtne teavitusteenus (Amazon SNS) teema.

Koristage

Pärast selle lahenduse kasutamise lõpetamist peaksite tarbetute kulude vältimiseks puhastama:

  1. Leidke SageMaker Canvas'is oma mudeli lõpp-punkti juurutus ja kustutage see.
  2. Logige SageMaker Canvasest välja, et vältida selle tühikäigu eest tasumist.

kokkuvõte

Selles postituses näitasime, kuidas domeeniekspert saab SageMaker Canvase abil sisendandmeid hinnata ja luua ML-mudeli, ilma et oleks vaja koodi kirjutada. Seejärel näitasime, kuidas seda mudelit kasutada SageMakeri ja Lambda abil reaalajas anomaaliate tuvastamiseks lihtsa töövoo kaudu. See kombinatsioon võimaldab domeeniekspertidel kasutada oma teadmisi võimsate ML-mudelite loomiseks ilma andmeteaduse täiendava koolituseta ning võimaldab MLOpsi ekspertidel neid mudeleid kasutada ning teha need paindlikult ja tõhusalt järelduste tegemiseks kättesaadavaks.

SageMaker Canvase jaoks on saadaval 2-kuuline tasuta tase ja pärast seda maksate ainult selle eest, mida kasutate. Alustage katsetamist juba täna ja lisage ML, et oma andmeid maksimaalselt kasutada.


Andmeid autor

Detect anomalies in manufacturing data using Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai. Helge Aufderheide on andmete reaalses maailmas kasutatavaks muutmise entusiast, keskendudes tugevalt automatiseerimisele, analüüsile ja masinõppele tööstuslikes rakendustes, nagu tootmine ja mobiilsus.

Ajatempel:

Veel alates AWS-i masinõpe