Yara가 Amazon SageMaker의 MLOps 기능을 사용하여 암모니아 공장 전반에 걸쳐 에너지 최적화를 확장하는 방법 PlatoBlockchain Data Intelligence. 수직 검색. 일체 포함.

Yara가 Amazon SageMaker의 MLOps 기능을 사용하여 암모니아 플랜트 전체에서 에너지 최적화를 확장하는 방법

야라 세계 최고의 작물 영양 회사이자 환경 및 농업 솔루션 제공업체입니다. Yara의 포부는 고객, 주주 및 사회 전체를 위한 가치를 창출하고 보다 지속 가능한 식품 가치 사슬을 제공하는 자연 친화적 식품 미래를 성장시키는 데 초점을 맞추고 있습니다. 기아 없는 세상과 존중받는 지구에 대한 우리의 비전을 뒷받침하는 Yara는 지속 가능한 가치 성장 전략을 추구하고 기후 친화적인 작물 영양과 무배출 에너지 솔루션을 홍보합니다. Yara는 또한 세계 최대의 암모니아, 질산염 및 NPK 비료. 따라서 그들의 생산 부문은 안전, 환경 발자국, 품질 및 생산 비용과 같은 측정 기준에서 세계 최고가 되겠다는 분명한 포부를 가지고 임무를 수행하기 위한 필수 구성 요소입니다. Yara의 장기 목표는 배출량이 없고 비용이 낮은 "미래의 공장"입니다.

야라는 야망을 달성하는 데 도움이 되는 디지털 솔루션에 집중하고 있습니다. 이러한 노력을 주도하기 위해 Yara는 Digital Production이라는 글로벌 단위를 설립했습니다. 디지털 프로덕션 및 그 솔루션의 성공은 Yara의 핵심 우선 순위이며 Yara는 이 분야에서 그들의 노력을 크게 성장시켰습니다. 중요한 초점 영역은 작업의 일부로 생성된 방대한 양의 데이터를 활용하는 것입니다. 따라서 Yara는 생산 최적화, 제품 품질 향상, 생산 현장의 신뢰성 향상, 배출량 감소, 작업자의 안전 및 생산성 향상, 수동 프로세스 자동화 등에 도움이 되는 데이터 기반 제품을 구축하고 있습니다.

에너지는 많은 생산 공장의 주요 비용 요소입니다. 따라서 에너지 효율성은 수익성에 상당한 영향을 미칩니다. 그러나 좋은 성과가 어떤 것인지, 어떻게 달성할 수 있는지에 대한 확실한 참고 자료가 부족한 경우가 많습니다. Yara의 ELC(Energy Load Curve)는 현재 성능에 비해 에너지 소비에 대한 최고의 역사적 성능을 사용하는 솔루션입니다. 현재 소비가 과거 최고에서 너무 많이 벗어나면 도구는 에너지 소비를 조정하기 위해 운영자에게 권장 사항을 제공합니다.

ELC를 생산 공장에 배포하고 전 세계 여러 사이트로 확장하기 위해 Yara는 MLOps 플랫폼을 구축해야 했습니다. 이를 통해 Yara는 모델을 안정적이고 효율적으로 교육, 배포 및 유지 관리할 수 있습니다. 또한 이를 여러 사이트로 확장하기 위해 Yara는 배포 및 유지 관리 프로세스를 자동화해야 했습니다. 이 게시물에서는 Yara가 사용하는 방법에 대해 설명합니다. 아마존 세이지 메이커 모델 레지스트리를 포함한 기능, Amazon SageMaker 모델 모니터Amazon SageMaker 파이프 라인 MLOps 사례를 자동화하고 표준화하여 기계 학습(ML) 수명 주기를 간소화합니다. 설정에 대한 개요를 제공하고 전 세계 플랜트에 대한 ML 모델 구축, 교육, 배포 및 모니터링 프로세스를 보여줍니다.

솔루션 개요

