Xây dựng, đào tạo và triển khai các mô hình Amazon Lookout for Equipment bằng cách sử dụng PlatoBlockchain Data Intelligence của Hộp công cụ Python. Tìm kiếm dọc. Ái.

Xây dựng, đào tạo và triển khai các mô hình Amazon Lookout for Equipment bằng cách sử dụng Hộp công cụ Python

Bảo trì dự đoán có thể là một cách hiệu quả để ngăn ngừa sự cố máy móc công nghiệp và thời gian ngừng hoạt động tốn kém bằng cách chủ động theo dõi tình trạng thiết bị của bạn, vì vậy bạn có thể được cảnh báo về bất kỳ sự bất thường nào trước khi thiết bị xảy ra hỏng hóc. Việc lắp đặt các cảm biến và cơ sở hạ tầng cần thiết để kết nối, lưu trữ, phân tích và cảnh báo dữ liệu là những yếu tố nền tảng để kích hoạt các giải pháp bảo trì dự đoán. Tuy nhiên, ngay cả sau khi cài đặt cơ sở hạ tầng đặc biệt, nhiều công ty sử dụng phân tích dữ liệu cơ bản và các phương pháp mô hình hóa đơn giản thường không hiệu quả trong việc phát hiện các vấn đề đủ sớm để tránh thời gian ngừng hoạt động. Ngoài ra, việc triển khai giải pháp máy học (ML) cho thiết bị của bạn có thể khó khăn và tốn nhiều thời gian.

Với Amazon Lookout cho thiết bị, bạn có thể tự động phân tích dữ liệu cảm biến cho thiết bị công nghiệp của mình để phát hiện hành vi bất thường của máy — không yêu cầu kinh nghiệm ML. Điều này có nghĩa là bạn có thể phát hiện các bất thường của thiết bị với tốc độ và độ chính xác, nhanh chóng chẩn đoán các vấn đề và thực hiện hành động để giảm thời gian chết tốn kém.

Lookout for Equipment phân tích dữ liệu từ các cảm biến và hệ thống của bạn, chẳng hạn như áp suất, tốc độ dòng chảy, RPM, nhiệt độ và công suất, để tự động đào tạo một mô hình cụ thể cho thiết bị của bạn dựa trên dữ liệu của bạn. Nó sử dụng mô hình ML duy nhất của bạn để phân tích dữ liệu cảm biến đến trong thời gian thực và xác định các dấu hiệu cảnh báo sớm có thể dẫn đến hỏng máy. Đối với mỗi cảnh báo được phát hiện, Lookout for Equipment xác định chính xác cảm biến cụ thể nào đang chỉ ra sự cố và mức độ tác động lên sự kiện được phát hiện.

Với sứ mệnh đưa ML đến tay mọi nhà phát triển, chúng tôi muốn giới thiệu một tiện ích bổ sung khác cho Lookout for Equipment: an hộp công cụ Python mã nguồn mở cho phép các nhà phát triển và nhà khoa học dữ liệu xây dựng, đào tạo và triển khai các mô hình Lookout for Equipment tương tự như những gì bạn đã từng làm với Amazon SageMaker. Thư viện này là một trình bao bọc bên trên API python boto3 của Lookout for Equipment và được cung cấp để bắt đầu hành trình của bạn với dịch vụ này. Nếu bạn có bất kỳ đề xuất cải tiến hoặc lỗi nào cần báo cáo, vui lòng gửi vấn đề vào hộp công cụ Kho GitHub.

Trong bài đăng này, chúng tôi cung cấp hướng dẫn từng bước để sử dụng hộp công cụ Python nguồn mở của Lookout for Equipment từ trong sổ ghi chép SageMaker.

Thiết lập môi trường

Để sử dụng hộp công cụ Lookout for Equipment mã nguồn mở từ sổ ghi chép SageMaker, chúng tôi cần cấp cho sổ ghi chép SageMaker các quyền cần thiết để gọi các API của Lookout for Equipment. Đối với bài đăng này, chúng tôi giả định rằng bạn đã tạo một phiên bản sổ ghi chép SageMaker. Để được hướng dẫn, hãy tham khảo Bắt đầu với Amazon SageMaker Notebook Instances. Phiên bản sổ tay được tự động liên kết với một vai trò thực thi.

  1. Để tìm vai trò được gắn vào cá thể, hãy chọn cá thể trên bảng điều khiển SageMaker.
    Xây dựng, đào tạo và triển khai các mô hình Amazon Lookout for Equipment bằng cách sử dụng PlatoBlockchain Data Intelligence của Hộp công cụ Python. Tìm kiếm dọc. Ái.
  2. Trên màn hình tiếp theo, cuộn xuống để tìm Quản lý truy cập và nhận dạng AWS (IAM) vai trò gắn liền với phiên bản trong Quyền và mã hóa phần.
  3. Chọn vai trò để mở bảng điều khiển IAM.
    Xây dựng, đào tạo và triển khai các mô hình Amazon Lookout for Equipment bằng cách sử dụng PlatoBlockchain Data Intelligence của Hộp công cụ Python. Tìm kiếm dọc. Ái.

