Python Toolbox PlatoBlockchain Data Intelligence를 사용하여 Amazon Lookout for Equipment 모델을 구축, 교육 및 배포합니다. 수직 검색. 일체 포함.

Python 도구 상자를 사용하여 Amazon Lookout for Equipment 모델을 구축, 교육 및 배포합니다.

예측 유지보수는 장비 상태를 사전에 모니터링하여 산업 기계 고장 및 값비싼 가동 중지 시간을 예방하는 효과적인 방법이 될 수 있으므로 장비 고장이 발생하기 전에 이상 징후에 대해 경고를 받을 수 있습니다. 센서를 설치하고 데이터 연결, 저장, 분석 및 경고에 필요한 인프라를 설치하는 것은 예측 유지 관리 솔루션을 구현하기 위한 기본 요소입니다. 그러나 Ad Hoc 인프라를 설치한 후에도 많은 회사에서 다운타임을 방지할 수 있을 만큼 조기에 문제를 감지하는 데 종종 비효율적인 기본 데이터 분석 및 간단한 모델링 접근 방식을 사용합니다. 또한 장비에 기계 학습(ML) 솔루션을 구현하는 것은 어렵고 시간이 많이 소요될 수 있습니다.

장비에 대한 Amazon Lookout, ML 경험 없이도 산업용 장비의 센서 데이터를 자동으로 분석하여 비정상적인 기계 동작을 감지할 수 있습니다. 즉, 장비 이상을 빠르고 정확하게 감지하고 문제를 신속하게 진단하고 비용이 많이 드는 가동 중지 시간을 줄이기 위한 조치를 취할 수 있습니다.

Lookout for Equipment는 압력, 유량, RPM, 온도 및 전력과 같은 센서 및 시스템의 데이터를 분석하여 데이터를 기반으로 장비에 특정한 모델을 자동으로 훈련합니다. 고유한 ML 모델을 사용하여 수신 센서 데이터를 실시간으로 분석하고 기계 고장으로 이어질 수 있는 조기 경고 신호를 식별합니다. 감지된 각 경보에 대해 Lookout for Equipment는 문제를 나타내는 특정 센서와 감지된 이벤트에 대한 영향의 크기를 정확히 찾아냅니다.

모든 개발자가 ML을 사용할 수 있도록 하기 위해 Lookout for Equipment에 또 다른 추가 기능을 제공하고자 합니다. 오픈 소스 Python 도구 상자 개발자와 데이터 과학자가 기존에 사용하던 것과 유사하게 Lookout for Equipment 모델을 구축, 교육 및 배포할 수 있습니다. 아마존 세이지 메이커. 이 라이브러리는 Lookout for Equipment boto3 python API의 상단에 있는 래퍼이며 이 서비스로 여정을 시작하기 위해 제공됩니다. 개선 제안이나 보고할 버그가 있는 경우 도구 상자에 문제를 제출하세요. GitHub 저장소.

이 게시물에서는 SageMaker 노트북 내에서 Lookout for Equipment 오픈 소스 Python 도구 상자를 사용하기 위한 단계별 가이드를 제공합니다.

환경 설정

SageMaker 노트북에서 오픈 소스 Lookout for Equipment 도구 상자를 사용하려면 Lookout for Equipment API를 호출하는 데 필요한 권한을 SageMaker 노트북에 부여해야 합니다. 이 게시물에서는 이미 SageMaker 노트북 인스턴스를 생성했다고 가정합니다. 지침은 다음을 참조하십시오. Amazon SageMaker 노트북 인스턴스 시작하기. 노트북 인스턴스는 실행 역할과 자동으로 연결됩니다.

  1. 인스턴스에 연결된 역할을 찾으려면 SageMaker 콘솔에서 인스턴스를 선택합니다.
    Python Toolbox PlatoBlockchain Data Intelligence를 사용하여 Amazon Lookout for Equipment 모델을 구축, 교육 및 배포합니다. 수직 검색. 일체 포함.
  2. 다음 화면에서 아래로 스크롤하여 AWS 자격 증명 및 액세스 관리 (IAM)의 인스턴스에 연결된 역할 권한 및 암호화 안내
  3. 역할을 선택하여 IAM 콘솔을 엽니다.
    Python Toolbox PlatoBlockchain Data Intelligence를 사용하여 Amazon Lookout for Equipment 모델을 구축, 교육 및 배포합니다. 수직 검색. 일체 포함.