ELC는 플랜트의 사물 인터넷(IoT) 센서 데이터를 사용합니다. 이러한 센서는 생산 처리량, 주변 조건 및 원자재 조건 등과 같은 메트릭을 측정합니다. 이 데이터는 에너지 예측 모델을 교육하는 데 사용되며 시간별 예측을 생성하는 데 사용됩니다. 플랜트 운영자는 실제 에너지 소비량을 모니터링하고 이를 ELC에서 예측한 최적 소비량과 비교합니다. 현재 에너지 사용량이 최적점에서 크게 벗어나는 경우 ELC는 분석 모델을 기반으로 에너지 효율을 최적화하기 위해 내부 프로세스 변수를 조정하는 조치를 제공합니다.

ELC는 클라우드에서 호스팅됩니다. 플랜트의 센서 데이터를 실시간으로 스트리밍하기 위해 Yara는 다음을 사용합니다. AWS IoT 그린그래스 안전하게 통신하기 위해 AWS IoT 코어 IoT 데이터를 AWS 클라우드로 내보냅니다. AWS IoT 사이트와이즈 산업용 장비의 장비 데이터를 대규모로 수집, 구성, 검색 및 사용할 수 있는 관리형 서비스입니다. Yara는 다음을 사용하여 API를 구축했습니다. 아마존 API 게이트웨이 ELC와 같은 애플리케이션에 센서 데이터를 노출합니다.

ELC 애플리케이션 백엔드는 Amazon ECS를 통해 배포되며 공장 운영자가 사용하는 프런트 엔드의 ELC 대시보드에 전원을 공급합니다. ELC 애플리케이션은 플랜트 운영자에게 시간별 예측 에너지 소비 지표를 제공합니다. 에너지 소비 특성이 다르기 때문에 각 발전소마다 고유한 모델이 있습니다. 또한 플랜트는 위치에 따라 서로 다른 AWS 리전으로 클러스터링됩니다.

다음 다이어그램은이 아키텍처를 보여줍니다.

ELC를 구축하고 여러 플랜트로 확장하려면 다음을 지원하는 MLOps 솔루션이 필요했습니다.

  • 확장성 – 데이터 볼륨에 따라 확장할 수 있습니다. 일부 공장은 다른 공장보다 더 많은 데이터를 생성합니다. 각 공장은 하루에 몇 기가바이트의 데이터를 생성할 수 있습니다.
  • 확장성 – 새로운 지역 및 계정에 배포할 수 있습니다.
  • Repeatability – 새 플랜트를 온보딩하는 데 사용할 수 있는 공통 템플릿이 있습니다.
  • 유연성 – 각 플랜트의 필요에 따라 배치 구성을 변경할 수 있습니다.
  • 안정성 및 모니터링 – 테스트를 실행할 수 있고 모든 활성 플랜트의 상태를 명확하게 볼 수 있습니다. 장애가 발생하면 이전의 안정 상태로 롤백할 수 있습니다.
  • 유지보수 – 솔루션은 유지 관리 오버헤드가 낮아야 합니다. 가능한 경우 서버리스 서비스를 사용하여 인프라 설치 공간을 줄여야 합니다.

ML의 경우 Yara는 SageMaker를 사용하기로 결정했습니다. SageMaker는 전체 ML 워크플로를 다루는 완전관리형 서비스입니다. 다음 기능은 SageMaker를 선택하는 데 중요했습니다.

  • SageMaker 프레임워크 컨테이너 – Yara는 TensorFlow에서 ELC 예측 모델을 교육했으며 SageMaker 프레임워크 컨테이너를 사용하여 최소한의 코드 변경으로 이러한 모델을 SageMaker로 리프트 앤 시프트할 수 있었습니다.
  • SageMaker 파이프 라인 – SageMaker 파이프라인은 데이터 과학자가 ML 파이프라인을 작성할 수 있도록 Python 인터페이스를 제공합니다. ELC 코드의 상당 부분은 Python에 정의된 교육 및 추론 파이프라인으로 구성됩니다.
  • SageMaker 모델 레지스트리 – SageMaker 모델 레지스트리를 사용하면 모델을 카탈로그화하고 버전을 제어할 수 있습니다. 또한 학습 메트릭과 같은 모델 메타데이터를 쉽게 관리할 수 있습니다.
  • SageMaker 모델 모니터 – Yara는 들어오는 데이터의 품질과 분포는 물론 ELC 모델 성능을 모니터링하기를 원했습니다. SageMaker Model Monitor API는 데이터 및 모델 품질 모니터링을 제공합니다.