Tiếp theo, chúng tôi đính kèm chính sách nội tuyến vào vai trò IAM SageMaker của chúng tôi.

  1. trên Quyền tab của vai trò bạn đã mở, chọn Thêm chính sách nội tuyến.
    Xây dựng, đào tạo và triển khai các mô hình Amazon Lookout for Equipment bằng cách sử dụng PlatoBlockchain Data Intelligence của Hộp công cụ Python. Tìm kiếm dọc. Ái.
  2. trên JSON , nhập mã sau. Chúng tôi sử dụng một hành động thẻ đại diện (lookoutequipment:*) cho dịch vụ cho mục đích demo. Đối với các trường hợp sử dụng thực, chỉ cung cấp các quyền cần thiết để chạy các lệnh gọi API SDK thích hợp.
     { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lookoutequipment:*" ], "Resource": "*" } ] }

  3. Chọn Chính sách đánh giá.
  4. Cung cấp tên cho chính sách và tạo chính sách.

Ngoài chính sách nội tuyến trước đó, trên cùng một vai trò IAM, chúng tôi cần thiết lập mối quan hệ tin cậy để cho phép Lookout for Equipment đảm nhận vai trò này. Vai trò SageMaker đã có quyền truy cập dữ liệu thích hợp vào Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3); việc cho phép Lookout for Equipment đảm nhận vai trò này để đảm bảo rằng nó có cùng quyền truy cập vào dữ liệu so với sổ ghi chép của bạn. Trong môi trường của bạn, bạn có thể đã có một vai trò cụ thể đảm bảo Lookout for Equipment có quyền truy cập vào dữ liệu của bạn, trong trường hợp đó, bạn không cần điều chỉnh mối quan hệ tin cậy của vai trò chung này.

  1. Bên trong vai trò IAM SageMaker của chúng tôi trên Mối quan hệ tin cậy tab, chọn Chỉnh sửa mối quan hệ tin cậy.
  2. Trong tài liệu chính sách, hãy thay thế toàn bộ chính sách bằng mã sau:
     { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lookoutequipment.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

  3. Chọn Cập nhật chính sách tin cậy.

Bây giờ chúng ta đã sẵn sàng để sử dụng hộp công cụ Lookout for Equipment trong môi trường sổ ghi chép SageMaker của chúng ta. Hộp công cụ Lookout for Equipment là một gói Python mã nguồn mở cho phép các nhà khoa học dữ liệu và nhà phát triển phần mềm dễ dàng xây dựng và triển khai các mô hình phát hiện chuỗi thời gian bất thường bằng cách sử dụng Lookout for Equipment. Hãy xem những gì bạn có thể đạt được dễ dàng hơn nhờ hộp công cụ!

Sự phụ thuộc

Tại thời điểm viết bài, hộp công cụ cần được cài đặt những thứ sau:

Sau khi bạn đáp ứng các phụ thuộc này, bạn có thể cài đặt và khởi chạy hộp công cụ Lookout for Equipment bằng lệnh sau từ thiết bị đầu cuối Jupyter:

pip install lookoutequipment

Hộp công cụ hiện đã sẵn sàng để sử dụng. Trong bài đăng này, chúng tôi trình bày cách sử dụng hộp công cụ bằng cách đào tạo và triển khai mô hình phát hiện bất thường. Vòng đời phát triển ML điển hình bao gồm xây dựng bộ dữ liệu để đào tạo, huấn luyện mô hình, triển khai mô hình và thực hiện suy luận trên mô hình. Hộp công cụ này khá toàn diện về các chức năng mà nó cung cấp, nhưng trong bài đăng này, chúng tôi tập trung vào các khả năng sau:

  • Chuẩn bị tập dữ liệu
  • Đào tạo mô hình phát hiện bất thường bằng Lookout for Equipment
  • Xây dựng hình ảnh hóa để đánh giá mô hình của bạn
  • Định cấu hình và khởi động bộ lập lịch suy luận
  • Trực quan hóa kết quả suy luận của bộ lập lịch

Hãy hiểu cách chúng ta có thể sử dụng hộp công cụ cho từng khả năng này.

Chuẩn bị tập dữ liệu

Lookout for Equipment yêu cầu phải tạo và nhập tập dữ liệu. Để chuẩn bị tập dữ liệu, hãy hoàn thành các bước sau:

  1. Trước khi tạo tập dữ liệu, chúng ta cần tải tập dữ liệu mẫu và tải nó lên Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3). Trong bài đăng này, chúng tôi sử dụng expander tập dữ liệu:
    from lookoutequipment import dataset data = dataset.load_dataset(dataset_name='expander', target_dir='expander-data')
    dataset.upload_dataset('expander-data', bucket, prefix)