다음으로 SageMaker IAM 역할에 인라인 정책을 연결합니다.

  1. 권한 연 역할의 탭에서 인라인 정책 추가.
    Python Toolbox PlatoBlockchain Data Intelligence를 사용하여 Amazon Lookout for Equipment 모델을 구축, 교육 및 배포합니다. 수직 검색. 일체 포함.
  2. JSON 탭에서 다음 코드를 입력합니다. 와일드카드 액션(lookoutequipment:*) 데모 목적의 서비스. 실제 사용 사례의 경우 적절한 SDK API 호출을 실행하는 데 필요한 권한만 제공하십시오.
     { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lookoutequipment:*" ], "Resource": "*" } ] }

  3. 왼쪽 메뉴에서 정책 검토.
  4. 정책의 이름을 제공하고 정책을 생성합니다.

이전 인라인 정책 외에도 동일한 IAM 역할에서 Lookout for Equipment가 이 역할을 맡을 수 있도록 신뢰 관계를 설정해야 합니다. SageMaker 역할에는 이미 적절한 데이터 액세스 권한이 있습니다. 아마존 단순 스토리지 서비스 (아마존 S3); Lookout for Equipment가 이 역할을 맡도록 허용하면 노트북과 동일한 데이터 액세스 권한을 갖게 됩니다. 사용자 환경에는 Lookout for Equipment가 데이터에 액세스할 수 있도록 하는 특정 역할이 이미 있을 수 있으며, 이 경우 이 공통 역할의 신뢰 관계를 조정할 필요가 없습니다.

  1. SageMaker IAM 역할 내부 신뢰 관계 탭에서 트러스트 관계 편집.
  2. 정책 문서에서 전체 정책을 다음 코드로 바꿉니다.
     { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lookoutequipment.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

  3. 왼쪽 메뉴에서 신뢰 정책 업데이트.

이제 SageMaker 노트북 환경에서 Lookout for Equipment 도구 상자를 사용할 준비가 되었습니다. Lookout for Equipment 도구 상자는 데이터 과학자와 소프트웨어 개발자가 Lookout for Equipment를 사용하여 시계열 이상 감지 모델을 쉽게 구축하고 배포할 수 있는 오픈 소스 Python 패키지입니다. 도구 상자 덕분에 더 쉽게 달성할 수 있는 작업을 살펴보겠습니다!

종속성

작성 당시 도구 상자에는 다음이 설치되어 있어야 합니다.

이러한 종속성을 충족한 후 Jupyter 터미널에서 다음 명령을 사용하여 Lookout for Equipment 도구 상자를 설치하고 실행할 수 있습니다.

pip install lookoutequipment

이제 도구 상자를 사용할 준비가 되었습니다. 이 게시물에서는 이상 탐지 모델을 교육하고 배포하여 도구 상자를 사용하는 방법을 보여줍니다. 일반적인 ML 개발 수명 주기는 교육을 위한 데이터 세트 구축, 모델 교육, 모델 배포 및 모델에 대한 추론 수행으로 구성됩니다. 도구 상자는 제공하는 기능 면에서 매우 포괄적이지만 이 게시물에서는 다음 기능에 중점을 둡니다.

  • 데이터세트 준비
  • Lookout for Equipment를 사용하여 이상 감지 모델 학습
  • 모델 평가를 위한 시각화 빌드
  • 추론 스케줄러 구성 및 시작
  • 스케줄러 추론 결과 시각화

이러한 각 기능에 대해 도구 상자를 사용하는 방법을 알아보겠습니다.

데이터세트 준비

Lookout for Equipment를 사용하려면 데이터 세트를 만들고 수집해야 합니다. 데이터세트를 준비하려면 다음 단계를 완료하세요.

  1. 데이터 세트를 생성하기 전에 샘플 데이터 세트를 로드하고 업로드해야 합니다. 아마존 단순 스토리지 서비스 (Amazon S3) 버킷. 이 포스트에서 우리는 expander 데이터 세트 :
    from lookoutequipment import dataset data = dataset.load_dataset(dataset_name='expander', target_dir='expander-data')
    dataset.upload_dataset('expander-data', bucket, prefix)

반환 data 객체는 다음을 포함하는 사전을 나타냅니다.

    • 훈련 데이터 DataFrame
    • A 레이블 DataFrame
    • 교육 시작 및 종료 날짜/시간
    • 평가 시작 및 종료 날짜/시간
    • A 태그 설명 DataFrame

교육 및 레이블 데이터는 대상 디렉터리에서 버킷/접두사 위치의 Amazon S3로 업로드됩니다.

  1. S3에 데이터 세트를 업로드한 후 다음 객체를 생성합니다. LookoutEquipmentDataset 데이터 세트를 관리하는 클래스:
    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()

XNUMXD덴탈의 access_role_arn 제공된 데이터가 있는 S3 버킷에 대한 액세스 권한이 있어야 합니다. 이전 SageMaker 노트북 인스턴스의 역할 ARN을 검색할 수 있습니다. 환경 설정 섹션을 열고 S3 버킷에 대한 액세스 권한을 부여하는 IAM 정책을 추가합니다. 자세한 내용은 IAM 정책 작성 : Amazon S3 버킷에 대한 액세스 권한을 부여하는 방법.

XNUMXD덴탈의 component_root_dir 매개변수는 훈련 데이터가 저장된 Amazon S3의 위치를 ​​나타내야 합니다.

이전 API를 시작한 후 데이터 세트가 생성되었습니다.

  1. 데이터를 데이터세트로 수집합니다.
    response = lookout_dataset.ingest_data(bucket, prefix + 'training-data/')

이제 Amazon S3에서 데이터를 사용할 수 있으므로 데이터 세트를 생성하고 그 안의 데이터를 수집하는 것은 세 줄의 코드로 간단합니다. 긴 JSON 스키마를 수동으로 빌드할 필요가 없습니다. 도구 상자는 파일 구조를 감지하고 자동으로 빌드합니다. 데이터가 수집된 후에는 교육으로 이동할 시간입니다!

이상 감지 모델 학습

데이터가 데이터 세트에서 수집된 후 모델 교육 프로세스를 시작할 수 있습니다. 다음 코드를 참조하십시오.

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)

훈련을 시작하기 전에 데이터 세트 내에서 훈련 및 평가 기간을 지정해야 합니다. 또한 레이블이 지정된 데이터가 저장되는 Amazon S3의 위치를 ​​설정하고 샘플링 속도를 5분으로 설정했습니다. 교육을 시작한 후, poll_model_training 훈련이 성공할 때까지 5분마다 훈련 작업 상태를 폴링합니다.

Lookout for Equipment 도구 상자의 교육 모듈을 사용하면 10줄 미만의 코드로 모델을 교육할 수 있습니다. 사용자를 대신하여 저수준 API에 필요한 모든 길이 생성 요청 문자열을 빌드하므로 오류가 발생하기 쉬운 긴 JSON 문서를 빌드할 필요가 없습니다.

모델이 훈련된 후 평가 기간 동안 결과를 확인하거나 도구 상자를 사용하여 추론 스케줄러를 구성할 수 있습니다.

훈련된 모델 평가

모델을 학습시킨 후, 모델 설명 Lookout for Equipment의 API는 교육과 관련된 메트릭을 기록합니다. 이 API는 평가 결과를 표시하기 위해 두 개의 관심 필드가 있는 JSON 문서를 반환합니다. labeled_rangespredicted_ranges, 평가 범위에서 알려진 이상 및 예측된 이상을 각각 포함합니다. 도구 상자는 대신 Pandas DataFrame에 로드하는 유틸리티를 제공합니다.

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)

