Tunnista poikkeamat valmistustiedoissa Amazon SageMaker Canvasin avulla | Amazon Web Services

Tunnista poikkeamat valmistustiedoissa Amazon SageMaker Canvasin avulla | Amazon Web Services

Pilvilaskentaa, big dataa ja koneoppimistyökaluja (ML) käytettäessä Amazon Athena or Amazon Sage Maker ovat tulleet kenen tahansa saataville ja käytettäväksi ilman suuria vaivaa luomisessa ja ylläpidossa. Teollisuusyritykset tarkastelevat yhä enemmän data-analytiikkaa ja datalähtöistä päätöksentekoa lisätäkseen resurssitehokkuutta koko portfoliossaan toiminnasta ennakoivaan ylläpitoon tai suunnitteluun.

IT:n nopean muutoksen vuoksi perinteisten toimialojen asiakkaat ovat osaamisen dilemman edessä. Toisaalta analyytikoilla ja toimialueen asiantuntijoilla on erittäin syvä tietämys kyseessä olevasta tiedosta ja sen tulkinnasta, mutta heillä ei kuitenkaan usein ole altistumista datatieteen työkaluille ja korkean tason ohjelmointikielille, kuten Python. Toisaalta datatieteen asiantuntijoilta puuttuu usein kokemusta konedatan sisällön tulkitsemisesta ja suodattamisesta sen mukaan, mikä on olennaista. Tämä ongelma vaikeuttaa sellaisten tehokkaiden mallien luomista, jotka käyttävät dataa liiketoiminnan kannalta merkityksellisten oivallusten tuottamiseen.

Amazon SageMaker Canvas ratkaisee tämän ongelman tarjoamalla toimialueen asiantuntijoille koodittoman käyttöliittymän tehokkaiden analytiikka- ja ML-mallien, kuten ennusteiden, luokittelun tai regressiomallien, luomiseen. Sen avulla voit myös ottaa käyttöön ja jakaa näitä malleja ML- ja MLOps-asiantuntijoiden kanssa luomisen jälkeen.

Tässä viestissä näytämme sinulle, kuinka SageMaker Canvasin avulla voit kuroida ja valita oikeat ominaisuudet tiedoistasi ja kouluttaa sitten ennustemallin poikkeamien havaitsemiseen käyttämällä SageMaker Canvasin kooditonta toimintoa mallien virittämiseen.

Valmistusteollisuuden poikkeamien havaitseminen

Kirjoitushetkellä SageMaker Canvas keskittyy tyypillisiin yrityskäyttötapauksiin, kuten ennustamiseen, regressioon ja luokitteluun. Tässä viestissä osoitamme, kuinka nämä ominaisuudet voivat myös auttaa havaitsemaan monimutkaisia ​​epänormaaleja tietopisteitä. Tämä käyttötapaus soveltuu esimerkiksi teollisuuskoneiden toimintahäiriöiden tai epätavallisten toimintojen havaitsemiseen.

Poikkeamien havaitseminen on tärkeää teollisuudessa, koska koneet (junista turbiineihin) ovat yleensä erittäin luotettavia, ja vikojen väliset ajat ovat vuosia. Useimmat näiden koneiden tiedoista, kuten lämpötila-anturin lukemat tai tilaviestit, kuvaavat normaalia toimintaa ja niillä on rajallinen arvo päätöksenteossa. Insinöörit etsivät epänormaalia dataa tutkiessaan vian perimmäisiä syitä tai varoitusosoittimia tulevista vioista, ja suorituskyvyn johtajat tutkivat poikkeavia tietoja mahdollisten parannusten tunnistamiseksi. Siksi tyypillinen ensimmäinen askel kohti datalähtöistä päätöksentekoa perustuu asiaankuuluvien (epänormaalien) tietojen löytämiseen.

Tässä viestissä käytämme SageMaker Canvasia oikeiden tietojen ominaisuuksien kuratointiin ja valitsemiseen ja sitten koulutamme ennustemallin poikkeamien havaitsemiseen käyttämällä SageMaker Canvasin kooditonta toimintoa mallin virittämiseen. Sitten otamme mallin käyttöön SageMaker-päätepisteenä.

Ratkaisun yleiskatsaus

Poikkeamien havaitsemisen käyttötapauksessamme harjoittelemme ennustemallin ennustamaan koneen normaalille toiminnalle ominaista ominaisuutta, kuten autossa ilmoitettua moottorin lämpötilaa, vaikuttavien ominaisuuksien, kuten auton nopeuden ja viimeaikaisen vääntömomentin perusteella. . Uuden mittausnäytteen poikkeamien havaitsemiseksi vertaamme ominaispiirteen malliennusteita annettuihin havaintoihin.

Esimerkiksi auton moottorin osalta toimialan asiantuntija saa mittauksia moottorin normaalista lämpötilasta, viimeaikaisesta moottorin vääntömomentista, ympäristön lämpötilasta ja muista mahdollisista vaikuttavista tekijöistä. Niiden avulla voit kouluttaa mallin ennustamaan lämpötilaa muiden ominaisuuksien perusteella. Sitten voimme käyttää mallia ennustamaan moottorin lämpötilaa säännöllisesti. Kun näiden tietojen ennustettu lämpötila on samanlainen kuin näissä tiedoissa havaittu lämpötila, moottori toimii normaalisti; poikkeama viittaa poikkeamaan, kuten jäähdytysjärjestelmän vikaantumiseen tai moottorin vikaan.

Seuraava kaavio kuvaa ratkaisuarkkitehtuuria.

Prosessin yleiskuvaus: Malli luodaan SageMaker Canvasissa, otetaan käyttöön ja otetaan sitten käyttöön AWS Lambda Funcinosta.

Ratkaisu koostuu neljästä avainvaiheesta:

  1. Toimialueen asiantuntija luo alkuperäisen mallin, joka sisältää data-analyysin ja ominaisuuksien kuroinnin SageMaker Canvasilla.
  2. Verkkoalueen asiantuntija jakaa mallin verkkotunnuksen kautta Amazon SageMaker -mallirekisteri tai ottaa sen käyttöön suoraan reaaliaikaisena päätepisteenä.
  3. MLOps-asiantuntija luo päättelyinfrastruktuurin ja koodin, joka kääntää mallin tulosteen ennusteesta poikkeavuusindikaattoriksi. Tämä koodi toimii tyypillisesti koodin sisällä AWS Lambda toiminto.
  4. Kun sovellus vaatii poikkeaman havaitsemista, se kutsuu Lambda-funktiota, joka käyttää mallia päättelyyn ja antaa vastauksen (onko se poikkeavuus vai ei).

Edellytykset

Jotta voit seurata tätä viestiä, sinun on täytettävä seuraavat edellytykset:

Luo malli SageMakerilla

Mallin luontiprosessi noudattaa vakiovaiheita regressiomallin luomiseksi SageMaker Canvasissa. Lisätietoja on kohdassa Amazon SageMaker Canvasin käytön aloittaminen.

Ensin toimialueen asiantuntija lataa SageMaker Canvasiin olennaiset tiedot, kuten mittausten aikasarjat. Tässä viestissä käytämme CSV-tiedostoa, joka sisältää (synteettisesti luodut) sähkömoottorin mittaukset. Katso lisätietoja kohdasta Tuo tiedot Canvasiin. Käytetyt näytetiedot ovat ladattavissa muodossa a CSV.

Kuvassa csv:n ensimmäiset rivit. Lisäksi nopean esikatselun mallin histogrammi ja vertailutiedot näytetään.

Kuroi tiedot SageMaker Canvasilla

Kun tiedot on ladattu, toimialueen asiantuntija voi käyttää SageMaker Canvasia lopullisessa mallissa käytettyjen tietojen kuratoimiseen. Asiantuntija valitsee tätä varten ne sarakkeet, jotka sisältävät kyseiselle ongelmalle ominaismitat. Tarkemmin sanottuna asiantuntija valitsee sarakkeet, jotka liittyvät toisiinsa esimerkiksi fysikaalisella suhteella, kuten paine-lämpötila-käyrällä, ja joissa tämän suhteen muutos on niiden käyttötapauksen kannalta oleellinen poikkeama. Poikkeamien havaitsemismalli oppii normaalin suhteen valittujen sarakkeiden välillä ja ilmoittaa, kun tiedot eivät ole sen mukaisia, kuten moottorin epänormaalin korkean lämpötilan moottorin nykyisen kuormituksen vuoksi.

Käytännössä toimialueen asiantuntijan on valittava joukko sopivia syöttösarakkeita ja kohdesarake. Syöttöt ovat tyypillisesti joukko suureita (numeerisia tai kategorisia), jotka määrittävät koneen käyttäytymisen tarveasetuksista kuormaan, nopeuteen tai ympäristön lämpötilaan. Tulos on tyypillisesti numeerinen suure, joka ilmaisee koneen toiminnan suorituskyvyn, kuten lämpötilaa mittaavan energian haihtumisen tai muun suorituskyvyn mittarin, joka muuttuu koneen käydessä epäoptimaalisissa olosuhteissa.