Sự trở lại data đối tượng đại diện cho một từ điển chứa những thứ sau:

    • Dữ liệu huấn luyện DataFrame
    • Một nhãn DataFrame
    • Thời gian bắt đầu và ngày kết thúc đào tạo
    • Ngày bắt đầu và ngày kết thúc đánh giá
    • Mô tả thẻ DataFrame

Dữ liệu đào tạo và nhãn được tải lên từ thư mục đích lên Amazon S3 tại vị trí thùng / tiền tố.

  1. Sau khi tải lên tập dữ liệu trong S3, chúng tôi tạo một đối tượng LookoutEquipmentDataset lớp quản lý tập dữ liệu:
    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()

Sản phẩm access_role_arn được cung cấp phải có quyền truy cập vào thùng S3 nơi có dữ liệu. Bạn có thể truy xuất ARN vai trò của phiên bản sổ ghi chép SageMaker từ phiên bản trước Thiết lập môi trường và thêm chính sách IAM để cấp quyền truy cập vào nhóm S3 của bạn. Để biết thêm thông tin, hãy xem Viết chính sách IAM: Cách cấp quyền truy cập vào nhóm Amazon S3.

Sản phẩm component_root_dir tham số sẽ chỉ ra vị trí trong Amazon S3 nơi dữ liệu đào tạo được lưu trữ.

Sau khi chúng tôi khởi chạy các API trước đó, tập dữ liệu của chúng tôi đã được tạo.

  1. Nhập dữ liệu vào tập dữ liệu:
    response = lookout_dataset.ingest_data(bucket, prefix + 'training-data/')

Giờ đây, dữ liệu của bạn đã có trên Amazon S3, việc tạo tập dữ liệu và nhập dữ liệu vào đó chỉ là vấn đề của ba dòng mã. Bạn không cần phải xây dựng một lược đồ JSON dài dòng theo cách thủ công; hộp công cụ phát hiện cấu trúc tệp của bạn và xây dựng nó cho bạn. Sau khi dữ liệu của bạn được nhập, đã đến lúc chuyển sang phần đào tạo!

Đào tạo một mô hình phát hiện bất thường

Sau khi dữ liệu đã được nhập vào tập dữ liệu, chúng ta có thể bắt đầu quá trình đào tạo mô hình. Xem đoạn mã sau:

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)

Trước khi bắt đầu đào tạo, chúng tôi cần chỉ định các giai đoạn đào tạo và đánh giá trong tập dữ liệu. Chúng tôi cũng đặt vị trí trong Amazon S3 nơi dữ liệu được gắn nhãn được lưu trữ và đặt tốc độ lấy mẫu thành 5 phút. Sau khi chúng tôi khởi động khóa đào tạo, poll_model_training Thăm dò tình trạng công việc đào tạo cứ sau 5 phút cho đến khi đào tạo thành công.

Mô-đun đào tạo của hộp công cụ Tìm kiếm Thiết bị cho phép bạn đào tạo một mô hình với ít hơn 10 dòng mã. Nó thay mặt bạn xây dựng tất cả các chuỗi yêu cầu tạo độ dài cần thiết bởi API cấp thấp, loại bỏ nhu cầu bạn phải tạo các tài liệu JSON dài, dễ xảy ra lỗi.

Sau khi mô hình được đào tạo, chúng ta có thể kiểm tra kết quả trong khoảng thời gian đánh giá hoặc định cấu hình bộ lập lịch suy luận bằng cách sử dụng hộp công cụ.

