Looge Amazon Kinesise, AWS Glue ja Amazon SageMaker PlatoBlockchain Data Intelligence abil ennustav hoolduslahendus. Vertikaalne otsing. Ai.

Looge Amazon Kinesise, AWS Glue'i ja Amazon SageMakeri abil ennustav hoolduslahendus

Organisatsioonid ehitavad ja kasutavad üha enam masinõppel (ML) põhinevaid lahendusi mitmesuguste kasutusjuhtude ja probleemide lahendamiseks, sealhulgas masinaosade ennustav hooldus, kliendi eelistustel põhinevad tootesoovitused, krediidiprofiil, sisu modereerimine, pettuste tuvastamine ja palju muud. Paljude nende stsenaariumide korral saab nende ML-toega lahenduste tõhusust ja eeliseid veelgi suurendada, kui need suudavad peaaegu reaalajas töödelda andmesündmusi ja saada neist teadmisi.

Kuigi peaaegu reaalajas ML-toega lahenduste äriväärtus ja eelised on hästi välja kujunenud, on nende lahenduste optimaalse töökindluse ja jõudlusega ulatuslikuks rakendamiseks vajalik arhitektuur keeruline. See postitus kirjeldab, kuidas saate kombineerida Amazon kinesis, AWS liimja Amazon SageMaker peaaegu reaalajas funktsioonide inseneri- ja järelduslahenduse loomiseks ennustavaks hoolduseks.

Kasutusjuhtumi ülevaade

Keskendume prognoositavale hoolduse kasutusjuhtumile, kus kohapeal (nt tööstusseadmed või võrguseadmed) kasutusele võetud andurid tuleb välja vahetada või parandada, enne kui need muutuvad rikki ja põhjustavad seisakuid. Seisakud võivad olla ettevõtetele kulukad ja põhjustada kehva kliendikogemuse. ML-mudelil töötav ennustav hooldus võib samuti aidata suurendada regulaarseid ajakavapõhiseid hooldustsükleid, teavitades sellest, kui heas seisukorras masinaosa ei tohiks välja vahetada, vältides seega tarbetuid kulusid.

Selles postituses keskendume masinõppe rakendamisele sünteetilises andmekogumis, mis sisaldab masinarikkeid, mis on tingitud sellistest funktsioonidest nagu õhutemperatuur, protsessi temperatuur, pöörlemiskiirus, pöördemoment ja tööriista kulumine. Kasutatav andmestik pärineb veebisaidilt UCI andmehoidla.

Masina rike koosneb viiest sõltumatust rikkerežiimist:

  • Tööriista kulumistõrge (TWF)
  • Soojuse hajumise tõrge (HDF)
  • Toitekatkestus (PWF)
  • Ülepinge rike (OSF)
  • Juhuslik rike (RNF)

Masina rikkesilt näitab, kas masin on konkreetse andmepunkti puhul rikkis, kui mõni eelnev rikkerežiim on tõene. Kui vähemalt üks tõrkerežiimidest on tõene, siis protsess nurjub ja masina rikkesildiks määratakse 1. ML-mudeli eesmärk on masina rikked õigesti tuvastada, et saaks algatada allavoolu ennustava hooldustoimingu.

Lahenduse ülevaade

Ennustava hoolduse kasutusjuhtumi puhul eeldame, et seadme andurid edastavad masinaosade kohta erinevaid mõõtmisi ja näitu. Seejärel võtab meie lahendus iga kord osa voogesituse andmetest (mikropakett) ning teostab funktsioonide loomiseks töötlemise ja funktsioonide projekteerimise. Loodud funktsioone kasutatakse seejärel järelduste tegemiseks treenitud ja juurutatud ML-mudelist peaaegu reaalajas. Loodud järeldusi saavad järgnevad rakendused edasi töödelda ja tarbida, et võtta asjakohaseid meetmeid ja alustada hooldustoiminguid.

Järgmine diagramm näitab meie üldise lahenduse arhitektuuri.

Lahendus koosneb üldjoontes järgmistest osadest, mida selgitatakse üksikasjalikult hiljem selles postituses:

  • Voogesituse andmeallikas ja sisestus - Me kasutame Amazon Kinesise andmevood koguda voogesituse andmeid väljaanduritelt mastaabis ja teha need kättesaadavaks edasiseks töötlemiseks.
  • Peaaegu reaalajas funktsioonide projekteerimine – Kasutame AWS-i liimi voogedastustöid, et lugeda andmeid Kinesise andmevoost ning teostada andmetöötlust ja funktsioonide kavandamist enne tuletatud funktsioonide salvestamist Amazoni lihtne salvestusteenus (Amazon S3). Amazon S3 pakub usaldusväärset ja kulutõhusat võimalust suurte andmemahtude salvestamiseks.
  • Mudelite väljaõpe ja kasutuselevõtt – Kasutame UCI andmehoidlast pärinevat AI4I ennustava hoolduse andmekogumit, et treenida ML-mudelit, mis põhineb XGBoost-algoritmil, kasutades SageMakerit. Seejärel juurutame koolitatud mudeli SageMakeri asünkroonse järelduse lõpp-punkti.
  • Peaaegu reaalajas ML järeldus – Kui funktsioonid on Amazon S3-s saadaval, peame juurutatud mudelist peaaegu reaalajas järeldusi tegema. SageMakeri asünkroonsete järelduste lõpp-punktid sobivad selle nõude täitmiseks hästi, kuna need toetavad suuremaid kasuliku koormuse suurusi (kuni 1 GB) ja suudavad luua järeldusi minutite jooksul (maksimaalselt 15 minutit). Kasutame käivitamiseks S3 sündmuste märguandeid AWS Lambda funktsioon SageMakeri asünkroonse järelduse lõpp-punkti kutsumiseks. SageMakeri asünkroonsete järelduste lõpp-punktid aktsepteerivad sisendina S3 asukohti, genereerivad juurutatud mudelist järeldusi ja kirjutavad need järeldused peaaegu reaalajas tagasi Amazon S3-sse.

Selle lahenduse lähtekood asub aadressil GitHub. Lahendust on testitud ja seda tuleks käivitada us-east-1-s.

Kasutame AWS CloudFormation mall, juurutatud kasutades AWS-i serverita rakendusmudel (AWS SAM) ja SageMakeri sülearvutid lahenduse juurutamiseks.

Eeldused

Alustamiseks peab teil olema eeltingimus SAM CLI, Python 3ja PIP paigaldatud. Teil peab olema ka AWS-i käsurea liides (AWS CLI) on õigesti konfigureeritud.

Rakendage lahendus

Võite kasutada AWS CloudShell nende toimingute tegemiseks. CloudShell on brauseripõhine kest, mis on eelautentitud teie konsooli mandaadiga ja sisaldab eelinstallitud ühiseid arendus- ja operatsioonitööriistu (nt AWS SAM, AWS CLI ja Python). Seetõttu pole kohalikku installimist ega konfigureerimist vaja.

  • Alustuseks loome S3 ämbri, kuhu salvestame oma AWS-liimi voogesituse töö skripti. Uue ämbri loomiseks käivitage oma terminalis järgmine käsk:
aws s3api create-bucket --bucket sample-script-bucket-$RANDOM --region us-east-1

  • Märkige üles loodud ämbri nimi.

ML-9132 Lahendus Arch

  • Järgmisena kloonime lokaalselt koodihoidla, mis sisaldab virna juurutamiseks CloudFormationi malli. Käivitage terminalis järgmine käsk:
git clone https://github.com/aws-samples/amazon-sagemaker-predictive-maintenance

  • Navigeerige sam-template kataloogi:
cd amazon-sagemaker-predictive-maintenance/sam-template

ML-9132 git klooni repo

  • Käivitage järgmine käsk, et kopeerida AWS-liimi tööskript (failist glue_streaming/app.py) teie loodud S3 ämbrisse:
aws s3 cp glue_streaming/app.py s3://sample-script-bucket-30232/glue_streaming/app.py

ML-9132 koopia liimi skript

  • Nüüd saate jätkata lahenduse loomist ja juurutamist, kasutades AWS SAM-i kaudu CloudFormationi malli. Käivitage järgmine käsk:

ML-9132 SAM Build

sam deploy --guided

  • Esitage juurutamise argumendid, näiteks pinu nimi, eelistatud AWS-i piirkond (us-east-1), Ja GlueScriptsBucket.

Veenduge, et esitaksite sama S3 ämbri, mille lõite varem AWS Glue skripti S3 ämbri jaoks (parameeter GlueScriptsBucket järgmisel ekraanipildil).

ML-9132 SAM juurutamise parameeter