ML 파이프라인에 대한 지속적 통합 및 지속적 제공(CI/CD)을 관리하기 위해 Yara는 다음을 사용합니다. Amazon 배포 프레임워크 (ADF). ADF는 AWS에서 개발한 오픈 소스 프레임워크로 AWS 조직 내의 여러 AWS 계정 및 리전에서 리소스를 관리하고 배포합니다. ADF는 에 정의된 구조를 통해 응용 프로그램 또는 리소스의 단계적, 병렬, 다중 계정 및 교차 지역 배포를 허용합니다. AWS 조직, 다음과 같은 서비스를 이용하면서 AWS 코드 파이프라인, AWS 코드빌드, AWS 코드 커밋AWS 클라우드 포메이션 기존 CI/CD 설정에 비해 무거운 작업 및 관리를 완화합니다.

솔루션 개요

MLOps 플랫폼을 위한 전체 솔루션은 AWS 전문 서비스. 프로젝트 작업 팀은 데이터 과학자, 데이터 엔지니어 및 DevOps 전문가로 구성되었습니다. 다중 팀 환경에서 더 빠른 개발을 촉진하기 위해 Yara는 AWS 랜딩 조ne 다양한 AWS 계정을 중앙에서 생성, 관리 및 통제하는 조직. 예를 들어 Yara는 중앙 배포 계정을 가지고 있으며 워크로드 계정을 사용하여 비즈니스 애플리케이션을 호스팅합니다. ELC는 프로세스 최적화 사용 사례이며 워크로드 계정을 최적화하기 위해 배포됩니다. Yara Digital Production 팀은 최적화 이외의 영역에서 ML 사용 사례도 작업합니다. MLOps 프레임워크는 계정이 조직을 통해 생성되는 한 모든 워크로드 계정에 대한 배포를 지원합니다.

다음 다이어그램은이 아키텍처를 보여줍니다.

계정 설정 조직

중앙 배포 계정을 사용하면 공통 아티팩트 및 CI/CD 파이프라인을 쉽게 관리할 수 있습니다. 이러한 공통 아티팩트의 액세스 관리 및 보안 측면에서 권한 경계 및 암호화 키가 한 곳에서 중앙 집중식으로 관리되기 때문에 설계가 더 간단합니다. 다음 섹션에서는 새로운 사용 사례를 Yara의 MLOps 플랫폼에 온보딩하는 데 필요한 단계를 안내합니다.

계정 전략 측면에서 Yara에는 샌드박스, DEV, TEST 및 PROD 설정이 있습니다. 샌드박스 계정은 실험과 새로운 아이디어 시도에 사용됩니다. DEV 계정은 CI/CD 파이프라인의 시작점이며 모든 개발이 여기에서 시작됩니다. 배포 계정에는 CI/CD 파이프라인 정의가 포함되어 있으며 DEV, TEST 및 PROD 계정에 배포할 수 있습니다. 이 계정 설정은 다음 그림에 설명되어 있습니다.

계정 설정 MLOps

새로운 사용 사례 온보딩

이 게시물에서는 사용 사례의 작동 프로토타입이 있다고 가정하고 이제 이를 운용하려고 합니다. 이 사용 사례가 새 제품 영역에 속하는 경우 먼저 조직을 사용하여 계정을 프로비저닝해야 합니다. 그러면 자동으로 ADF가 배포를 위해 이러한 계정을 부트스트랩하도록 트리거합니다. Yara는 DEV>TEST>PROD 계정 전략을 따릅니다. 그러나 이 구성은 필수가 아닙니다. 데이터 계정은 데이터 액세스를 위해 API를 노출하고 새로운 사용 사례의 경우 역할에 필요한 권한을 부여해야 합니다. AWS 자격 증명 및 액세스 관리 (IAM) 권한을 부여하여 데이터 API에 액세스할 수 있습니다.

다음으로 이 사용 사례가 배포되는 계정을 정의해야 합니다. 이것은 ADF의 배포 맵을 사용하여 수행됩니다. 배포 맵은 파이프라인의 단계 및 대상 매핑이 포함된 구성 파일입니다. 배포 맵을 실행하기 위해 ADF는 CodePipeline을 사용합니다. ADF는 스택이 배포된 대상 환경별로 매개변수를 관리할 수 있는 유연성을 제공합니다. 따라서 더 작은 인스턴스로 배포 및 테스트를 쉽게 관리할 수 있습니다.