DataFrame에서 범위를 로드하는 이점은 원래 시계열 신호 중 하나를 플롯하여 멋진 시각화를 만들고 TimeSeriesVisualization 도구 상자의 클래스:

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

이 몇 줄의 코드는 다음 기능을 포함하는 플롯을 생성합니다.

  • 선택한 신호에 대한 선 플롯. 모델 학습에 사용된 부분은 파란색으로 표시되고 평가 부분은 회색으로 표시됩니다.
  • 이동 평균은 시계열에 겹쳐진 얇은 빨간색 선으로 나타납니다.
  • 레이블은 "알려진 변칙"(기본값)이라는 레이블이 붙은 녹색 리본에 표시됩니다.
  • 예측된 이벤트는 "감지된 이벤트"라는 레이블이 지정된 빨간색 리본에 표시됩니다.

Python Toolbox PlatoBlockchain Data Intelligence를 사용하여 Amazon Lookout for Equipment 모델을 구축, 교육 및 배포합니다. 수직 검색. 일체 포함.

이 도구 상자는 JSON 파일을 찾고, 로드하고, 구문 분석하는 모든 무거운 작업을 수행하는 동시에 이상 감지 모델에서 통찰력을 얻는 시간을 더욱 단축하는 즉시 사용 가능한 시각화를 제공합니다. 이 단계에서 도구 상자를 사용하면 결과를 해석하고 최종 사용자에게 직접적인 비즈니스 가치를 제공하기 위한 조치를 취하는 데 집중할 수 있습니다. 이러한 시계열 시각화 외에도 SDK는 정상 시간과 비정상 시간 사이의 신호 값에 대한 히스토그램 비교와 같은 다른 플롯을 제공합니다. 즉시 사용할 수 있는 다른 시각화 기능에 대해 자세히 알아보려면 다음을 참조하십시오. 장비 도구 상자 문서 찾기.

