Bangun, latih, dan terapkan model Amazon Lookout for Equipment menggunakan Python Toolbox PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.

Bangun, latih, dan terapkan model Amazon Lookout for Equipment menggunakan Python Toolbox

Pemeliharaan prediktif dapat menjadi cara yang efektif untuk mencegah kegagalan mesin industri dan waktu henti yang mahal dengan secara proaktif memantau kondisi peralatan Anda, sehingga Anda dapat diberi tahu tentang anomali apa pun sebelum terjadi kegagalan peralatan. Memasang sensor dan infrastruktur yang diperlukan untuk konektivitas data, penyimpanan, analitik, dan peringatan adalah elemen dasar untuk memungkinkan solusi pemeliharaan prediktif. Namun, bahkan setelah menginstal infrastruktur ad hoc, banyak perusahaan menggunakan analisis data dasar dan pendekatan pemodelan sederhana yang seringkali tidak efektif dalam mendeteksi masalah cukup dini untuk menghindari waktu henti. Selain itu, menerapkan solusi pembelajaran mesin (ML) untuk peralatan Anda bisa jadi sulit dan memakan waktu.

Dengan Amazon Lookout untuk Peralatan, Anda dapat secara otomatis menganalisis data sensor untuk peralatan industri Anda guna mendeteksi perilaku alat berat yang tidak normalโ€”tanpa memerlukan pengalaman ML. Ini berarti Anda dapat mendeteksi kelainan peralatan dengan kecepatan dan presisi, mendiagnosis masalah dengan cepat, dan mengambil tindakan untuk mengurangi waktu henti yang mahal.

Lookout for Equipment menganalisis data dari sensor dan sistem Anda, seperti tekanan, laju aliran, RPM, suhu, dan daya, untuk secara otomatis melatih model khusus untuk peralatan Anda berdasarkan data Anda. Ini menggunakan model ML unik Anda untuk menganalisis data sensor yang masuk secara real time dan mengidentifikasi tanda-tanda peringatan dini yang dapat menyebabkan kegagalan mesin. Untuk setiap peringatan yang terdeteksi, Lookout for Equipment menunjukkan dengan tepat sensor spesifik mana yang menunjukkan masalah, dan besarnya dampak pada peristiwa yang terdeteksi.

Dengan misi untuk menempatkan ML di tangan setiap pengembang, kami ingin menghadirkan add-on lain untuk Lookout for Equipment: sebuah kotak alat Python sumber terbuka yang memungkinkan pengembang dan ilmuwan data untuk membangun, melatih, dan menerapkan model Lookout for Equipment serupa dengan yang biasa Anda gunakan Amazon SageMaker. Pustaka ini adalah pembungkus di atas Lookout for Equipment boto3 python API dan disediakan untuk memulai perjalanan Anda dengan layanan ini. Jika Anda memiliki saran perbaikan atau bug untuk dilaporkan, silakan ajukan masalah pada kotak alat Repositori GitHub.

Dalam posting ini, kami menyediakan panduan langkah demi langkah untuk menggunakan kotak alat Python sumber terbuka Lookout for Equipment dari dalam notebook SageMaker.

Pengaturan lingkungan

Untuk menggunakan kotak alat Lookout for Equipment sumber terbuka dari notebook SageMaker, kami perlu memberikan notebook SageMaker izin yang diperlukan untuk memanggil Lookout for Equipment APIs. Untuk posting ini, kami berasumsi bahwa Anda telah membuat instance notebook SageMaker. Untuk petunjuk, lihat Memulai dengan Instans Notebook Amazon SageMaker. Instance notebook secara otomatis dikaitkan dengan peran eksekusi.

  1. Untuk menemukan peran yang dilampirkan ke instance, pilih instance di konsol SageMaker.
    Bangun, latih, dan terapkan model Amazon Lookout for Equipment menggunakan Python Toolbox PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.
  2. Di layar berikutnya, gulir ke bawah untuk menemukan Identitas AWS dan Manajemen Akses (IAM) peran yang dilampirkan ke instance di Izin dan enkripsi bagian.
  3. Pilih peran untuk membuka konsol IAM.
    Bangun, latih, dan terapkan model Amazon Lookout for Equipment menggunakan Python Toolbox PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.