코드, 데이터 및 모델 파일과 같은 모든 아티팩트를 암호화하기 위해 우리는 AWS 키 관리 서비스 (AWS KMS) 키. 서버 측 암호화를 사용할 수도 있습니다. 그러나 생성된 아티팩트 중 일부는 여러 계정에 걸쳐 액세스되기 때문에 자체 키를 생성하고 권한 정책을 관리하여 교차 계정 액세스를 허용해야 합니다.

마지막으로 모델 패키지 그룹을 생성하여 모델이 ML 수명 주기를 이동할 때 모델을 추적하고 관리하는 SageMaker 기능인 SageMaker 모델 레지스트리를 사용하여 모델의 여러 버전을 그룹화해야 합니다.

모델 학습 파이프라인

ELC에 온보딩된 각각의 새로운 플랜트에 대해 새로운 SageMaker 교육 파이프라인을 생성합니다. 이 파이프라인은 데이터 전처리 및 모델 학습 단계로 구성됩니다. SageMaker 파이프라인은 ML 워크플로 정의를 위한 Python 인터페이스를 제공하기 때문에 Yara에 적합합니다. 또한 워크플로의 여러 단계를 다르게 확장하도록 구성할 수 있습니다. 예를 들어 모델 평가 단계보다 훈련을 위해 훨씬 더 큰 인스턴스를 정의할 수 있습니다. 파이프라인의 각 단계에 대한 입력 및 출력 매개변수가 저장되어 각 실행 및 해당 출력을 쉽게 추적할 수 있습니다. 교육 워크플로우의 대략적인 개요는 다음과 같습니다.

SageMaker 교육 파이프라인

모델 평가 단계의 일부로 평가 데이터 세트를 사용하여 훈련된 모델에 대한 정확도 및 평균 제곱근 오차(RMSE) 편차와 같은 지표를 생성합니다. 이러한 메트릭은 모델을 모델 레지스트리에 등록하기 전에 모델 메타데이터에 추가됩니다. 현재 모델은 더 높은 환경으로 수동 승격되며 모델 승인자는 모델 메트릭을 보고 새 버전이 현재 모델보다 더 나은 성능을 발휘하는지 확인할 수 있습니다.

모델은 모델 레지스트리로 버전 제어되며 각 플랜트에는 자체 모델 패키지 그룹이 있습니다. 또한 모델 레지스트리를 사용하여 어떤 모델 버전이 어떤 환경에 배포되는지 추적할 수 있습니다. 모델은 거부됨, 보류 중인 수동 승인승인 상태에 있는 모델만 승인 상태를 배포할 수 있습니다. 이것은 또한 모델의 승인되지 않은 버전을 실수로 배포하는 것을 방지합니다.

모델 추론 및 모니터링 파이프라인

모델을 배포하고 모델 모니터링을 설정하기 위해 두 번째 SageMaker 파이프라인을 설정합니다. ELC 애플리케이션은 필요에 따라 플랜트 운영자에게 예측을 제공하므로 모델은 ELC 백엔드에서 생성된 API 호출을 통해 액세스됩니다. SageMaker 추론 엔드포인트는 API 계층과 함께 완전히 관리되는 모델 호스팅 솔루션을 제공합니다. 엔드포인트는 모델 입력을 페이로드로 사용하고 예측을 반환합니다. 대기 시간은 업데이트된 예측을 얻기 전에 오래 기다리기를 원하지 않는 최종 사용자에게도 중요한 요소이기 때문에 Yara는 대기 시간 요구 사항이 매우 낮은 워크로드에 특히 적합한 SageMaker 실시간 추론 엔드포인트를 선택했습니다. 마지막으로 ELC 애플리케이션은 업데이트된 모델이 배포되는 동안 다운타임이 있을 수 없기 때문에 SageMaker 실시간 엔드포인트의 블루/그린 배포 기능에 의존하여 새 버전이 배포될 때까지 이전 모델 버전이 계속 예측을 제공하도록 합니다. .

다음 다이어그램은 배포 및 모니터링 설정을 보여줍니다.

SageMaker 추론 파이프라인