Pärast nõutavate argumentide esitamist alustab AWS SAM virna juurutamist. Järgmine ekraanipilt näitab loodud ressursse.

ML-9132 SAM on kasutusele võetud

Pärast virna edukat juurutamist peaksite nägema järgmist teadet.

ML-9132 SAM CF on kasutusele võetud

  • Avage AWS CloudFormationi konsoolis virn (selle postituse jaoks nrt-streaming-inference), mis pakuti CloudFormationi malli juurutamisel.
  • Kohta Vahendid Märkige SageMakeri märkmiku eksemplari ID.
  1. ML-9132 SM sülearvuti loodud
  • Avage see eksemplar SageMakeri konsoolis.

ML-9132 pilt018

SageMakeri märkmiku eksemplaril on vajalikud märkmikud juba eellaaditud.

Liikuge märkmikute kausta ja avage ning järgige märkmikus olevaid juhiseid (Data_Pre-Processing.ipynb ja ModelTraining-Evaluation-and-Deployment.ipynb), et uurida andmekogumit, teostada eeltöötlust ja funktsioonide projekteerimist ning koolitada ja juurutada mudelit SageMakeri asünkroonse järelduse lõpp-punktis.

ML-9132 Avage SM sülearvutid

Voogesituse andmeallikas ja sisestus

Kinesis Data Streams on serverita, skaleeritav ja vastupidav reaalajas andmevoogesituse teenus, mida saate kasutada suurte andmekirjete voogude reaalajas kogumiseks ja töötlemiseks. Kinesis Data Streams võimaldab hõivata, töödelda ja salvestada andmevooge erinevatest allikatest, nagu IT-infrastruktuuri logiandmed, rakenduste logid, sotsiaalmeedia, turu andmevood, veebiklõpsude voo andmed, IoT-seadmed ja andurid jpm. Kinesise andmevoogu saate varustada nõudmisrežiimis või ette nähtud režiimis, olenevalt läbilaskevõimest ja skaleerimisnõuetest. Lisateabe saamiseks vt Andmevoo läbilaskevõime režiimi valimine.

Meie kasutusjuhtumi puhul eeldame, et erinevad andurid saadavad andmevoogu mõõtmisi, nagu temperatuur, pöörlemiskiirus, pöördemoment ja tööriista kulumine. Kinesis Data Streams toimib andmevoogude kogumise ja neelamise lehtrina.

Me kasutame Amazon Kinesise andmegeneraator (KDG) hiljem selles postituses, et luua ja saata andmeid Kinesise andmevoogu, simuleerides andurite genereeritud andmeid. Andmevoo andmevoo andmevoo andmed neelatakse ja töödeldakse AWS Glue voogesituse töö abil, mida arutame järgmisena.

Peaaegu reaalajas funktsioonide projekteerimine

AWS Glue voogedastustööd pakuvad mugavat viisi voogesituse andmete mastaapseks töötlemiseks, ilma et oleks vaja arvutuskeskkonda hallata. AWS Glue võimaldab teil teha andmete voogesituse jaoks ekstrakti, teisendada ja laadida (ETL) toiminguid, kasutades pidevalt töötavaid töid. AWS Glue voogesituse ETL on üles ehitatud Apache Spark Structured Streaming mootorile ja suudab neelata vooge nii Kinesisest, Apache Kafkast ja Amazoni hallatav voogesitus Apache Kafka jaoks (Amazoni MSK).

Voogesituse ETL-i töö võib kasutada nii AWS Glue'i sisseehitatud teisendusi kui ka Apache Spark Structured Streamingule omaseid teisendusi. Võite kasutada ka Spark ML ja MLLib teegid AWS Glue töödes funktsioonide hõlpsamaks töötlemiseks, kasutades hõlpsasti saadaolevaid abiteeke.

Kui voogesituse andmeallika skeem on eelnevalt kindlaks määratud, saate selle määrata AWS-i andmekataloogi tabelis. Kui skeemi määratlust ei saa eelnevalt määrata, saate voogesituse ETL-i töös lubada skeemi tuvastamise. Seejärel määrab töö automaatselt sissetulevate andmete põhjal skeemi. Lisaks saate kasutada AWS-i liimiskeemi register võimaldada andmevoogude skeemide tsentraalset avastamist, juhtimist ja arendamist. Saate skeemiregistri täiendavalt integreerida andmekataloogiga, et soovi korral kasutada andmekataloogis AWS-liimi tabelite või partitsioonide loomisel või värskendamisel skeemiregistrisse salvestatud skeeme.

Selle postituse jaoks loome AWS-i liimiandmete kataloogi tabeli (sensor-stream) kasutades allikana meie Kinesise andmevoogu ja määratlege meie andurite andmete skeem.

Loome Andmekataloogi tabelist AWS Glue dünaamilise andmeraami, et lugeda Kinesisest voogesituse andmeid. Samuti täpsustame järgmised valikud:

  • Akna suurus 60 sekundit, nii et AWS-i liimitöö loeb ja töötleb andmeid 60-sekundilistes akendes
  • Algpositsioon TRIM_HORIZON, mis võimaldab lugeda Kinesise andmevoo vanimaid kirjeid

Kasutame ka Spark MLlibi StringIndexer funktsioonitrafo stringi veeru tüübi kodeerimiseks sildiindeksiteks. Seda teisendust rakendatakse Spark ML Pipelines abil. Spark ML torujuhtmed pakkuda ühtset kõrgetasemeliste API-de komplekti ML-algoritmide jaoks, et hõlbustada mitme algoritmi ühendamist üheks konveieriks või töövooks.

Kasutame foreachBatch API-t, et kutsuda esile funktsioon nimega processBatch, mis omakorda töötleb selles andmeraamis viidatud andmeid. Vaadake järgmist koodi:

# Read from Kinesis Data Stream
sourceStreamData = glueContext.create_data_frame.from_catalog(database = "sensordb", table_name = "sensor-stream", transformation_ctx = "sourceStreamData", additional_options = {"startingPosition": "TRIM_HORIZON"})
type_indexer = StringIndexer(inputCol="type", outputCol="type_enc", stringOrderType="alphabetAsc")
pipeline = Pipeline(stages=[type_indexer])
glueContext.forEachBatch(frame = sourceStreamData, batch_function = processBatch, options = {"windowSize": "60 seconds", "checkpointLocation": checkpoint_location})

Funktsioon processBatch teostab määratud teisendusi ja jagab Amazon S3 andmed aasta, kuu, päeva ja partii ID alusel.

Samuti jagame AWS Glue'i partitsioonid ümber üheks partitsiooniks, et Amazon S3-s ei oleks liiga palju väikseid faile. Mitme väikese faili olemasolu võib lugemist takistada, kuna see suurendab iga faili otsimise, avamise ja lugemisega seotud üldkulusid. Lõpuks kirjutame järelduste genereerimiseks funktsioonid S3 ämbrisse prefiksi (funktsioonid). Vaadake järgmist koodi:

# Function that gets called to perform processing, feature engineering and writes to S3 for every micro batch of streaming data from Kinesis.
def processBatch(data_frame, batchId):
transformer = pipeline.fit(data_frame)
now = datetime.datetime.now()
year = now.year
month = now.month
day = now.day
hour = now.hour
minute = now.minute
if (data_frame.count() > 0):
data_frame = transformer.transform(data_frame)
data_frame = data_frame.drop("type")
data_frame = DynamicFrame.fromDF(data_frame, glueContext, "from_data_frame")
data_frame.printSchema()
# Write output features to S3
s3prefix = "features" + "/year=" + "{:0>4}".format(str(year)) + "/month=" + "{:0>2}".format(str(month)) + "/day=" + "{:0>2}".format(str(day)) + "/hour=" + "{:0>2}".format(str(hour)) + "/min=" + "{:0>2}".format(str(minute)) + "/batchid=" + str(batchId)
s3path = "s3://" + out_bucket_name + "/" + s3prefix + "/"
print("-------write start time------------")
print(str(datetime.datetime.now()))
data_frame = data_frame.toDF().repartition(1)
data_frame.write.mode("overwrite").option("header",False).csv(s3path)
print("-------write end time------------")
print(str(datetime.datetime.now()))

Mudelite väljaõpe ja kasutuselevõtt

SageMaker on täielikult hallatav ja integreeritud ML-teenus, mis võimaldab andmeteadlastel ja ML-inseneridel kiiresti ja hõlpsalt koostada, koolitada ja juurutada ML-mudeleid.

Märkmikus Data_Pre-Processing.ipynb, esmalt impordime UCI andmehoidlast AI4I ennustava hoolduse andmestiku ja viime läbi uurimusliku andmeanalüüsi (EDA). Teostame ka funktsioonide projekteerimist, et muuta meie funktsioonid mudeli koolitamisel kasulikumaks.