일정 추론

도구 상자를 사용하여 추론을 예약하는 방법을 살펴보겠습니다.

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

이 코드는 5분마다 하나의 파일을 처리하는 스케줄러를 생성합니다(스케줄러 구성 시 설정된 업로드 빈도와 일치). 15분 정도 후에 일부 결과를 사용할 수 있습니다. Pandas DataFrame의 스케줄러에서 이러한 결과를 얻으려면 다음 명령을 실행하기만 하면 됩니다.

results_df = lookout_scheduler.get_predictions()

여기에서 도구 상자의 시각화 API를 사용하여 예측에 대한 기능 중요도를 표시할 수도 있습니다.

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

샘플 데이터에 대해 다음과 같은 기능 중요도 시각화를 생성합니다.

Python Toolbox PlatoBlockchain Data Intelligence를 사용하여 Amazon Lookout for Equipment 모델을 구축, 교육 및 배포합니다. 수직 검색. 일체 포함.

도구 상자는 스케줄러를 중지하는 API도 제공합니다. 다음 코드 스니펫을 참조하세요.

scheduler.stop()

정리

이전에 생성된 모든 아티팩트를 삭제하려면 delete_dataset 데이터세트 이름이 있는 API:

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

결론

산업 및 제조 고객과 이야기할 때 AI 및 ML을 활용하는 것과 관련하여 우리가 듣는 공통적인 문제는 신뢰할 수 있고 실행 가능한 결과를 얻는 데 필요한 사용자 지정과 특정 개발 및 데이터 과학 작업의 양이 많다는 것입니다. 다양한 산업 기계에 대해 이상 감지 모델을 교육하고 실행 가능한 사전 경고를 얻는 것은 유지 관리 노력을 줄이고 재작업 또는 낭비를 줄이며 제품 품질을 높이고 전체 장비 효율성(OEE) 또는 제품 라인을 개선하기 위한 전제 조건입니다. 지금까지 이를 위해서는 막대한 양의 특정 개발 작업이 필요했으며, 이는 시간이 지남에 따라 확장 및 유지 관리가 어렵습니다.