모델 모니터링을 위해 Yara는 SageMaker를 실행합니다. 데이터 품질, 모델 품질모델 설명 가능성 모니터링. 데이터 품질 모니터링은 일관성을 확인하고 데이터 배포 통계를 생성합니다. 모델 품질 모니터링은 모델 성능을 확인하고 모델 정확도를 학습 메트릭과 비교합니다.. 모델 모니터링 보고서는 매시간 생성됩니다. 이 보고서는 프로덕션에서 모델 성능을 모니터링하는 데 사용됩니다. 모델 설명 가능성 모니터링은 예측에 가장 많이 기여하는 기능을 이해하는 데 사용됩니다.

이 모델 설명 가능성의 결과는 ELC 대시보드에서 공유되어 플랜트 운영자에게 에너지 소비를 유발하는 요소에 대한 더 많은 컨텍스트를 제공합니다. 이것은 또한 에너지 소비가 최적점에서 벗어난 경우 내부 프로세스를 조정하기 위한 조치 결정을 지원합니다.

CI/CD 흐름

학습 파이프라인의 CI/CD 흐름은 DEV 계정에서 시작됩니다. Yara는 기능 기반 개발 모델을 따르고 새로운 기능이 개발되면 기능 분기가 트렁크에 병합되어 배포가 시작됩니다. ELC 모델은 DEV 계정에서 학습되며 모델이 학습 및 평가된 후 모델 레지스트리에 등록됩니다. 모델 승인자는 모델 상태를 다음으로 업데이트하기 전에 온전성 검사를 수행합니다. 승인. 이 작업은 모델 추론 파이프라인의 배포를 트리거하는 이벤트를 생성합니다. 모델 추론 파이프라인은 새 모델 버전을 DEV의 SageMaker 엔드포인트에 배포합니다.

엔드포인트 배포 후 설정 동작을 확인하는 테스트가 시작됩니다. 테스트를 위해 Yara는 다음을 사용합니다. CodeBuild 테스트 보고서. 이 기능을 통해 개발자는 배포 전후에 단위 테스트, 구성 테스트 및 기능 테스트를 실행할 수 있습니다. 이 경우 Yara는 테스트 페이로드를 SageMaker 엔드포인트에 전달하고 응답을 평가하여 기능 테스트를 실행합니다. 이러한 테스트를 통과한 후 파이프라인은 SageMaker 엔드포인트를 TEST에 배포합니다. ELC 백엔드는 TEST에도 배포되어 이 환경에서 앱에 대한 종단 간 테스트가 가능합니다. 또한 Yara는 TEST에서 사용자 승인 테스트를 실행합니다. TEST에서 PROD 배포로의 트리거는 수동 승인 작업입니다. 새 모델 버전이 TEST에서 기능 및 사용자 승인 테스트를 모두 통과한 후 엔지니어링 팀은 모델 배포를 PROD로 승인합니다.

다음 그림은 이 워크플로를 보여줍니다.

CodePipeline 계획

공통 구성 요소

ELC의 경우 모든 배포 단계(DEV, TEST, PROD) 및 모델에 공통적인 여러 구성 요소를 사용합니다. 이러한 구성 요소는 배포 계정에 상주하며 모델 버전 제어, 컨테이너 이미지 리포지토리, 암호화 키 및 공통 아티팩트를 저장하는 버킷을 포함합니다.

Yara가 Amazon SageMaker의 MLOps 기능을 사용하여 암모니아 공장 전반에 걸쳐 에너지 최적화를 확장하는 방법 PlatoBlockchain Data Intelligence. 수직 검색. 일체 포함.

일반적인 아티팩트를 사용하면 몇 가지 이점이 있습니다. 예를 들어 모든 계정에 대해 리소스를 생성할 필요가 없으므로 계정 간에 호환성이 적용됩니다. 즉, 컨테이너 이미지를 한 번 빌드하고 모든 대상 계정에서 재사용하여 빌드 시간을 단축합니다.

이 파이프라인은 배포 계정의 공통 모델 레지스트리에 다양한 모델 버전을 저장합니다. 이 중앙 위치에서 모델을 이전하지 않고 모든 계정에 모델을 배포할 수 있습니다. 마찬가지로 중앙에 저장된 암호화 키를 사용하면 키 및 교차 계정 권한을 더 쉽게 관리할 수 있습니다.