Đánh giá một mô hình được đào tạo

Sau khi một người mẫu được đào tạo, Mô tả API từ Lookout for Equipment ghi lại các chỉ số liên quan đến khóa đào tạo. API này trả về một tài liệu JSON với hai trường quan tâm để vẽ biểu đồ kết quả đánh giá: labeled_rangespredicted_ranges, chứa các dị thường đã biết và được dự đoán trong phạm vi đánh giá, tương ứng. Hộp công cụ cung cấp các tiện ích để tải những thứ này trong Pandas DataFrame thay thế:

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)

Ưu điểm của việc tải các phạm vi trong DataFrame là chúng ta có thể tạo hình ảnh trực quan đẹp mắt bằng cách vẽ một trong các tín hiệu chuỗi thời gian gốc và thêm lớp phủ các sự kiện bất thường được gắn nhãn và dự đoán bằng cách sử dụng TimeSeriesVisualization lớp của hộp công cụ:

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()

Vài dòng mã này tạo ra một âm mưu với các tính năng sau:

  • Biểu đồ dòng cho tín hiệu được chọn; phần được sử dụng để đào tạo mô hình xuất hiện màu xanh lam trong khi phần đánh giá có màu xám
  • Trung bình cuộn xuất hiện dưới dạng một đường màu đỏ mỏng phủ lên trên chuỗi thời gian
  • Các nhãn được hiển thị trong dải băng màu xanh lá cây có nhãn "Các điểm bất thường đã biết" (theo mặc định)
  • Các sự kiện dự đoán được hiển thị trong dải băng màu đỏ có nhãn "Sự kiện đã phát hiện"

Xây dựng, đào tạo và triển khai các mô hình Amazon Lookout for Equipment bằng cách sử dụng PlatoBlockchain Data Intelligence của Hộp công cụ Python. Tìm kiếm dọc. Ái.

Hộp công cụ thực hiện tất cả các thao tác định vị, tải và phân tích cú pháp tệp JSON trong khi cung cấp các hình ảnh trực quan sẵn sàng để sử dụng giúp giảm thêm thời gian để có được thông tin chi tiết từ các mô hình phát hiện bất thường của bạn. Ở giai đoạn này, hộp công cụ cho phép bạn tập trung vào việc diễn giải kết quả và thực hiện các hành động để mang lại giá trị kinh doanh trực tiếp cho người dùng cuối của bạn. Ngoài các hình ảnh hóa chuỗi thời gian này, SDK cung cấp các biểu đồ khác, chẳng hạn như biểu đồ so sánh các giá trị của tín hiệu của bạn giữa thời gian bình thường và bất thường. Để tìm hiểu thêm về các khả năng hiển thị khác mà bạn có thể sử dụng ngay khi xuất hiện, hãy xem Tìm kiếm tài liệu hộp công cụ Thiết bị.

Lập kế hoạch suy luận

Hãy xem cách chúng ta có thể lập lịch các suy luận bằng cách sử dụng hộp công cụ:

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()

Mã này tạo bộ lập lịch xử lý một tệp cứ sau 5 phút (khớp với tần suất tải lên đã đặt khi định cấu hình bộ lập lịch). Sau 15 phút hoặc lâu hơn, chúng ta sẽ có một số kết quả. Để nhận được những kết quả này từ bộ lập lịch trong Pandas DataFrame, chúng ta chỉ cần chạy lệnh sau:

results_df = lookout_scheduler.get_predictions()

Từ đây, chúng tôi cũng có thể vẽ biểu đồ tầm quan trọng của tính năng đối với một dự đoán bằng cách sử dụng các API trực quan hóa của hộp công cụ:

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

Nó tạo ra hình ảnh trực quan về tầm quan trọng của tính năng sau trên dữ liệu mẫu.

Xây dựng, đào tạo và triển khai các mô hình Amazon Lookout for Equipment bằng cách sử dụng PlatoBlockchain Data Intelligence của Hộp công cụ Python. Tìm kiếm dọc. Ái.

Hộp công cụ cũng cung cấp một API để dừng bộ lập lịch. Xem đoạn mã sau:

scheduler.stop()

Làm sạch

Để xóa tất cả các tạo tác đã tạo trước đó, chúng ta có thể gọi delete_dataset API với tên của tập dữ liệu của chúng tôi:

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

Kết luận

Khi nói chuyện với các khách hàng công nghiệp và sản xuất, một thách thức phổ biến mà chúng tôi nghe thấy liên quan đến việc tận dụng AI và ML là số lượng tùy chỉnh và phát triển cụ thể và công việc khoa học dữ liệu cần thiết để thu được kết quả đáng tin cậy và có thể hành động được. Đào tạo các mô hình phát hiện bất thường và nhận được cảnh báo trước có thể hành động cho nhiều máy móc công nghiệp khác nhau là điều kiện tiên quyết để giảm nỗ lực bảo trì, giảm công việc làm lại hoặc lãng phí, tăng chất lượng sản phẩm và cải thiện hiệu quả tổng thể của thiết bị (OEE) hoặc dòng sản phẩm. Cho đến nay, điều này đòi hỏi một lượng lớn công việc phát triển cụ thể, rất khó để mở rộng quy mô và duy trì theo thời gian.

Các dịch vụ AI Ứng dụng của Amazon như Lookout for Equipment cho phép các nhà sản xuất xây dựng các mô hình AI mà không cần có quyền truy cập vào một nhóm đa năng gồm các nhà khoa học dữ liệu, kỹ sư dữ liệu và kỹ sư quy trình. Giờ đây, với hộp công cụ Lookout for Equipment, các nhà phát triển của bạn có thể giảm thêm thời gian cần thiết để khám phá thông tin chi tiết trong dữ liệu chuỗi thời gian của bạn và thực hiện hành động. Hộp công cụ này cung cấp giao diện thân thiện với nhà phát triển, dễ sử dụng để nhanh chóng xây dựng các mô hình phát hiện bất thường bằng cách sử dụng Lookout for Equipment. Hộp công cụ là mã nguồn mở và tất cả mã SDK có thể được tìm thấy trên amazon-lookout-for-device-python-sdk GitHub repo. Nó cũng có sẵn dưới dạng Gói PyPi.

Bài đăng này chỉ đề cập đến một số API quan trọng nhất. Bạn đọc quan tâm có thể xem qua tài liệu hộp công cụ để xem xét các khả năng nâng cao hơn của hộp công cụ. Hãy thử và cho chúng tôi biết suy nghĩ của bạn trong nhận xét!


Về các tác giả

Xây dựng, đào tạo và triển khai các mô hình Amazon Lookout for Equipment bằng cách sử dụng PlatoBlockchain Data Intelligence của Hộp công cụ Python. Tìm kiếm dọc. Ái.Vikesh Pandey là Kiến trúc sư Giải pháp Chuyên gia về Học máy tại AWS, giúp khách hàng ở Vương quốc Anh và khu vực EMEA rộng lớn hơn thiết kế và xây dựng các giải pháp ML. Ngoài giờ làm việc, Vikesh thích thử các món ăn khác nhau và chơi các môn thể thao ngoài trời.

Xây dựng, đào tạo và triển khai các mô hình Amazon Lookout for Equipment bằng cách sử dụng PlatoBlockchain Data Intelligence của Hộp công cụ Python. Tìm kiếm dọc. Ái.Ioan Catana là Kiến trúc sư Giải pháp Chuyên gia về Trí tuệ Nhân tạo và Học máy tại AWS. Anh ấy giúp khách hàng phát triển và mở rộng các giải pháp ML của họ trong Đám mây AWS. Ioan có hơn 20 năm kinh nghiệm, hầu hết trong lĩnh vực thiết kế kiến ​​trúc phần mềm và kỹ thuật đám mây.

Xây dựng, đào tạo và triển khai các mô hình Amazon Lookout for Equipment bằng cách sử dụng PlatoBlockchain Data Intelligence của Hộp công cụ Python. Tìm kiếm dọc. Ái.Michael Hoarau là Kiến trúc sư Giải pháp Chuyên gia về AI / ML tại AWS, người luân phiên giữa nhà khoa học dữ liệu và kiến ​​trúc sư học máy, tùy thuộc vào thời điểm. Anh ấy đam mê mang sức mạnh của AI / ML đến các tầng cửa hàng của khách hàng công nghiệp của mình và đã nghiên cứu nhiều trường hợp sử dụng ML, từ phát hiện bất thường đến dự đoán chất lượng sản phẩm hoặc tối ưu hóa sản xuất. Khi không giúp khách hàng phát triển trải nghiệm học máy tốt nhất tiếp theo, anh ấy thích quan sát các vì sao, đi du lịch hoặc chơi piano.

Dấu thời gian:

Thêm từ Học máy AWS