Havainnollistaaksemme käsitettä siitä, mitkä suureet valitaan syötteelle ja ulostulolle, tarkastellaan muutamaa esimerkkiä:

  • Pyöriville laitteille, kuten tässä postauksessa rakentamallemme mallille, tyypillisiä syötteitä ovat pyörimisnopeus, vääntömomentti (virta ja historia) ja ympäristön lämpötila, ja tavoitteet ovat tuloksena olevat laakerien tai moottorin lämpötilat, jotka osoittavat pyörien hyviä toimintaolosuhteita.
  • Tuuliturbiinille tyypillisiä syötteitä ovat tuulen nopeuden ja roottorin siipien asetukset nykyinen ja lähihistoria, ja tavoitemäärä on tuotettu teho tai pyörimisnopeus
  • Kemiallisen prosessin tyypillisiä syötteitä ovat eri ainesosien prosenttiosuus ja ympäristön lämpötila, ja tavoitteet ovat tuotettu lämpö tai lopputuotteen viskositeetti.
  • Liikkuville laitteille, kuten liukuoville, tyypilliset tulot ovat moottoreiden tehonsyöttö ja tavoitearvo on liikkeen nopeus tai valmistumisaika
  • LVI-järjestelmässä tyypillisiä syötteitä ovat saavutettu lämpötilaero ja kuormitusasetukset ja tavoitemäärä on mitattu energiankulutus.

Viime kädessä oikeat syötteet ja kohteet tietylle laitteelle riippuvat käyttötapauksesta ja havaittavasta poikkeavasta käyttäytymisestä, ja ne tietävät parhaiten toimialueen asiantuntija, joka tuntee tietyn tietojoukon monimutkaisuudet.

Useimmissa tapauksissa sopivien syöttö- ja tavoitemäärien valitseminen tarkoittaa vain oikeiden sarakkeiden valitsemista ja kohdesarakkeen merkitsemistä (tässä esimerkissä bearing_temperature). Toimialueen asiantuntija voi kuitenkin myös käyttää SageMaker Canvasin koodittomia ominaisuuksia sarakkeiden muuntamiseen ja tietojen tarkentamiseen tai kokoamiseen. Voit esimerkiksi poimia tai suodattaa tiettyjä päivämääriä tai aikaleimoja tiedoista, joilla ei ole merkitystä. SageMaker Canvas tukee tätä prosessia ja näyttää tilastot valituista määristä, jolloin voit ymmärtää, onko suurella poikkeavuuksia ja leviämistä, jotka voivat vaikuttaa mallin tuloksiin.

Harjoittele, viritä ja arvioi mallia

Kun toimialueen asiantuntija on valinnut sopivat sarakkeet tietojoukosta, hän voi kouluttaa mallin oppimaan syötteiden ja tulosten välisen suhteen. Tarkemmin sanottuna malli oppii ennustamaan syötteistä valitun tavoitearvon.

Normaalisti voit käyttää SageMaker Canvaa Mallin esikatselu vaihtoehto. Tämä antaa nopean osoituksen mallin odotettavissa olevasta laadusta ja antaa sinun tutkia eri tulojen vaikutusta lähtömetriikkaan. Esimerkiksi seuraavassa kuvakaappauksessa malli vaikuttaa eniten motor_speed ja ambient_temperature mittareita ennustaessaan bearing_temperature. Tämä on järkevää, koska nämä lämpötilat liittyvät läheisesti toisiinsa. Samanaikaisesti ylimääräinen kitka tai muut keinot energian häviämiseen voivat vaikuttaa tähän.

Mallin laadun kannalta mallin RMSE on indikaattori, kuinka hyvin malli pystyi oppimaan normaalin käyttäytymisen harjoitustiedoissa ja toistamaan tulo- ja tulosmittojen väliset suhteet. Esimerkiksi seuraavassa mallissa mallin pitäisi pystyä ennustamaan oikea motor_bearing lämpötila on 3.67 celsiusastetta, joten todellisen lämpötilan poikkeamaa malliennusteesta, joka on suurempi kuin esimerkiksi 7.4 astetta, voidaan pitää poikkeavana. Todellinen kynnys, jota käytät, riippuu kuitenkin käyttöönottoskenaariossa vaaditusta herkkyydestä.

Kaavio, joka näyttää moottorin todellisen ja arvioidun nopeuden. Suhde on lineaarinen jonkin verran melua.

Lopuksi, kun mallin arviointi ja viritys on valmis, voit aloittaa täydellisen mallikoulutuksen, joka luo mallin, jota käytetään päättelyyn.