Selanjutnya, kami melampirkan kebijakan sebaris ke peran IAM SageMaker kami.

  1. pada izin tab peran yang Anda buka, pilih Tambahkan kebijakan sebaris.
    Bangun, latih, dan terapkan model Amazon Lookout for Equipment menggunakan Python Toolbox PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.
  2. pada JSON tab, masukkan kode berikut. Kami menggunakan tindakan kartu liar (lookoutequipment:*) untuk layanan untuk tujuan demo. Untuk kasus penggunaan nyata, berikan hanya izin yang diperlukan untuk menjalankan panggilan SDK API yang sesuai.
     { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lookoutequipment:*" ], "Resource": "*" } ] }

  3. Pilih Tinjau kebijakan.
  4. Berikan nama untuk kebijakan dan buat kebijakan.

Selain kebijakan inline sebelumnya, pada peran IAM yang sama, kita perlu menyiapkan hubungan kepercayaan untuk memungkinkan Lookout for Equipment mengambil peran ini. Peran SageMaker sudah memiliki akses data yang sesuai untuk Layanan Penyimpanan Sederhana Amazon (Amazon S3); mengizinkan Lookout for Equipment untuk mengambil peran ini memastikannya memiliki akses yang sama ke data daripada notebook Anda. Di lingkungan Anda, Anda mungkin sudah memiliki peran khusus untuk memastikan bahwa Lookout for Equipment memiliki akses ke data Anda, dalam hal ini Anda tidak perlu menyesuaikan hubungan kepercayaan dari peran umum ini.

  1. Di dalam peran IAM SageMaker kami di Percayai hubungan tab, pilih Edit hubungan saling percaya.
  2. Di bawah dokumen kebijakan, ganti seluruh kebijakan dengan kode berikut:
     { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lookoutequipment.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

  3. Pilih Perbarui kebijakan kepercayaan.

Sekarang kita siap untuk menggunakan kotak peralatan Lookout for Equipment di lingkungan notebook SageMaker kita. Kotak alat Lookout for Equipment adalah paket Python sumber terbuka yang memungkinkan ilmuwan data dan pengembang perangkat lunak untuk dengan mudah membangun dan menerapkan model deteksi anomali deret waktu menggunakan Lookout for Equipment. Mari kita lihat apa yang bisa Anda capai dengan lebih mudah berkat toolbox!

Dependensi

Pada saat penulisan, toolbox perlu diinstal berikut ini:

Setelah Anda memenuhi dependensi ini, Anda dapat menginstal dan meluncurkan kotak peralatan Lookout for Equipment dengan perintah berikut dari terminal Jupyter:

pip install lookoutequipment

Kotak alat sekarang siap digunakan. Dalam posting ini, kami mendemonstrasikan cara menggunakan toolbox dengan melatih dan menerapkan model deteksi anomali. Siklus hidup pengembangan ML yang khas terdiri dari membangun kumpulan data untuk pelatihan, melatih model, menerapkan model, dan melakukan inferensi pada model. Toolbox cukup komprehensif dalam hal fungsionalitas yang disediakannya, tetapi dalam posting ini, kami fokus pada kemampuan berikut:

  • Siapkan kumpulan datanya
  • Latih model deteksi anomali menggunakan Lookout for Equipment
  • Bangun visualisasi untuk evaluasi model Anda
  • Konfigurasikan dan mulai penjadwal inferensi
  • Visualisasikan hasil inferensi penjadwal

Mari kita pahami bagaimana kita dapat menggunakan kotak peralatan untuk masing-masing kemampuan ini.

Siapkan kumpulan datanya

Lookout for Equipment memerlukan kumpulan data untuk dibuat dan diserap. Untuk menyiapkan kumpulan data, lakukan langkah-langkah berikut:

  1. Sebelum membuat kumpulan data, kita perlu memuat kumpulan data sampel dan mengunggahnya ke Layanan Penyimpanan Sederhana Amazon (Amazon S3) ember. Dalam posting ini, kami menggunakan expander dataset:
    from lookoutequipment import dataset data = dataset.load_dataset(dataset_name='expander', target_dir='expander-data')
    dataset.upload_dataset('expander-data', bucket, prefix)

yang kembali data objek mewakili kamus yang berisi berikut ini:

    • DataFrame data pelatihan
    • Sebuah label DataFrame
    • Tanggal mulai dan berakhir pelatihan
    • Tanggal mulai dan berakhir evaluasi
    • Deskripsi tag DataFrame

Data pelatihan dan label diunggah dari direktori target ke Amazon S3 di lokasi bucket/awalan.

  1. Setelah mengunggah dataset di S3, kami membuat objek LookoutEquipmentDataset kelas yang mengelola kumpulan data:
    lookout_dataset = dataset.LookoutEquipmentDataset( dataset_name='my_dataset', access_role_arn=role_arn, component_root_dir=f's3://{bucket}/{prefix}training-data'
    ) # creates the dataset
    lookout_dataset.create()

Grafik access_role_arn disediakan harus memiliki akses ke bucket S3 tempat data ada. Anda dapat mengambil peran ARN dari instance notebook SageMaker dari sebelumnya Pengaturan lingkungan dan tambahkan kebijakan IAM untuk memberikan akses ke bucket S3 Anda. Untuk informasi lebih lanjut, lihat Menulis Kebijakan IAM: Cara Memberikan Akses ke Bucket Amazon S3.

Grafik component_root_dir parameter harus menunjukkan lokasi di Amazon S3 tempat data pelatihan disimpan.

Setelah kami meluncurkan API sebelumnya, kumpulan data kami telah dibuat.

  1. Menyerap data ke dalam set data:
    response = lookout_dataset.ingest_data(bucket, prefix + 'training-data/')

Sekarang setelah data Anda tersedia di Amazon S3, membuat kumpulan data dan menyerap data di dalamnya hanya membutuhkan tiga baris kode. Anda tidak perlu membuat skema JSON yang panjang secara manual; kotak alat mendeteksi struktur file Anda dan membuatnya untuk Anda. Setelah data Anda diserap, saatnya beralih ke pelatihan!

Latih model deteksi anomali

Setelah data dimasukkan ke dalam kumpulan data, kita dapat memulai proses pelatihan model. Lihat kode berikut:

from lookoutequipment import model lookout_model = model.LookoutEquipmentModel(model_name='my_model', dataset_name='my_dataset') lookout_model.set_time_periods(data['evaluation_start'],data['evaluation_end'],data['training_start'],data['training_end'])
lookout_model.set_label_data(bucket=bucket,prefix=prefix + 'label-data/',access_role_arn=role_arn)
lookout_model.set_target_sampling_rate(sampling_rate='PT5M') #trigger training job
response = lookout_model.train() #poll every 5 minutes to check the status of the training job
lookout_model.poll_model_training(sleep_time=300)

Sebelum kita meluncurkan pelatihan, kita perlu menentukan periode pelatihan dan evaluasi dalam dataset. Kami juga menyetel lokasi di Amazon S3 tempat data berlabel disimpan dan mengatur laju pengambilan sampel ke 5 menit. Setelah kami meluncurkan pelatihan, poll_model_training polling status pekerjaan pelatihan setiap 5 menit sampai pelatihan berhasil.

Modul pelatihan kotak alat Lookout for Equipment memungkinkan Anda melatih model dengan kurang dari 10 baris kode. Itu membangun semua string permintaan pembuatan panjang yang dibutuhkan oleh API tingkat rendah atas nama Anda, menghilangkan kebutuhan bagi Anda untuk membuat dokumen JSON yang panjang dan rawan kesalahan.

Setelah model dilatih, kita dapat memeriksa hasilnya selama periode evaluasi atau mengonfigurasi penjadwal inferensi menggunakan kotak alat.

Evaluasi model yang terlatih

Setelah model dilatih, JelaskanModel API dari Lookout for Equipment mencatat metrik yang terkait dengan pelatihan. API ini mengembalikan dokumen JSON dengan dua bidang minat untuk memplot hasil evaluasi: labeled_ranges dan predicted_ranges, yang masing-masing berisi anomali yang diketahui dan diprediksi dalam rentang evaluasi. Kotak alat menyediakan utilitas untuk memuat ini di Pandas DataFrame sebagai gantinya:

from lookoutequipment import evaluation LookoutDiagnostics = evaluation.LookoutEquipmentAnalysis(model_name='my_model', tags_df=data['data']) predicted_ranges = LookoutDiagnostics.get_predictions()
labels_fname = os.path.join('expander-data', 'labels.csv')
labeled_range = LookoutDiagnostics.get_labels(labels_fname)

Keuntungan memuat rentang dalam DataFrame adalah kita dapat membuat visualisasi yang bagus dengan memplot salah satu sinyal deret waktu asli dan menambahkan overlay dari peristiwa anomali berlabel dan diprediksi dengan menggunakan TimeSeriesVisualization kelas kotak alat:

from lookoutequipment import plot TSViz = plot.TimeSeriesVisualization(timeseries_df=data['data'], data_format='tabular')
TSViz.add_signal(['signal-001'])
TSViz.add_labels(labeled_range)
TSViz.add_predictions([predicted_ranges])
TSViz.add_train_test_split(data['evaluation_start'])
TSViz.add_rolling_average(60*24)
TSViz.legend_format = {'loc': 'upper left', 'framealpha': 0.4, 'ncol': 3}
fig, axis = TSViz.plot()

Beberapa baris kode ini menghasilkan plot dengan fitur berikut:

  • Plot garis untuk sinyal yang dipilih; bagian yang digunakan untuk melatih model muncul dengan warna biru sedangkan bagian evaluasi berwarna abu-abu
  • Rata-rata bergulir muncul sebagai garis merah tipis yang dihamparkan selama deret waktu
  • Label ditampilkan dalam pita hijau berlabel "Anomali yang diketahui" (secara default)
  • Peristiwa yang diprediksi ditampilkan dalam pita merah berlabel "Kejadian yang terdeteksi"

Bangun, latih, dan terapkan model Amazon Lookout for Equipment menggunakan Python Toolbox PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.

Kotak alat melakukan semua pekerjaan berat dalam menemukan, memuat, dan menguraikan file JSON sambil menyediakan visualisasi siap pakai yang semakin mengurangi waktu untuk mendapatkan wawasan dari model deteksi anomali Anda. Pada tahap ini, kotak alat memungkinkan Anda fokus pada interpretasi hasil dan mengambil tindakan untuk memberikan nilai bisnis langsung kepada pengguna akhir Anda. Selain visualisasi deret waktu ini, SDK menyediakan plot lain seperti perbandingan histogram dari nilai sinyal Anda antara waktu normal dan tidak normal. Untuk mempelajari lebih lanjut tentang kemampuan visualisasi lain yang dapat Anda gunakan langsung, lihat Cari dokumentasi kotak peralatan Peralatan.

Jadwal inferensi

Mari kita lihat bagaimana kita dapat menjadwalkan inferensi menggunakan kotak peralatan:

from lookout import scheduler #prepare dummy inference data
dataset.prepare_inference_data( root_dir='expander-data', sample_data_dict=data, bucket=bucket, prefix=prefix
) #setup the scheduler
lookout_scheduler = scheduler.LookoutEquipmentScheduler(scheduler_name='my_scheduler',model_name='my_model')
scheduler_params = { 'input_bucket': bucket, 'input_prefix': prefix + 'inference-data/input/', 'output_bucket': bucket, 'output_prefix': prefix + 'inference-data/output/', 'role_arn': role_arn, 'upload_frequency': 'PT5M', 'delay_offset': None, 'timezone_offset': '+00:00', 'component_delimiter': '_', 'timestamp_format': 'yyyyMMddHHmmss' } lookout_scheduler.set_parameters(**scheduler_params)
response = lookout_scheduler.create()

Kode ini membuat penjadwal yang memproses satu file setiap 5 menit (cocok dengan frekuensi unggah yang disetel saat mengonfigurasi penjadwal). Setelah sekitar 15 menit, kita akan mendapatkan beberapa hasil. Untuk mendapatkan hasil ini dari penjadwal di Pandas DataFrame, kita hanya perlu menjalankan perintah berikut:

results_df = lookout_scheduler.get_predictions()

Dari sini, kami juga dapat memplot pentingnya fitur untuk prediksi menggunakan API visualisasi kotak alat:

event_details = pd.DataFrame(results_df.iloc[0, 1:]).reset_index()
fig, ax = plot.plot_event_barh(event_details)

Ini menghasilkan visualisasi pentingnya fitur berikut pada data sampel.

Bangun, latih, dan terapkan model Amazon Lookout for Equipment menggunakan Python Toolbox PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.

Kotak alat juga menyediakan API untuk menghentikan penjadwal. Lihat cuplikan kode berikut:

scheduler.stop()

Membersihkan

Untuk menghapus semua artefak yang dibuat sebelumnya, kita dapat memanggil delete_dataset API dengan nama dataset kami:

dataset.delete_dataset(dataset_name='my_dataset', delete_children=True, verbose=True)

Kesimpulan

Saat berbicara dengan pelanggan industri dan manufaktur, tantangan umum yang kami dengar terkait pemanfaatan AI dan ML adalah banyaknya penyesuaian dan pengembangan spesifik serta pekerjaan ilmu data yang diperlukan untuk mendapatkan hasil yang andal dan dapat ditindaklanjuti. Melatih model deteksi anomali dan mendapatkan peringatan dini yang dapat ditindaklanjuti untuk banyak mesin industri yang berbeda merupakan prasyarat untuk mengurangi upaya pemeliharaan, mengurangi pengerjaan ulang atau pemborosan, meningkatkan kualitas produk, dan meningkatkan efisiensi peralatan secara keseluruhan (OEE) atau lini produk. Hingga saat ini, ini membutuhkan sejumlah besar pekerjaan pengembangan khusus, yang sulit untuk diukur dan dipertahankan dari waktu ke waktu.

Layanan AI Terapan Amazon seperti Lookout for Equipment memungkinkan produsen membangun model AI tanpa memiliki akses ke tim ilmuwan data, insinyur data, dan insinyur proses yang serba bisa. Sekarang, dengan kotak alat Lookout for Equipment, pengembang Anda dapat lebih mengurangi waktu yang diperlukan untuk menjelajahi wawasan dalam data deret waktu Anda dan mengambil tindakan. Kotak alat ini menyediakan antarmuka yang mudah digunakan dan ramah pengembang untuk membangun model deteksi anomali dengan cepat menggunakan Lookout for Equipment. Kotak alat adalah sumber terbuka dan semua kode SDK dapat ditemukan di amazon-lookout-untuk-peralatan-python-sdk repo GitHub. Ini juga tersedia sebagai Paket PyPi.

Posting ini hanya mencakup beberapa API yang paling penting. Pembaca yang tertarik dapat memeriksa dokumentasi kotak peralatan untuk melihat kemampuan toolbox yang lebih canggih. Cobalah, dan beri tahu kami pendapat Anda di komentar!


Tentang Penulis

Bangun, latih, dan terapkan model Amazon Lookout for Equipment menggunakan Python Toolbox PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.Vikesh Pandey adalah Arsitek Solusi Spesialis Pembelajaran Mesin di AWS, membantu pelanggan di Inggris Raya dan wilayah EMEA yang lebih luas merancang dan membangun solusi ML. Di luar pekerjaan, Vikesh senang mencoba berbagai masakan dan berolahraga di luar ruangan.

Bangun, latih, dan terapkan model Amazon Lookout for Equipment menggunakan Python Toolbox PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.Ioan Catana adalah Arsitek Solusi Spesialis Kecerdasan Buatan dan Pembelajaran Mesin di AWS. Dia membantu pelanggan mengembangkan dan menskalakan solusi ML mereka di AWS Cloud. Ioan memiliki pengalaman lebih dari 20 tahun, sebagian besar dalam desain arsitektur perangkat lunak dan rekayasa cloud.

Bangun, latih, dan terapkan model Amazon Lookout for Equipment menggunakan Python Toolbox PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.Michael Hoarau adalah Arsitek Solusi Spesialis AI/ML di AWS yang bergantian antara ilmuwan data dan arsitek pembelajaran mesin, bergantung pada momennya. Dia bersemangat dalam menghadirkan kekuatan AI/ML ke lantai toko pelanggan industrinya dan telah mengerjakan berbagai kasus penggunaan ML, mulai dari deteksi anomali hingga kualitas produk prediktif atau pengoptimalan manufaktur. Saat tidak membantu pelanggan mengembangkan pengalaman pembelajaran mesin terbaik berikutnya, dia senang mengamati bintang, bepergian, atau bermain piano.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS