Twórz, trenuj i wdrażaj modele Amazon Lookout for Equipment za pomocą narzędzia Python Toolbox PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Twórz, trenuj i wdrażaj modele Amazon Lookout for Equipment za pomocą zestawu narzędzi Python

Konserwacja predykcyjna może być skutecznym sposobem zapobiegania awariom maszyn przemysłowych i kosztownym przestojom poprzez aktywne monitorowanie stanu sprzętu, dzięki czemu można otrzymywać powiadomienia o wszelkich anomaliach, zanim wystąpi awaria sprzętu. Instalacja czujników i niezbędnej infrastruktury do łączności, przechowywania, analiz i ostrzegania danych to podstawowe elementy umożliwiające wprowadzenie rozwiązań w zakresie konserwacji predykcyjnej. Jednak nawet po zainstalowaniu infrastruktury ad hoc wiele firm korzysta z podstawowej analizy danych i prostych metod modelowania, które często są nieskuteczne w wykrywaniu problemów na tyle wcześnie, aby uniknąć przestojów. Ponadto wdrożenie rozwiązania do uczenia maszynowego (ML) dla Twojego sprzętu może być trudne i czasochłonne.

Z Amazon Lookout dla sprzętumożesz automatycznie analizować dane z czujników sprzętu przemysłowego w celu wykrycia nieprawidłowego zachowania maszyny — bez konieczności posiadania doświadczenia w zakresie uczenia maszynowego. Oznacza to, że możesz szybko i precyzyjnie wykrywać nieprawidłowości w sprzęcie, szybko diagnozować problemy i podejmować działania w celu skrócenia kosztownych przestojów.

Lookout for Equipment analizuje dane z czujników i systemów, takie jak ciśnienie, natężenie przepływu, obroty, temperatura i moc, aby automatycznie wytrenować model specyficzny dla Twojego sprzętu na podstawie Twoich danych. Wykorzystuje unikalny model ML do analizy przychodzących danych z czujników w czasie rzeczywistym i identyfikuje wczesne sygnały ostrzegawcze, które mogą prowadzić do awarii maszyny. W przypadku każdego wykrytego alertu funkcja Lookout for Equipment wskazuje, które konkretne czujniki wskazują problem oraz skalę wpływu na wykryte zdarzenie.

Mając na celu udostępnienie ML w ręce każdego programisty, chcemy zaprezentować kolejny dodatek do Lookout for Equipment: zestaw narzędzi Pythona o otwartym kodzie źródłowym która umożliwia programistom i analitykom danych budowanie, trenowanie i wdrażanie modeli Lookout for Equipment w sposób podobny do tego, do czego jesteś przyzwyczajony Amazon Sage Maker. Ta biblioteka stanowi dodatek do interfejsu API Lookout for Equipment boto3 Pythona i umożliwia rozpoczęcie korzystania z tej usługi. Jeśli masz jakieś sugestie ulepszeń lub błędy do zgłoszenia, zgłoś problem w zestawie narzędzi Repozytorium GitHub.

W tym poście przedstawiamy przewodnik krok po kroku dotyczący korzystania z zestawu narzędzi Pythona typu open source Lookout for Equipment z poziomu notatnika SageMaker.

Konfiguracja środowiska

Aby korzystać z zestawu narzędzi Lookout for Equipment o otwartym kodzie źródłowym z poziomu notatnika SageMaker, musimy przyznać notatnikowi SageMaker niezbędne uprawnienia do wywoływania interfejsów API Lookout for Equipment. W tym poście zakładamy, że masz już instancję notatnika SageMaker. Aby uzyskać instrukcje, zobacz Rozpocznij korzystanie z instancji notebooka Amazon SageMaker. Instancja notatnika jest automatycznie kojarzona z rolą wykonawczą.

  1. Aby znaleźć rolę przypisaną do instancji, wybierz instancję w konsoli SageMaker.
    Twórz, trenuj i wdrażaj modele Amazon Lookout for Equipment za pomocą narzędzia Python Toolbox PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.
  2. Na następnym ekranie przewiń w dół, aby znaleźć AWS Zarządzanie tożsamością i dostępem (IAM) przypisana do instancji w pliku Uprawnienia i szyfrowanie
  3. Wybierz rolę, aby otworzyć konsolę IAM.
    Twórz, trenuj i wdrażaj modele Amazon Lookout for Equipment za pomocą narzędzia Python Toolbox PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Następnie dołączamy wbudowaną politykę do naszej roli IAM w SageMaker.

  1. Na Uprawnienia karcie roli, którą otworzyłeś, wybierz Dodaj zasady w treści.
    Twórz, trenuj i wdrażaj modele Amazon Lookout for Equipment za pomocą narzędzia Python Toolbox PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.
  2. Na JSON wpisz następujący kod. Używamy akcji z dziką kartą (lookoutequipment:*) dla usługi w celach demonstracyjnych. W rzeczywistych przypadkach podaj tylko wymagane uprawnienia do uruchamiania odpowiednich wywołań API zestawu SDK.
     { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lookoutequipment:*" ], "Resource": "*" } ] }

  3. Dodaj Zasady weryfikacji.
  4. Podaj nazwę zasady i utwórz ją.

Oprócz powyższych zasad wbudowanych w tej samej roli IAM musimy skonfigurować relację zaufania, aby umożliwić firmie Lookout for Equipment przejęcie tej roli. Rola SageMaker ma już odpowiedni dostęp do danych Usługa Amazon Simple Storage (Amazon S3); zezwolenie firmie Lookout for Equipment na przejęcie tej roli gwarantuje, że będzie ona miała taki sam dostęp do danych jak Twój notebook. W Twoim środowisku możesz już mieć określoną rolę zapewniającą firmie Lookout for Equipment dostęp do Twoich danych. W takim przypadku nie musisz dostosowywać relacji zaufania tej wspólnej roli.

  1. Wewnątrz naszej roli IAM SageMaker na platformie Relacje zaufania kartę, wybierz Edytuj relację zaufania.
  2. W dokumencie polityki zastąp całą politykę następującym kodem:
     { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lookoutequipment.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

  3. Dodaj Zaktualizuj politykę zaufania.

Teraz jesteśmy gotowi do korzystania z zestawu narzędzi Lookout for Equipment w naszym środowisku notatników SageMaker. Przybornik Lookout for Equipment to pakiet języka Python typu open source, który umożliwia badaczom danych i programistom łatwe tworzenie i wdrażanie modeli wykrywania anomalii szeregów czasowych przy użyciu aplikacji Lookout for Equipment. Przyjrzyjmy się, co możesz łatwiej osiągnąć dzięki przybornikowi!

Zależności

W chwili pisania tego tekstu przybornik wymaga zainstalowania:

Po spełnieniu tych zależności możesz zainstalować i uruchomić przybornik Lookout for Equipment za pomocą następującego polecenia z terminala Jupyter:

pip install lookoutequipment

Zestaw narzędzi jest teraz gotowy do użycia. W tym poście pokazujemy, jak korzystać z zestawu narzędzi, szkoląc i wdrażając model wykrywania anomalii. Typowy cykl życia programowania uczenia maszynowego składa się z budowania zestawu danych na potrzeby szkolenia, szkolenia modelu, wdrażania modelu i przeprowadzania wnioskowania na temat modelu. Zestaw narzędzi jest dość obszerny pod względem zapewnianych przez niego funkcjonalności, ale w tym poście skupimy się na następujących możliwościach:

  • Przygotuj zbiór danych
  • Trenuj model wykrywania anomalii za pomocą aplikacji Lookout for Equipment
  • Twórz wizualizacje do oceny modelu
  • Skonfiguruj i uruchom harmonogram wnioskowania
  • Wizualizuj wyniki wniosków harmonogramu

Zastanówmy się, jak możemy wykorzystać zestaw narzędzi dla każdej z tych funkcji.

Przygotuj zbiór danych

Lookout for Equipment wymaga utworzenia i wykorzystania zestawu danych. Aby przygotować zbiór danych, wykonaj następujące kroki:

  1. Przed utworzeniem zbioru danych musimy załadować przykładowy zbiór danych i przesłać go do pliku Usługa Amazon Simple Storage Łyżka (Amazon S3). W tym poście używamy expander zestaw danych:
    from lookoutequipment import dataset data = dataset.load_dataset(dataset_name='expander', target_dir='expander-data')
    dataset.upload_dataset('expander-data', bucket, prefix)

Zwrócony data obiekt reprezentuje słownik zawierający następujące elementy:

    • Ramka danych szkoleniowych
    • Etykieta DataFrame
    • Godziny rozpoczęcia i zakończenia szkolenia
    • Godziny rozpoczęcia i zakończenia oceny
    • Opis tagów DataFrame

Dane szkoleniowe i etykiety są przesyłane z katalogu docelowego do Amazon S3 w lokalizacji segmentu/prefiksu.

  1. Po wgraniu zbioru danych do S3 tworzymy obiekt LookoutEquipmentDataset klasa zarządzająca zbiorem danych:
    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()

Połączenia access_role_arn dostarczone muszą mieć dostęp do segmentu S3, w którym znajdują się dane. Możesz odzyskać rolę ARN instancji notatnika SageMaker z poprzedniej Konfiguracja środowiska sekcję i dodaj zasadę uprawnień, aby przyznać dostęp do segmentu S3. Aby uzyskać więcej informacji, zobacz Pisanie zasad IAM: jak przyznać dostęp do zasobnika Amazon S3.

Połączenia component_root_dir Parametr powinien wskazywać lokalizację w Amazon S3, w której przechowywane są dane treningowe.

Po uruchomieniu powyższych interfejsów API, nasz zbiór danych został utworzony.

  1. Pozyskaj dane do zbioru danych:
    response = lookout_dataset.ingest_data(bucket, prefix + 'training-data/')

Teraz, gdy Twoje dane są dostępne na Amazon S3, utworzenie zbioru danych i przyjęcie zawartych w nim danych to tylko kwestia trzech linijek kodu. Nie musisz ręcznie tworzyć długiego schematu JSON; przybornik wykrywa strukturę plików i tworzy ją za Ciebie. Po pochłonięciu danych czas przejść do treningu!

Trenuj model wykrywania anomalii

Po przyjęciu danych do zbioru danych możemy rozpocząć proces uczenia modelu. Zobacz następujący kod:

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)

Zanim rozpoczniemy szkolenie, musimy określić w zbiorze danych okresy szkolenia i oceny. Ustawiamy także lokalizację w Amazon S3, gdzie przechowywane są oznaczone dane i ustawiamy częstotliwość próbkowania na 5 minut. Po uruchomieniu szkolenia, poll_model_training odpytuje status zadania szkoleniowego co 5 minut, aż do momentu pomyślnego zakończenia szkolenia.

Moduł szkoleniowy przybornika Lookout for Equipment umożliwia uczenie modelu zawierającego mniej niż 10 linii kodu. Tworzy w Twoim imieniu wszystkie ciągi żądań tworzenia długości potrzebne przez niskopoziomowy interfejs API, eliminując potrzebę tworzenia długich, podatnych na błędy dokumentów JSON.

Po przeszkoleniu modelu możemy sprawdzić wyniki w okresie oceny lub skonfigurować harmonogram wnioskowania za pomocą zestawu narzędzi.

Oceń wyszkolony model

Po przeszkoleniu modelu OpiszModel Interfejs API firmy Lookout for Equipment rejestruje metryki powiązane ze szkoleniem. Ten interfejs API zwraca dokument JSON z dwoma interesującymi polami, w celu wykreślenia wyników oceny: labeled_ranges i predicted_ranges, które zawierają odpowiednio znane i przewidywane anomalie w zakresie oceny. Zestaw narzędzi udostępnia narzędzia do ładowania ich do ramki danych Pandas:

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)

Zaletą ładowania zakresów do ramki DataFrame jest to, że możemy stworzyć ładne wizualizacje poprzez wykreślenie jednego z oryginalnych sygnałów szeregów czasowych i dodanie nakładki oznaczonych i przewidywanych nietypowych zdarzeń za pomocą TimeSeriesVisualization klasa skrzynki narzędziowej:

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

Te kilka linijek kodu generuje wykres o następujących cechach:

  • Wykres liniowy dla wybranego sygnału; część używana do uczenia modelu jest wyświetlana w kolorze niebieskim, a część ewaluacyjna w kolorze szarym
  • Średnia krocząca jest wyświetlana jako cienka czerwona linia nałożona na szereg czasowy
  • Etykiety są wyświetlane na zielonej wstążce z etykietą „Znane anomalie” (domyślnie)
  • Przewidywane zdarzenia są pokazane na czerwonej wstążce z etykietą „Wykryte zdarzenia”

Twórz, trenuj i wdrażaj modele Amazon Lookout for Equipment za pomocą narzędzia Python Toolbox PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Zestaw narzędzi wykonuje wszystkie zadania związane z lokalizowaniem, ładowaniem i analizowaniem plików JSON, zapewniając jednocześnie gotowe do użycia wizualizacje, które dodatkowo skracają czas uzyskiwania wniosków z modeli wykrywania anomalii. Na tym etapie zestaw narzędzi pozwala skupić się na interpretacji wyników i podejmowaniu działań zapewniających bezpośrednią wartość biznesową użytkownikom końcowym. Oprócz wizualizacji szeregów czasowych pakiet SDK udostępnia inne wykresy, takie jak porównanie histogramów wartości sygnałów w okresach normalnych i nietypowych. Aby dowiedzieć się więcej o innych możliwościach wizualizacji, z których możesz korzystać od razu po wyjęciu z pudełka, zobacz Poszukaj dokumentacji zestawu narzędzi wyposażenia.

Wnioskowanie o harmonogramie

Zobaczmy, jak możemy zaplanować wnioskowanie za pomocą zestawu narzędzi:

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

Ten kod tworzy harmonogram, który przetwarza jeden plik co 5 minut (zgodnie z częstotliwością przesyłania ustawioną podczas konfigurowania harmonogramu). Po około 15 minutach powinniśmy mieć dostępne wyniki. Aby uzyskać te wyniki z harmonogramu w ramce danych Pandas, wystarczy uruchomić następujące polecenie:

results_df = lookout_scheduler.get_predictions()

Stąd możemy również wykreślić znaczenie funkcji dla prognozy, korzystając z interfejsów API wizualizacji w przyborniku:

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

Tworzy następującą wizualizację ważności funkcji na przykładowych danych.

Twórz, trenuj i wdrażaj modele Amazon Lookout for Equipment za pomocą narzędzia Python Toolbox PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Zestaw narzędzi udostępnia również interfejs API umożliwiający zatrzymanie programu planującego. Zobacz następujący fragment kodu:

scheduler.stop()

Sprzątać

Aby usunąć wszystkie utworzone wcześniej artefakty, możemy wywołać metodę delete_dataset API z nazwą naszego zbioru danych:

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

Wnioski

Rozmawiając z klientami przemysłowymi i produkcyjnymi, częstym wyzwaniem, jakie słyszymy w związku z wykorzystaniem sztucznej inteligencji i uczenia maszynowego, jest sama ilość dostosowań oraz specyficznych prac rozwojowych i związanych z analizą danych potrzebnych do uzyskania wiarygodnych i praktycznych wyników. Szkolenie modeli wykrywania anomalii i uzyskiwanie praktycznych ostrzeżeń dla wielu różnych maszyn przemysłowych jest warunkiem wstępnym zmniejszenia nakładów na konserwację, ograniczenia przeróbek lub odpadów, podniesienia jakości produktu i poprawy ogólnej wydajności sprzętu (OEE) lub linii produktów. Do tej pory wymagało to ogromnej ilości specyficznych prac rozwojowych, które z biegiem czasu były trudne do skalowania i utrzymania.

Usługi Amazon Applied AI, takie jak Lookout for Equipment, umożliwiają producentom budowanie modeli AI bez dostępu do wszechstronnego zespołu analityków danych, inżynierów danych i inżynierów procesów. Teraz dzięki przybornikowi Lookout for Equipment programiści mogą jeszcze bardziej skrócić czas potrzebny na analizowanie danych szeregów czasowych i podejmowanie działań. Ten zestaw narzędzi zapewnia łatwy w użyciu, przyjazny dla programistów interfejs umożliwiający szybkie tworzenie modeli wykrywania anomalii za pomocą aplikacji Lookout for Equipment. Zestaw narzędzi jest open source i cały kod SDK można znaleźć na stronie amazon-lookout-for-equipment-python-sdk Repozytorium GitHuba. Jest również dostępny jako Pakiet PyPi.

W tym poście omówiono tylko kilka najważniejszych interfejsów API. Zainteresowani czytelnicy mogą zapoznać się z dokumentacja skrzynki narzędziowej aby przyjrzeć się bardziej zaawansowanym możliwościom zestawu narzędzi. Wypróbuj i daj nam znać, co myślisz w komentarzach!


O autorach

Twórz, trenuj i wdrażaj modele Amazon Lookout for Equipment za pomocą narzędzia Python Toolbox PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Vikesha Pandey’a jest specjalistą ds. uczenia maszynowego i architektem rozwiązań w AWS, pomagającym klientom w Wielkiej Brytanii i całym regionie EMEA w projektowaniu i budowaniu rozwiązań ML. Poza pracą Vikesh lubi próbować różnych kuchni i uprawiać sport na świeżym powietrzu.

Twórz, trenuj i wdrażaj modele Amazon Lookout for Equipment za pomocą narzędzia Python Toolbox PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Ioana Catanę jest architektem rozwiązań specjalizującym się w sztucznej inteligencji i uczeniu maszynowym w AWS. Pomaga klientom rozwijać i skalować rozwiązania ML w chmurze AWS. Ioan ma ponad 20-letnie doświadczenie, głównie w projektowaniu architektury oprogramowania i inżynierii chmury.

Twórz, trenuj i wdrażaj modele Amazon Lookout for Equipment za pomocą narzędzia Python Toolbox PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Michał Hoarau jest architektem rozwiązań specjalistycznych AI/ML w AWS, który w zależności od chwili zmienia się z analityka danych na architekta uczenia maszynowego. Pasjonuje się wprowadzaniem możliwości sztucznej inteligencji/ML do hal produkcyjnych swoich klientów przemysłowych i pracował nad szeroką gamą przypadków użycia uczenia maszynowego, począwszy od wykrywania anomalii po przewidywanie jakości produktu lub optymalizację produkcji. Kiedy nie pomaga klientom w opracowywaniu najlepszych rozwiązań w zakresie uczenia maszynowego, lubi obserwować gwiazdy, podróżować lub grać na pianinie.

Znak czasu:

Więcej z Uczenie maszynowe AWS