Näiteks on andmekogumis funktsioon nimega tüüp, mis tähistab toote kvaliteeditüüpi L (madal), M (keskmine) või H (kõrge). Kuna see on kategooriline funktsioon, peame selle enne oma mudeli koolitamist kodeerima. Selle saavutamiseks kasutame Scikit-Learni LabelEncoderit:

from sklearn.preprocessing import LabelEncoder
type_encoder = LabelEncoder()
type_encoder.fit(origdf['type'])
type_values = type_encoder.transform(origdf['type'])

Kui funktsioonid on töödeldud ning kureeritud rongi- ja testiandmed on loodud, oleme valmis koolitama ML-mudelit, et ennustada süsteemi näitude põhjal, kas masin ebaõnnestus või mitte. Koolitame XGBoosti mudelit, kasutades sisseehitatud SageMakeri algoritmi. XGBoost võib anda häid tulemusi mitut tüüpi ML-probleemide, sealhulgas klassifitseerimise korral, isegi kui koolitusnäidised on piiratud.

SageMakeri koolitustööd pakuvad võimsat ja paindlikku viisi ML-mudelite treenimiseks SageMakeris. SageMaker haldab aluseks olevat arvutustaristut ja pakub mitu võimalust valida erinevate mudelikoolitusnõuete jaoks, mis põhinevad kasutusjuhtumil.

xgb = sagemaker.estimator.Estimator(container,
role,
instance_count=1,
instance_type='ml.c4.4xlarge',
output_path=xgb_upload_location,
sagemaker_session=sagemaker_session)
xgb.set_hyperparameters(max_depth=5,
eta=0.2,
gamma=4,
min_child_weight=6,
subsample=0.8,
silent=0,
objective='binary:hinge',
num_round=100)

xgb.fit({'train': s3_train_channel, 'validation': s3_valid_channel})

Kui mudelikoolitus on lõppenud ja mudeli hindamine on ärinõuete alusel rahuldav, saame alustada mudeli kasutuselevõttu. Esmalt loome lõpp-punkti konfiguratsiooni objektivalikuga AsyncInferenceConfig ja kasutades varem koolitatud mudelit:

endpoint_config_name = resource_name.format("EndpointConfig")
create_endpoint_config_response = sm_client.create_endpoint_config(
EndpointConfigName=endpoint_config_name,
ProductionVariants=[
{
"VariantName": "variant1",
"ModelName": model_name,
"InstanceType": "ml.m5.xlarge",
"InitialInstanceCount": 1,
}
],
AsyncInferenceConfig={
"OutputConfig": {
"S3OutputPath": f"s3://{bucket}/{prefix}/output",
#Specify Amazon SNS topics
"NotificationConfig": {
"SuccessTopic": "arn:aws:sns:<region>:<account-id>:<success-sns-topic>",
"ErrorTopic": "arn:aws:sns:<region>:<account-id>:<error-sns-topic>",
}},
"ClientConfig": {"MaxConcurrentInvocationsPerInstance": 4},
},)

Seejärel loome SageMakeri asünkroonse järelduse lõpp-punkti, kasutades meie loodud lõpp-punkti konfiguratsiooni. Pärast selle ettevalmistamist saame alustada lõpp-punkti kutsumist, et genereerida asünkroonselt järeldusi.

endpoint_name = resource_name.format("Endpoint")
create_endpoint_response = sm_client.create_endpoint(
EndpointName=endpoint_name, EndpointConfigName=endpoint_config_name)

Peaaegu reaalajas järeldus

SageMaker asünkroonne järeldus lõpp-punktid pakuvad võimalust panna sissetulevad järelduspäringud järjekorda ja neid peaaegu reaalajas asünkroonselt töödelda. See sobib ideaalselt rakenduste jaoks, millel on suurema kasuliku koormuse (kuni 1 GB) järelduspäringud, mis võivad nõuda pikemat töötlemisaega (kuni 15 minutit) ja millel on peaaegu reaalajas latentsusnõuded. Asünkroonne järeldus võimaldab teil ka kulusid kokku hoida, skaleerides eksemplaride arvu automaatselt nullini, kui töödeldavaid taotlusi pole, nii et maksate ainult siis, kui teie lõpp-punkt töötleb taotlusi.

Saate luua SageMakeri asünkroonse järelduse lõpp-punkti, mis sarnaneb reaalajas järelduse lõpp-punkti loomisele ja lisaks määrata AsyncInferenceConfig objekti, luues samal ajal lõpp-punkti konfiguratsiooni CreateEndpointConfig API väljaga EndpointConfig. Järgmine diagramm näitab järelduste töövoogu ja seda, kuidas asünkroonse järelduse lõpp-punkt järelduse genereerib.

ML-9132 SageMaker Asych Arch

Asünkroonse järelduse lõpp-punkti käivitamiseks tuleks päringu kasulik koormus salvestada Amazon S3-sse ja viide sellele kasulikule koormusele tuleb esitada InvokeEndpointAsynci päringu osana. Väljakutsumise korral seab SageMaker taotluse töötlemiseks järjekorda ning tagastab vastusena identifikaatori ja väljundi asukoha. Töötlemisel asetab SageMaker tulemuse Amazon S3 asukohta. Saate valikuliselt valida, kas saada edu- või veateatisi Amazoni lihtne teavitusteenus (Amazon SNS).

Testige otsast lõpuni lahendust

Lahenduse testimiseks toimige järgmiselt.

  • Avage AWS CloudFormationi konsoolis varem loodud virn (nrt-streaming-inference).
  • Kohta Väljundid kopeerige S3 ämbri nimi (EventsBucket).

See on S3 ämber, kuhu meie AWS-liimi voogesituse töö pärast Kinesise andmevoo lugemist ja töötlemist funktsioonid kirjutab.

ML-9132 S3 sündmuste ämber

Järgmisena seadistasime selle S3 ämbri jaoks sündmuste märguanded.

  • Navigeerige Amazon S3 konsoolis ämbrisse EventsBucket.
  • Kohta Kinnisvara vahekaardil Sündmuste märguanded Valige jaotises Loo sündmuse märguanne.

ML-9132 S3 sündmuste ämbri omadused

ML-9132 S3 sündmuste salga märguanne

  • eest Sündmuse nimi, sisenema invoke-endpoint-lambda.
  • eest eesliide, sisenema features/.
  • eest sufiks, sisenema .csv.
  • eest Sündmuste tüübidvalige Kõik objektid loovad sündmusi.

ML-9132 S3 sündmuste salga märguande konfiguratsioon
ML-9132 S3 sündmuste salga märguande konfiguratsioon

  • eest sihtpunktvalige Lambda funktsioon.
  • eest Lambda funktsioonja valige funktsioon invoke-endpoint-asynch.
  • Vali Salvesta muudatused.

ML-9132 S3 sündmuste salga märguande konfiguratsioon lambda

  • Avage töö AWS Glue konsoolil GlueStreaming-Kinesis-S3.
  • Vali Jookse töö.

ML-9132 Käivita liimitöö

Järgmisena kasutame Kinesise andmegeneraatorit (KDG), et simuleerida andureid, mis saadavad andmeid meie Kinesise andmevoogu. Kui kasutate KDG-d esimest korda, vaadake Ülevaade algseadistuse jaoks. KDG pakub CloudFormationi malli, et luua kasutaja ja määrata täpselt nii palju õigusi, et KDG-d kasutada sündmuste Kinesisele saatmiseks. Käivitage CloudFormationi mall AWS-i kontol, mida kasutate selle postituse lahenduse loomiseks. Pärast KDG seadistamist logige sisse ja avage KDG, et saata testisündmused meie Kinesise andmevoogu.

  • Kasutage piirkonda, kus lõite Kinesise andmevoo (us-east-1).
  • Valige rippmenüüst andmevoog sensor-data-stream.
  • aasta Rekordeid sekundis jaotises valige Pidev ja sisestage 100.
  • Tühista valik Tihendage kirjed.
  • eest Salvestusmall, kasutage järgmist malli:
{
"air_temperature": {{random.number({"min":295,"max":305, "precision":0.01})}},
"process_temperature": {{random.number({"min":305,"max":315, "precision":0.01})}},
"rotational_speed": {{random.number({"min":1150,"max":2900})}},
"torque": {{random.number({"min":3,"max":80, "precision":0.01})}},
"tool_wear": {{random.number({"min":0,"max":250})}},
"type": "{{random.arrayElement(["L","M","H"])}}"
}

  • Click Andmete saatmine et alustada andmete saatmist Kinesise andmevoogu.

ML-9132 Kineses Data Gen