공통 아티팩트 사용의 한 가지 단점은 새로운 사용 사례의 온보딩 단계가 더 정교해질 수 있다는 것입니다. 새로운 사용 사례를 온보딩하려면 새 모델 레지스트리를 생성하고 필요한 경우 새 컨테이너 이미지 리포지토리를 생성해야 합니다. 또한 리소스와 저장된 데이터를 엄격하게 분리하기 위해 새 암호화 키를 생성하는 것이 좋습니다.

결론

이 게시물에서는 Yara가 SageMaker와 ADF를 사용하여 확장성이 뛰어난 MLOps 플랫폼을 구축한 방법을 시연했습니다. ML은 교차 기능 기능이며 팀은 여러 사업부 계정에 모델을 배포합니다. 따라서 조직과의 기본 통합을 제공하는 ADF는 CI/CD 파이프라인을 설정하기 위해 계정을 부트스트랩하는 데 이상적인 후보입니다. 운영상 ADF 파이프라인은 중앙 배포 계정에서 실행되므로 배포의 전반적인 상태 보기를 쉽게 얻을 수 있습니다. 마지막으로 ADF는 CodeBuild, CodeDeploy, CodePipeline 및 CloudFormation과 같은 AWS 관리형 서비스를 사용하므로 구성 및 유지 관리가 쉽습니다.

SageMaker는 팀이 인프라 구축 및 유지 관리보다 비즈니스 문제 해결에 더 집중할 수 있도록 하는 광범위한 ML 기능을 제공합니다. 또한 SageMaker Pipelines는 ML 워크플로를 생성, 업데이트 및 배포할 수 있는 풍부한 API 세트를 제공하므로 MLOps에 매우 적합합니다.

마지막으로 MLOps는 프로덕션 환경에서 안정적이고 효율적으로 ML 모델을 배포하고 유지 관리하는 모범 사례를 제공합니다. MLOps를 구현하기 위해 규모에 맞게 ML 솔루션을 만들고 배포하는 팀에게 중요합니다. Yara의 경우 MLOps는 새 공장을 온보딩하고 ELC에 업데이트를 배포하고 모델의 품질을 모니터링하는 데 필요한 노력을 크게 줄입니다.

ADF를 사용하여 애플리케이션을 배포하는 방법에 대한 자세한 내용은 .


저자 소개

Yara가 Amazon SageMaker의 MLOps 기능을 사용하여 암모니아 공장 전반에 걸쳐 에너지 최적화를 확장하는 방법 PlatoBlockchain Data Intelligence. 수직 검색. 일체 포함. 샤히어 만수르 AWS의 데이터 과학자입니다. 그의 초점은 AI 솔루션을 대규모로 호스팅할 수 있는 기계 학습 플랫폼을 구축하는 것입니다. 그의 관심 분야는 MLOps, 기능 저장소, 모델 호스팅 및 모델 모니터링입니다.

Yara가 Amazon SageMaker의 MLOps 기능을 사용하여 암모니아 공장 전반에 걸쳐 에너지 최적화를 확장하는 방법 PlatoBlockchain Data Intelligence. 수직 검색. 일체 포함.팀 베커 Yara International의 선임 데이터 과학자입니다. 디지털 생산 내에서 그의 초점은 암모니아 및 질산 생산의 공정 최적화에 있습니다. 그는 열역학 박사 학위를 보유하고 있으며 프로세스 엔지니어링과 기계 학습을 결합하는 데 열정적입니다.

Yara가 Amazon SageMaker의 MLOps 기능을 사용하여 암모니아 공장 전반에 걸쳐 에너지 최적화를 확장하는 방법 PlatoBlockchain Data Intelligence. 수직 검색. 일체 포함.용요스 캐우피타쿤 Yara International 디지털 프로덕션 팀의 선임 데이터 과학자입니다. 그는 AI/머신 러닝 분야의 박사 학위를 보유하고 있으며 머신 러닝, 컴퓨터 비전 및 자연어 처리 모델을 활용하여 까다로운 비즈니스 문제를 해결하는 다년간의 실무 경험을 보유하고 있습니다.

타임 스탬프 :

더보기 AWS 기계 학습