에지에서 시각적 품질 검사를 위한 엔드투엔드 MLOps 파이프라인 구축 - 1부 | 아마존 웹 서비스

에지에서 시각적 품질 검사를 위한 엔드투엔드 MLOps 파이프라인 구축 - 1부 | 아마존 웹 서비스

프로덕션 환경에서 기계 학습(ML) 모델을 성공적으로 배포하려면 엔드투엔드 ML 파이프라인이 크게 좌우됩니다. 이러한 파이프라인을 개발하는 것은 어려울 수 있지만, 다음과 같은 문제를 처리할 때 훨씬 더 복잡해집니다. Edge ML 사용 사례. 엣지에서의 기계 학습은 ML 모델을 엣지 디바이스에 로컬로 실행하는 기능을 제공하는 개념입니다. 이러한 모델을 에지에서 배포, 모니터링 및 유지 관리하려면 강력한 MLOps 파이프라인이 필요합니다. MLOps 파이프라인을 사용하면 데이터 라벨링부터 모델 교육 및 배포까지 전체 ML 수명주기를 자동화할 수 있습니다.

에지에서 MLOps 파이프라인을 구현하면 관련된 운영 오버헤드 증가로 인해 자동화, 통합 및 유지 관리 프로세스가 더욱 어려워지는 추가적인 복잡성이 발생합니다. 그러나 다음과 같은 특수 목적 서비스를 사용하면 아마존 세이지 메이커AWS IoT 그린그래스 이러한 노력을 크게 줄일 수 있습니다. 이 시리즈에서는 SageMaker, AWS IoT Greengrass 및 AWS 클라우드 개발 키트 (AWS CDK).

이 게시물은 전체 MLOps 파이프라인 아키텍처 설계에 중점을 둡니다. 파트 2파트 3 이 시리즈에서는 개별 구성 요소의 구현에 중점을 둡니다. 우리는 첨부된 샘플 구현을 제공했습니다. GitHub 저장소 당신이 스스로 시도해 볼 수 있도록. AWS 엣지에서 MLOps를 막 시작했다면 다음을 참조하세요. Amazon SageMaker Edge Manager 및 AWS IoT Greengrass를 사용한 엣지에서의 MLOps 개요 및 참조 아키텍처를 확인하세요.

사용 사례: 금속 태그의 품질 검사

ML 엔지니어로서 작업 중인 비즈니스 사례를 이해하는 것이 중요합니다. 따라서 MLOps 파이프라인 아키텍처를 살펴보기 전에 이 게시물의 샘플 사용 사례를 살펴보겠습니다. 금속 태그를 조각하여 맞춤형 수하물 태그를 만드는 제조업체의 생산 라인을 상상해 보십시오. 원시 금속 태그에 스크래치와 같은 결함이 있는지 수동으로 검사해야 하기 때문에 품질 보증 프로세스에는 비용이 많이 듭니다. 이 프로세스를 보다 효율적으로 만들기 위해 우리는 ML을 사용하여 프로세스 초기에 잘못된 태그를 감지합니다. 이는 생산 공정의 후반 단계에서 비용이 많이 드는 결함을 방지하는 데 도움이 됩니다. 모델은 긁힘과 같은 가능한 결함을 거의 실시간으로 식별하고 표시해야 합니다. 제조 현장 환경에서는 연결이 없거나 대역폭이 제한되고 지연 시간이 늘어나는 문제를 해결해야 하는 경우가 많습니다. 따라서 우리는 작업 현장에서 로컬로 추론을 실행하고 연결과 관련된 요구 사항을 줄일 수 있는 시각적 품질 검사를 위한 최첨단 ML 솔루션을 구현하려고 합니다. 예제를 간단하게 유지하기 위해 감지된 스크래치를 경계 상자로 표시하는 모델을 교육합니다. 다음 이미지는 세 개의 스크래치가 표시된 데이터세트의 태그 예입니다.

긁힌 자국이 있는 금속 태그

파이프라인 아키텍처 정의

이제 우리는 사용 사례와 우리가 해결하려는 특정 ML 문제(에지에서의 객체 감지를 중심으로 진행됨)에 대해 명확성을 얻었습니다. 이제 MLOps 파이프라인을 위한 아키텍처 초안을 작성할 차례입니다. 이 단계에서는 아직 기술이나 특정 서비스를 살펴보는 것이 아니라 파이프라인의 상위 수준 구성 요소를 살펴보고 있습니다. 신속하게 재교육하고 배포하려면 데이터 라벨링부터 교육, 추론까지 전체 엔드투엔드 프로세스를 자동화해야 합니다. 그러나 특별한 경우에 대한 파이프라인 설정을 특히 어렵게 만드는 몇 가지 과제가 있습니다.

  • 이 프로세스의 다양한 부분을 구축하려면 다양한 기술이 필요합니다. 예를 들어 데이터 라벨링 및 교육은 데이터 과학에 중점을 두고 있으며, 엣지 배포에는 사물 인터넷(IoT) 전문가가 필요하며, 전체 프로세스 자동화는 일반적으로 DevOps 기술을 갖춘 사람이 수행합니다.
  • 조직에 따라 이 전체 프로세스를 여러 팀에서 구현할 수도 있습니다. 사용 사례의 경우 별도의 팀이 라벨링, 교육 및 배포를 담당한다는 가정하에 작업하고 있습니다.
  • 더 많은 역할과 기술 세트는 도구 및 프로세스와 관련하여 다양한 요구 사항을 의미합니다. 예를 들어 데이터 과학자는 익숙한 노트북 환경을 모니터링하고 작업하기를 원할 수 있습니다. MLOps 엔지니어는 IaC(코드형 인프라) 도구를 사용하여 작업하기를 원하며 AWS 관리 콘솔.

이는 파이프라인 아키텍처에 무엇을 의미합니까?

첫째, 서로 다른 팀이 독립적으로 작업할 수 있도록 하는 엔드투엔드 시스템의 주요 구성 요소를 명확하게 정의하는 것이 중요합니다. 둘째, 협업 효율성을 높이기 위해서는 팀 간 인터페이스가 잘 정의되어야 합니다. 이러한 인터페이스는 팀 간의 중단을 최소화하는 데 도움이 되며 정의된 인터페이스를 준수하는 한 필요에 따라 내부 프로세스를 수정할 수 있습니다. 다음 다이어그램은 컴퓨터 비전 파이프라인의 모습을 보여줍니다.

MLOps 파이프라인 낙서

MLOps 파이프라인의 전체 아키텍처를 자세히 살펴보겠습니다.

  1. 이 프로세스는 생산 환경에서 엣지 카메라 장치를 사용하여 캡처하여 초기 교육 데이터 세트를 형성하는 금속 태그의 원시 이미지 모음으로 시작됩니다.
  2. 다음 단계에서는 이러한 이미지에 레이블을 지정하고 경계 상자를 사용하여 결함을 표시하는 작업이 포함됩니다. 레이블이 지정된 데이터세트의 버전을 지정하여 활용된 교육 데이터에 대한 추적성과 책임성을 보장하는 것이 중요합니다.
  3. 레이블이 지정된 데이터 세트가 있으면 모델 교육, 미세 조정, 평가 및 버전 관리를 진행할 수 있습니다.
  4. 모델 성능에 만족하면 모델을 에지 장치에 배포하고 에지에서 실시간 추론을 실행할 수 있습니다.
  5. 모델이 생산 중에 작동하는 동안 엣지 카메라 장치는 이전에 볼 수 없었던 결함과 엣지 케이스가 포함된 귀중한 이미지 데이터를 생성합니다. 이 데이터를 사용하여 모델 성능을 더욱 향상시킬 수 있습니다. 이를 달성하기 위해 모델이 낮은 신뢰도로 예측하거나 잘못된 예측을 하는 이미지를 저장합니다. 그런 다음 이러한 이미지가 원시 데이터 세트에 다시 추가되어 전체 프로세스가 다시 시작됩니다.

원시 이미지 데이터, 레이블이 지정된 데이터세트, 훈련된 모델이 서로 다른 파이프라인 사이에서 잘 정의된 인터페이스 역할을 한다는 점에 유의하는 것이 중요합니다. MLOps 엔지니어와 데이터 과학자는 이러한 아티팩트를 지속적으로 생성하는 한 파이프라인 내에서 기술을 선택할 수 있는 유연성을 갖습니다. 가장 중요한 점은 폐쇄형 피드백 루프를 구축했다는 것입니다. 프로덕션에서 수행된 잘못되었거나 신뢰도가 낮은 예측을 사용하여 데이터 세트를 정기적으로 늘리고 모델을 자동으로 재교육하고 향상시킬 수 있습니다.

대상 아키텍처

이제 높은 수준의 아키텍처가 구축되었으므로 한 수준 더 깊이 들어가 AWS 서비스를 사용하여 이를 구축할 수 있는 방법을 살펴볼 차례입니다. 이 게시물에 표시된 아키텍처는 전체 데이터 과학 프로세스를 완전히 제어하려고 한다고 가정합니다. 그러나 가장자리에서 품질 검사를 이제 막 시작했다면 다음을 권장합니다. 비전을위한 Amazon Lookout. ML 코드를 구축, 유지 관리 또는 이해하지 않고도 자체 품질 검사 모델을 교육할 수 있는 방법을 제공합니다. 자세한 내용은 다음을 참조하세요. Amazon Lookout for Vision은 이제 에지에서 제품 결함의 육안 검사를 지원합니다..

그러나 모든 권한을 갖고 싶다면 다음 다이어그램을 통해 아키텍처의 모습을 확인할 수 있습니다.

MLOps 파이프라인 아키텍처

이전과 마찬가지로 워크플로를 단계별로 살펴보고 요구 사항에 적합한 AWS 서비스를 식별해 보겠습니다.

  1. 아마존 단순 스토리지 서비스 (Amazon S3)은 저렴한 스토리지 솔루션을 제공하기 때문에 원시 이미지 데이터를 저장하는 데 사용됩니다.
  2. 라벨링 작업 흐름은 다음을 사용하여 조정됩니다. AWS 단계 함수, 라벨링 워크플로의 단계를 쉽게 조정할 수 있게 해주는 서버리스 워크플로 엔진입니다. 이 워크플로의 일부로 우리는 다음을 사용합니다. 아마존 세이지 메이커 그라운드 진실 라벨링 작업과 관리 인력을 사용하여 라벨링을 완전히 자동화합니다. AWS 람다 데이터를 준비하고, 라벨링 작업을 시작하고, 라벨을 저장하는 데 사용됩니다. Amazon SageMaker 기능 스토어.
  3. SageMaker Feature Store는 레이블을 저장합니다. 이를 통해 기능을 중앙에서 관리하고 공유할 수 있으며 내장된 데이터 버전 관리 기능을 제공하여 파이프라인을 더욱 강력하게 만듭니다.
  4. 우리는 다음을 사용하여 모델 구축 및 훈련 파이프라인을 조율합니다. Amazon SageMaker 파이프 라인. 내장된 단계를 통해 필요한 다른 SageMaker 기능과 통합됩니다. SageMaker 교육 작업 모델 훈련을 자동화하는 데 사용됩니다. SageMaker 처리 작업 데이터를 준비하고 모델 성능을 평가하는 데 사용됩니다. 이 예에서는 Ultralytics YOLOv8 객체 감지 모델을 훈련하고 Python으로 내보내는 Python 패키지 및 모델 아키텍처 ONNX 이식성을 위한 ML 모델 형식입니다.
  5. 성능이 만족스러우면 훈련된 모델이 등록됩니다. Amazon SageMaker 모델 레지스트리 증분 버전 번호가 첨부되어 있습니다. 이는 모델 교육과 에지 배포 단계 사이의 인터페이스 역할을 합니다. 여기서는 모델의 승인 상태도 관리합니다. 사용되는 다른 서비스와 마찬가지로 완전 관리형이므로 자체 인프라 실행을 관리할 필요가 없습니다.
  6. 엣지 배포 워크플로는 레이블 지정 워크플로와 유사하게 Step Functions를 사용하여 자동화됩니다. Step Functions의 API 통합을 사용하면 AWS IoT Greengrass와 같은 다양한 필수 AWS 서비스 API를 쉽게 호출하여 새로운 모델 구성 요소를 생성한 후 해당 구성 요소를 엣지 디바이스에 배포할 수 있습니다.
  7. AWS IoT Greengrass는 엣지 디바이스 런타임 환경으로 사용됩니다. 에지에서 모델 및 추론 구성 요소의 배포 수명 주기를 관리합니다. 이를 통해 간단한 API 호출을 사용하여 모델 및 추론 구성 요소의 새 버전을 쉽게 배포할 수 있습니다. 또한 에지의 ML 모델은 일반적으로 단독으로 실행되지 않습니다. 우리는 다양하게 사용할 수 있어요 AWS커뮤니티 다른 서비스에 연결하기 위해 AWS IoT Greengrass의 구성 요소를 제공했습니다.

설명된 아키텍처는 이전에 표시된 상위 수준 아키텍처와 유사합니다. Amazon S3, SageMaker Feature Store 및 SageMaker 모델 레지스트리는 다양한 파이프라인 간의 인터페이스 역할을 합니다. 솔루션을 실행하고 운영하는 노력을 최소화하기 위해 가능한 한 관리형 및 서버리스 서비스를 사용합니다.

강력한 CI/CD 시스템으로 병합

데이터 라벨링, 모델 교육 및 엣지 배포 단계는 우리 솔루션의 핵심입니다. 따라서 해당 부분의 기본 코드 또는 데이터와 관련된 모든 변경 사항은 전체 오케스트레이션 프로세스의 새로운 실행을 트리거해야 합니다. 이를 달성하려면 버전이 지정된 코드 저장소의 코드 및 인프라 변경 사항을 프로덕션에 자동으로 배포할 수 있는 CI/CD 시스템에 이 파이프라인을 통합해야 합니다. 이전 아키텍처와 마찬가지로 여기서는 팀 자율성이 중요한 측면입니다. 다음 다이어그램은 AWS 서비스를 사용하면 어떤 모습일 수 있는지 보여줍니다.

CI/CD 파이프라인

CI/CD 아키텍처를 살펴보겠습니다.

  1. AWS 코드 커밋 Git 저장소 역할을 합니다. 단순화를 위해 제공된 샘플에서는 단일 Git 저장소의 하위 폴더를 통해 고유한 부분(레이블 지정, 모델 교육, 에지 배포)을 분리했습니다. 실제 시나리오에서는 각 팀이 각 파트에 대해 서로 다른 저장소를 사용할 수 있습니다.
  2. 인프라 배포는 AWS CDK를 사용하여 자동화되며 각 부분(레이블 지정, 교육 및 엣지)은 자체 AWS CDK 앱을 가져오므로 독립적인 배포가 가능합니다.
  3. AWS CDK 파이프라인 기능은 다음을 사용합니다. AWS 코드 파이프라인 인프라 및 코드 배포를 자동화합니다.
  4. AWS CDK는 각 단계마다 자산 파이프라인과 워크플로 파이프라인이라는 두 개의 코드 파이프라인을 배포합니다. 자산 변경이 없는 경우(예: 교육에 사용할 수 있는 새 이미지가 있는 경우) 워크플로를 별도로 시작할 수 있도록 워크플로를 자산 배포와 분리했습니다.
    • 자산 코드 파이프라인은 워크플로를 성공적으로 실행하는 데 필요한 모든 인프라를 배포합니다. AWS 자격 증명 및 액세스 관리 (IAM) 역할, Lambda 함수 및 교육 중에 사용되는 컨테이너 이미지입니다.
    • 워크플로 코드 파이프라인은 실제 레이블 지정, 교육 또는 에지 배포 워크플로를 실행합니다.
  5. 자산 파이프라인은 커밋 시뿐 아니라 이전 워크플로 파이프라인이 완료될 때 자동으로 트리거됩니다.
  6. 전체 프로세스는 다음을 사용하여 일정에 따라 트리거됩니다. 아마존 이벤트 브리지 정기적인 재교육을 위한 규칙입니다.

CI/CD 통합을 통해 전체 엔드투엔드 체인이 이제 완전히 자동화되었습니다. 파이프라인은 git 저장소의 코드가 변경될 때마다 그리고 데이터 변경을 수용하기 위한 일정에 따라 트리거됩니다.

앞서 생각

설명된 솔루션 아키텍처는 에지에서 엔드투엔드 MLOps 파이프라인을 구축하기 위한 기본 구성 요소를 나타냅니다. 그러나 요구 사항에 따라 추가 기능을 추가하는 것을 고려할 수도 있습니다. 다음은 몇 가지 예입니다.

결론

이 게시물에서는 AWS 서비스를 사용하여 엣지에서 시각적 품질 검사를 위한 엔드투엔드 MLOps 파이프라인을 구축하기 위한 아키텍처를 간략하게 설명했습니다. 이 아키텍처는 데이터 라벨링, 모델 개발, 엣지 배포를 포괄하는 전체 프로세스를 간소화하여 새로운 버전의 모델을 신속하고 안정적으로 교육하고 구현할 수 있도록 해줍니다. 서버리스 및 관리형 서비스를 통해 인프라 관리보다는 비즈니스 가치 제공에 집중할 수 있습니다.

In 파트 2 이 시리즈에서는 한 단계 더 깊이 파고들어 이 아키텍처의 구현, 특히 라벨링 및 모델 구축을 더 자세히 살펴보겠습니다. 코드로 바로 이동하려면 다음을 확인하세요. GitHub 레포.


저자 소개

마이클 로스마이클 로스 그는 독일의 제조 고객이 AWS 기술을 통해 비즈니스 과제를 해결할 수 있도록 지원하는 AWS의 수석 솔루션 아키텍트입니다. 일과 가족 외에도 그는 스포츠카에 관심이 있고 이탈리아 커피를 즐깁니다.

외르그 뵐레외르그 뵐레 AWS의 솔루션스 아키텍트로서 독일의 제조 고객과 협력하고 있습니다. 자동화에 대한 열정으로 Joerg는 AWS 이전에 소프트웨어 개발자, DevOps 엔지니어 및 사이트 안정성 엔지니어로 일했습니다. 클라우드 외에도 그는 야심찬 달리기 선수이며 가족과 함께 좋은 시간을 즐깁니다. 따라서 DevOps 문제가 있거나 실행에 참여하고 싶다면 그에게 알려주십시오.

요하네스 랑거요하네스 랑거 그는 독일의 기업 고객과 협력하고 있는 AWS의 수석 솔루션 아키텍트입니다. Johannes는 기계 학습을 적용하여 실제 비즈니스 문제를 해결하는 데 열정을 갖고 있습니다. 개인 생활에서 Johannes는 주택 개조 프로젝트에 참여하고 가족과 함께 야외에서 시간을 보내는 것을 즐깁니다.

타임 스탬프 :

더보기 AWS 기계 학습