AWS-i liimi voogedastustöö loeb ja ekstraheerib Kinesise andmevoost mikropartii andmeid (mis esindab anduri lugemeid), lähtudes etteantud akna suurusest. Seejärel töötleb ja teostab voogesituse töö selle mikropartii funktsioonide projekteerimist, enne kui jaotatakse ja kirjutatakse see S3 ämbris olevatesse prefiksi funktsioonidesse.

Kuna AWS Glue voogedastustööga loodud uued funktsioonid kirjutatakse S3 ämbrisse, on Lambda funktsioon (invoke-endpoint-asynch), mis käivitab SageMakeri asünkroonse järelduse lõpp-punkti, saates kutsumispäringu, et saada järeldusi meie juurutatud ML-mudelist. Asünkroonse järelduse lõpp-punkt seab asünkroonse kutsumise taotluse järjekorda. Kui töötlemine on lõppenud, salvestab SageMaker järeldustulemused Amazon S3 asukohta (S3OutputPath), mis määrati asünkroonse järelduse lõpp-punkti konfigureerimisel.

Meie kasutusjuhtumi puhul näitavad anduri näitude põhjal järeldustulemused, kas masina osa tõenäoliselt ebaõnnestub või mitte.

ML-9132 Mudeli järeldused

SageMaker saadab ka Amazon SNS-iga edu- või veateate. Näiteks kui seadistate an e-posti tellimus Edu ja vigade SNS-i teemade jaoks (määratletud asünkroonse SageMakeri järelduse lõpp-punkti konfiguratsioonis) saab saata meili iga kord, kui järeldamistaotlust töödeldakse. Järgmisel ekraanipildil on näidismeil SNS-i eduteemast.

ML-9132 SNS-i e-posti tellimine

Reaalmaailma rakenduste puhul saate integreerida SNS-i teatised muude teenustega, näiteks Amazoni lihtsa järjekorra teenus (Amazon SQS) ja Lambda loodud järelduste täiendavaks järeltöötluseks või integreerimiseks teiste allavoolu rakendustega vastavalt teie vajadustele. Näiteks meie ennustava hoolduse kasutusjuhtumi puhul saate käivitada SNS-i teatisel põhineva Lambda funktsiooni, et lugeda Amazon S3-st loodud järeldust, seda edasi töödelda (nt koondamine või filtreerimine) ja käivitada töövooge, nagu töökäskude saatmine seadmete remont tehnikutele.

Koristage

Kui olete virna testimise lõpetanud, kustutage ootamatute tasude vältimiseks ressursid (eriti Kinesise andmevoog, liimi voogesituse töö ja SNS-i teemad).

Virna kustutamiseks käivitage järgmine kood:

sam delete nrt-streaming-inference

Kustutage ka ressursid, nagu SageMakeri lõpp-punktid, järgides märkmiku ModelTraining-Evaluation-and-Deployment puhastamise jaotist.

Järeldus

Selles postituses kasutasime ennustavat hoolduse kasutusjuhtumit, et näidata, kuidas kasutada erinevaid teenuseid, nagu Kinesis, AWS Glue ja SageMaker, et luua peaaegu reaalajas järelduste torujuhe. Soovitame teil seda lahendust proovida ja andke meile teada, mida arvate.

Kui teil on küsimusi, jagage neid kommentaarides.


Autoritest

Looge Amazon Kinesise, AWS Glue ja Amazon SageMaker PlatoBlockchain Data Intelligence abil ennustav hoolduslahendus. Vertikaalne otsing. Ai. Rahul Sharma on AWS Data Labi lahenduste arhitekt, kes aitab AWS-i klientidel AI/ML-lahendusi kavandada ja luua. Enne AWS-iga liitumist on Rahul töötanud mitu aastat finants- ja kindlustussektoris, aidates klientidel luua andme- ja analüüsiplatvorme.

Looge Amazon Kinesise, AWS Glue ja Amazon SageMaker PlatoBlockchain Data Intelligence abil ennustav hoolduslahendus. Vertikaalne otsing. Ai.Pat Reilly on arhitekt AWS-i andmelaboris, kus ta aitab klientidel kavandada ja koostada andmetöökoormust nende äri toetamiseks. Enne AWS-i konsulteeris Pat AWS-i partneriga, luues AWS-i andmete töökoormust erinevates tööstusharudes.

Ajatempel:

Veel alates AWS-i masinõpe