Ota käyttöön malli

Vaikka SageMaker Canvas voi käyttää mallia johtopäätösten tekemiseen, poikkeamien havaitsemisen tuottava käyttöönotto edellyttää, että malli otetaan käyttöön SageMaker Canvasin ulkopuolella. Tarkemmin sanottuna meidän on otettava malli käyttöön päätepisteenä.

Tässä viestissä ja yksinkertaisuuden vuoksi käytämme mallia päätepisteenä suoraan SageMaker Canvasista. Katso ohjeet kohdasta Ota mallisi käyttöön päätepisteessä. Muista ottaa huomioon käyttöönoton nimi ja harkita sen ilmentymän tyypin hinnoittelua, johon otat käyttöön (tässä viestissä käytämme ml.m5.largea). SageMaker Canvas luo sitten mallipäätepisteen, jota voidaan kutsua ennusteiden saamiseksi.

Sovellusikkuna, joka näyttää mallin käyttöönoton määritykset. Näytetyt asetukset ovat koneen koko ml.m5.large ja sample-anomaly-model -mallin käyttöönottonimi.

Teollisissa olosuhteissa mallille on tehtävä perusteellinen testaus ennen kuin se voidaan ottaa käyttöön. Tätä varten verkkotunnuksen asiantuntija ei ota sitä käyttöön, vaan jakaa mallin SageMaker-mallirekisteriin. Täällä MLOps-toiminnan asiantuntija voi ottaa vastuun. Tyypillisesti kyseinen asiantuntija testaa mallin päätepisteen, arvioi kohdesovelluksessa tarvittavan laskentalaitteiston koon ja määrittää kustannustehokkaimman käyttöönoton, kuten palvelimettoman päättelyn tai eräpäätelmän käyttöönoton. Nämä vaiheet ovat tavallisesti automatisoituja (esim Amazon Sagemaker -putkistot tai Amazon SDK).

Kuva, jossa näkyy painike, jolla voit jakaa mallin Amazon Sgemakerista mallirekisteriin.

Käytä mallia poikkeamien havaitsemiseen

Edellisessä vaiheessa loimme mallin käyttöönoton SageMaker Canvasissa, nimeltään canvas-sample-anomaly-model. Voimme käyttää sitä saadakseen ennusteita a bearing_temperature arvo perustuu tietojoukon muihin sarakkeisiin. Nyt haluamme käyttää tätä päätepistettä poikkeamien havaitsemiseen.

Poikkeavien tietojen tunnistamiseksi mallimme käyttää ennustemallin päätepistettä tavoitemittarin odotetun arvon saamiseksi ja vertaa sitten ennustettua arvoa datan todelliseen arvoon. Ennustettu arvo ilmaisee harjoitustietoihin perustuvan tavoitemittarimme odotetun arvon. Tämän arvon ero on siksi mittari havaittujen todellisten tietojen poikkeavuudelle. Voimme käyttää seuraavaa koodia:

# 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

Edellinen koodi suorittaa seuraavat toiminnot:

  1. Syöttötiedot suodatetaan oikeisiin ominaisuuksiin (toiminto "input_transformer").
  2. SageMaker-mallin päätepiste kutsutaan suodatetuilla tiedoilla (funktio "do_inference"), jossa käsittelemme syötteen ja tulosteen muotoilua esimerkkikoodin mukaisesti, joka on annettu avattaessa käyttöönoton tietosivua SageMaker Canvasissa.
  3. Kutsun tulos liitetään alkuperäiseen syöttötietoon ja erotus tallennetaan virhesarakkeeseen (funktio "output_transform").

Etsi poikkeavuuksia ja arvioi poikkeavia tapahtumia

Tyypillisessä asennuksessa koodi poikkeavuuksien saamiseksi suoritetaan Lambda-funktiossa. Lambda-toiminto voidaan kutsua sovelluksesta tai Amazon API -yhdyskäytävä. Pääfunktio palauttaa poikkeamapistemäärän jokaiselle syötetietojen riville – tässä tapauksessa poikkeavuuspisteiden aikasarjan.

Testausta varten voimme suorittaa koodin myös SageMaker-muistikirjassa. Seuraavat kaaviot näyttävät mallimme syötteet ja lähdöt käytettäessä näytetietoja. Ennusteiden ja todellisten arvojen välisen poikkeaman huiput (poikkeamapisteet, näytetään alemmassa kaaviossa) osoittavat poikkeavuuksia. Esimerkiksi kaaviossa voimme nähdä kolme erillistä huippua, joissa poikkeamapisteet (ero odotetun ja todellisen lämpötilan välillä) ylittää 7 celsiusastetta: ensimmäinen pitkän tyhjäkäynnin jälkeen, toinen jyrkän pudotuksen jälkeen. bearing_temperature, ja viimeinen missä bearing_temperature on korkea verrattuna motor_speed.

Kaksi kaaviota aikasarjoille. Yläosassa näkyvät moottorin lämpötilojen ja moottorin nopeuksien aikasarjat. Alempi kaavio näyttää poikkeavuuspisteet ajan mittaan kolmella piikin kanssa, jotka osoittavat poikkeavuuksia.

Monissa tapauksissa riittää jo poikkeavuuspisteiden aikasarjan tunteminen; voit asettaa kynnyksen sille, milloin varoittaa merkittävästä poikkeamasta mallin herkkyyden tarpeen perusteella. Nykyinen pistemäärä osoittaa sitten, että koneessa on epänormaali tila, joka vaatii tutkimista. Esimerkiksi mallissamme poikkeavuuspisteiden absoluuttinen arvo jakautuu seuraavan kaavion mukaisesti. Tämä vahvistaa, että useimmat poikkeavuuspisteet ovat alle (2xRMS=)8 asteen, jotka havaittiin koulutuksen aikana mallille tyypillisenä virheenä. Kaavio voi auttaa sinua valitsemaan kynnyksen manuaalisesti siten, että oikea prosenttiosuus arvioiduista näytteistä merkitään poikkeavuuksiksi.

Histogrammi poikkeavuuspisteiden arvojen esiintymisestä. Käyrä pienenee arvosta x=0 arvoon x=15.

Jos haluttu tulos on poikkeamien tapahtumia, mallin antamat poikkeavuuspisteet vaativat tarkennusta, jotta ne olisivat merkityksellisiä yrityskäytössä. Tätä varten ML-asiantuntija yleensä lisää jälkikäsittelyn poistaakseen kohinan tai suuret huiput poikkeavuuspisteistä, kuten lisäämällä vierintäkeskiarvon. Lisäksi asiantuntija arvioi tyypillisesti poikkeaman pisteytyksen logiikan mukaan, joka on samanlainen kuin nostaminen amazonin pilvikello hälytys, kuten kynnyksen ylittymisen valvonta tietyn ajan kuluessa. Lisätietoja hälytysten asettamisesta on kohdassa Amazon CloudWatch -hälytysten käyttäminen. Kun nämä arvioinnit suoritetaan Lambda-toiminnossa, voit lähettää varoituksia esimerkiksi julkaisemalla varoituksen Amazonin yksinkertainen ilmoituspalvelu (Amazon SNS) -aihe.

Puhdistaa

Kun olet lopettanut tämän ratkaisun käytön, sinun tulee puhdistaa tarpeettomat kustannukset:

  1. Etsi SageMaker Canvasista mallipäätepisteen käyttöönotto ja poista se.
  2. Kirjaudu ulos SageMaker Canvasista, jotta se ei veloita tyhjäkäynnistä.

Yhteenveto

Tässä viestissä näytimme, kuinka verkkotunnuksen asiantuntija voi arvioida syötetietoja ja luoda ML-mallin SageMaker Canvasilla ilman koodin kirjoittamista. Sitten näytimme, kuinka tätä mallia käytetään suorittamaan reaaliaikainen poikkeamien havaitseminen SageMakerin ja Lambdan avulla yksinkertaisen työnkulun avulla. Tämä yhdistelmä antaa alan asiantuntijoille mahdollisuuden käyttää tietämystään tehokkaiden ML-mallien luomiseen ilman lisäkoulutusta datatieteessä, ja MLOps-asiantuntijat voivat käyttää näitä malleja ja tehdä niistä päätelmiä joustavasti ja tehokkaasti.

SageMaker Canvasille on saatavilla 2 kuukauden ilmainen taso, jonka jälkeen maksat vain käyttämästäsi. Aloita kokeilu tänään ja lisää ML saadaksesi kaiken irti tiedoistasi.


Kirjailijasta

Tunnista poikkeamat valmistustiedoissa Amazon SageMaker Canvasin avulla | Amazon Web Services PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai. Helge Aufderheide on innokas tekemään datasta käyttökelpoista todellisessa maailmassa keskittyen vahvasti automaatioon, analytiikkaan ja koneoppimiseen teollisissa sovelluksissa, kuten valmistus ja liikkuvuus.

Aikaleima:

Lisää aiheesta AWS-koneoppiminen