Lookout for Equipment와 같은 Amazon Applied AI 서비스를 통해 제조업체는 데이터 과학자, 데이터 엔지니어 및 프로세스 엔지니어로 구성된 다재다능한 팀에 액세스하지 않고도 AI 모델을 구축할 수 있습니다. 이제 Lookout for Equipment 도구 상자를 사용하여 개발자가 시계열 데이터에서 통찰력을 탐색하고 조치를 취하는 데 필요한 시간을 더욱 줄일 수 있습니다. 이 도구 상자는 Lookout for Equipment를 사용하여 이상 감지 모델을 빠르게 구축할 수 있는 사용하기 쉽고 개발자 친화적인 인터페이스를 제공합니다. 도구 상자는 오픈 소스이며 모든 SDK 코드는 아마존-장비-탐색-파이썬-SDK GitHub 리포지토리. 로도 사용 가능합니다. 파이파이 패키지.

이 게시물은 가장 중요한 API 중 일부만 다룹니다. 관심있는 독자는 다음을 확인하십시오. 도구 상자 문서 도구 상자의 고급 기능을 살펴보십시오. 그것을 시도하고 의견에 당신의 생각을 알려주십시오!


저자에 관하여

Python Toolbox PlatoBlockchain Data Intelligence를 사용하여 Amazon Lookout for Equipment 모델을 구축, 교육 및 배포합니다. 수직 검색. 일체 포함.비케시 판 데이 AWS의 Machine Learning Specialist Specialist Solutions Architect로 영국 및 더 넓은 EMEA 지역의 고객이 ML 솔루션을 설계하고 구축할 수 있도록 지원합니다. Vikesh는 직장 밖에서 다양한 요리를 맛보고 야외 스포츠를 즐기는 것을 즐깁니다.

Python Toolbox PlatoBlockchain Data Intelligence를 사용하여 Amazon Lookout for Equipment 모델을 구축, 교육 및 배포합니다. 수직 검색. 일체 포함.이안 카타나 AWS의 인공 지능 및 기계 학습 전문가 솔루션 아키텍트입니다. 그는 고객이 AWS 클라우드에서 ML 솔루션을 개발하고 확장하도록 돕습니다. Ioan은 주로 소프트웨어 아키텍처 설계 및 클라우드 엔지니어링 분야에서 20년 이상의 경험을 가지고 있습니다.

Python Toolbox PlatoBlockchain Data Intelligence를 사용하여 Amazon Lookout for Equipment 모델을 구축, 교육 및 배포합니다. 수직 검색. 일체 포함.미하엘 후 아우 순간에 따라 데이터 과학자와 기계 학습 설계자를 번갈아 가며 일하는 AWS의 AI/ML 전문가 솔루션 설계자입니다. 그는 AI/ML의 힘을 산업 고객의 작업 현장에 제공하는 데 열정적이며 이상 감지에서 예측 제품 품질 또는 제조 최적화에 이르는 광범위한 ML 사용 사례에 대해 작업했습니다. 고객이 차세대 머신 러닝 경험을 개발하는 것을 돕지 않을 때 그는 별을 관찰하거나 여행을 하거나 피아노를 치는 것을 즐깁니다.

타임 스탬프 :

더보기 AWS 기계 학습