이는 에지에서 시각적 품질 검사를 위한 MLOps 파이프라인을 설계하고 구현하는 시리즈의 3부입니다. 이 게시물에서는 엔드투엔드 MLOps 파이프라인의 에지 배포 부분을 자동화하는 방법에 중점을 둡니다. 사용법을 알려드리겠습니다 AWS IoT 그린그래스 에지에서 모델 추론을 관리하고 다음을 사용하여 프로세스를 자동화하는 방법 AWS 단계 함수 및 기타 AWS 서비스.
솔루션 개요
In 파트 1 이 시리즈에서는 데이터 라벨링부터 모델 교육 및 엣지 배포까지 전체 기계 학습(ML) 프로세스를 자동화하는 엔드투엔드 MLOps 파이프라인을 위한 아키텍처를 마련했습니다. ~ 안에 파트 2, 파이프라인의 라벨링 및 모델 학습 부분을 자동화하는 방법을 보여주었습니다.
이 시리즈에 사용된 샘플 사용 사례는 제조 프로세스의 일부로 배포할 수 있는 금속 태그의 결함을 감지할 수 있는 시각적 품질 검사 솔루션입니다. 다음 다이어그램은 이 시리즈의 시작 부분에서 정의한 MLOps 파이프라인의 상위 수준 아키텍처를 보여줍니다. 아직 읽어보지 않으셨다면 꼭 읽어보시길 추천드립니다 파트 1.
ML 모델의 엣지 배포 자동화
ML 모델을 교육하고 평가한 후에는 프로덕션 시스템에 배포하여 들어오는 데이터에 대한 예측을 통해 비즈니스 가치를 창출해야 합니다. 이 프로세스는 모델이 훈련된 클라우드 환경에서 멀리 떨어진 장치에서 모델을 배포하고 실행해야 하는 엣지 설정에서 빠르게 복잡해질 수 있습니다. 다음은 엣지 머신러닝의 고유한 과제 중 일부입니다.
- 에지 장치의 리소스 제약으로 인해 ML 모델을 최적화해야 하는 경우가 많습니다.
- Edge 장치는 클라우드의 서버처럼 재배포하거나 교체할 수 없으므로 강력한 모델 배포 및 장치 관리 프로세스가 필요합니다.
- 장치와 클라우드 간의 통신은 신뢰할 수 없는 낮은 대역폭 네트워크를 통과하는 경우가 많기 때문에 효율적이고 안전해야 합니다.
ONNX 형식으로 모델을 내보내는 것 외에도 AWS 서비스를 사용하여 이러한 문제를 어떻게 해결할 수 있는지 살펴보겠습니다. 이를 통해 예를 들어 제약 장치의 모델 크기를 줄이기 위해 양자화와 같은 최적화를 적용할 수 있습니다. ONNX는 또한 가장 일반적인 에지 하드웨어 플랫폼에 최적화된 런타임을 제공합니다.
에지 배포 프로세스를 세분화하면 다음 두 가지 구성 요소가 필요합니다.
- 모델 자체와 모델을 관리하고 모델과 상호 작용하는 일부 비즈니스 로직을 포함하는 모델 제공을 위한 배포 메커니즘
- 이를 강력하고 반복 가능하게 만들기 위해 전체 프로세스를 조율할 수 있는 워크플로우 엔진
이 예에서는 다양한 AWS 서비스를 사용하여 논의한 모든 필수 구성 요소를 통합하는 자동화된 엣지 배포 메커니즘을 구축합니다.
먼저 엣지 디바이스를 시뮬레이션합니다. 엔드투엔드 워크플로를 쉽게 진행하기 위해 우리는 다음을 사용합니다. 아마존 엘라스틱 컴퓨트 클라우드 (Amazon EC2) 인스턴스에 AWS IoT Greengrass Core 소프트웨어를 설치하여 엣지 디바이스를 시뮬레이션합니다. 실제 엣지 프로덕션 디바이스에 배포하기 전에 EC2 인스턴스를 사용하여 QA 프로세스의 다양한 구성 요소를 검증할 수도 있습니다. AWS IoT Greengrass는 엣지 디바이스 소프트웨어를 구축, 배포 및 관리하는 데 도움이 되는 사물 인터넷(IoT) 오픈 소스 엣지 런타임 및 클라우드 서비스입니다. AWS IoT Greengrass는 안전하고 확장 가능한 방식으로 엣지 디바이스 소프트웨어를 구축, 배포 및 관리하는 노력을 줄여줍니다. 디바이스에 AWS IoT Greengrass 코어 소프트웨어를 설치한 후 기능과 구성 요소를 추가 또는 제거하고 AWS IoT Greengrass를 사용하여 IoT 디바이스 애플리케이션을 관리할 수 있습니다. StreamManager 및 MQTT 브로커 구성 요소와 같이 사용자의 삶을 더 쉽게 만들어 주는 다양한 내장 구성 요소를 제공합니다. 이를 통해 클라우드와 안전하게 통신하고 엔드투엔드 암호화를 지원하는 데 사용할 수 있습니다. 이러한 기능을 사용하면 추론 결과와 이미지를 효율적으로 업로드할 수 있습니다.
프로덕션 환경에서는 일반적으로 ML 모델이 예측을 생성해야 하는 이미지를 제공하는 산업용 카메라가 있습니다. 설정을 위해 이미지 사전 설정을 에지 디바이스의 특정 디렉터리에 업로드하여 이 이미지 입력을 시뮬레이션합니다. 그런 다음 이러한 이미지를 모델의 추론 입력으로 사용합니다.
우리는 클라우드 학습 ML 모델을 엣지 환경에 배포하고 예측에 사용하기 위해 전체 배포 및 추론 프로세스를 세 가지 연속 단계로 나누었습니다.
- Prepare – 엣지 배포를 위해 훈련된 모델을 패키징합니다.
- 배포 – 모델 및 추론 구성 요소를 클라우드에서 엣지 장치로 전송합니다.
- 추론 – 모델을 로드하고 이미지 예측을 위한 추론 코드를 실행합니다.
다음 아키텍처 다이어그램은 이 XNUMX단계 프로세스의 세부 정보와 이를 AWS 서비스로 구현한 방법을 보여줍니다.
다음 섹션에서는 각 단계의 세부 정보를 논의하고 ML 모델과 해당 추론 코드 모두에 대해 자동화되고 반복 가능한 오케스트레이션과 CI/CD 워크플로에 이 프로세스를 포함하는 방법을 보여줍니다.
Prepare
엣지 디바이스는 강력한 CPU와 GPU가 ML 모델을 쉽게 실행할 수 있는 클라우드 환경에 비해 제한된 컴퓨팅과 메모리를 제공하는 경우가 많습니다. 다양한 모델 최적화 기술을 사용하면 특정 소프트웨어 또는 하드웨어 플랫폼에 맞게 모델을 맞춤화하여 정확도를 잃지 않고 예측 속도를 높일 수 있습니다.
이 예에서는 이동성, 가능한 최적화 및 최적화된 에지 런타임을 위해 훈련 파이프라인의 훈련된 모델을 ONNX 형식으로 내보내고 모델을 등록했습니다. Amazon SageMaker 모델 레지스트리. 이 단계에서는 후속 배포를 위해 최근 등록된 모델을 포함하는 새로운 Greengrass 모델 구성 요소를 생성합니다.
배포
클라우드에서 엣지 장치로 모델을 배포할 때는 안전하고 안정적인 배포 메커니즘이 핵심입니다. AWS IoT Greengrass에는 이미 강력하고 안전한 엣지 배포 시스템이 통합되어 있으므로 이를 배포 목적으로 사용하고 있습니다. 배포 프로세스를 자세히 살펴보기 전에 AWS IoT Greengrass 배포가 어떻게 작동하는지 간단히 요약해 보겠습니다. AWS IoT Greengrass 배포 시스템의 핵심은 다음과 같습니다. 구성 요소들는 AWS IoT Greengrass Core를 실행하는 엣지 디바이스에 배포되는 소프트웨어 모듈을 정의합니다. 이는 사용자가 구축한 비공개 구성 요소이거나 다음 중 하나에서 제공되는 공개 구성 요소일 수 있습니다. AWS 아니면 더 넓은 그린그래스 커뮤니티. 배포의 일부로 여러 구성 요소를 함께 묶을 수 있습니다. 배포 구성은 배포에 포함된 구성 요소와 배포의 대상 장치를 정의합니다. 배포 구성 파일(JSON)에서 정의하거나 새 배포를 생성할 때 AWS IoT Greengrass 콘솔을 통해 정의할 수 있습니다.
다음 두 가지 Greengrass 구성 요소를 생성한 후 배포 프로세스를 통해 엣지 디바이스에 배포합니다.
- 패키지 모델(전용 구성 요소) – 이 구성 요소에는 ONNX 형식의 훈련된 ML 모델이 포함되어 있습니다.
- 추론 코드(비공개 구성요소) – ML 모델 자체 외에도 데이터 준비, 추론을 위한 모델과의 통신, 추론 결과 후처리와 같은 작업을 처리하기 위한 일부 애플리케이션 로직을 구현해야 합니다. 이 예에서는 다음 작업을 처리하기 위해 Python 기반 프라이빗 구성 요소를 개발했습니다.
- Ultralytics YOLOv8 Python 패키지와 같은 필수 런타임 구성 요소를 설치합니다.
- 카메라 라이브 스트림에서 이미지를 가져오는 대신 특정 디렉터리에서 준비된 이미지를 로드하고 모델 입력 요구 사항에 따라 이미지 데이터를 준비하여 이를 시뮬레이션합니다.
- 준비된 이미지 데이터를 사용하여 로드된 모델에 대해 추론 호출을 수행합니다.
- 예측을 확인하고 추론 결과를 클라우드에 다시 업로드하세요.
우리가 구축한 추론 코드를 더 자세히 살펴보고 싶다면 다음을 참조하세요. GitHub 레포.
추론
앞서 언급한 구성 요소의 배포가 완료된 후 에지 장치의 모델 추론 프로세스가 자동으로 시작됩니다. 사용자 지정 추론 구성 요소는 로컬 디렉터리의 이미지를 사용하여 ML 모델을 주기적으로 실행합니다. 모델에서 반환된 이미지당 추론 결과는 다음 내용을 포함하는 텐서입니다.
- 신뢰도 점수 – 모델이 탐지에 대해 얼마나 확신하는가
- 객체 좌표 – 이미지에서 모델이 감지한 스크래치 개체 좌표(x, y, 너비, 높이)
우리의 경우 추론 구성 요소는 추론 결과를 AWS IoT의 특정 MQTT 주제로 전송하여 추가 처리를 위해 읽을 수 있도록 합니다. 이러한 메시지는 디버깅을 위해 AWS IoT 콘솔의 MQTT 테스트 클라이언트를 통해 볼 수 있습니다. 생산 환경에서는 생산 라인에서 결함이 있는 금속 태그를 제거하는 작업을 담당하는 다른 시스템에 자동으로 알리도록 결정할 수 있습니다.
오케스트레이션
이전 섹션에서 살펴본 것처럼 ML 모델, 해당 추론 코드, 필요한 런타임 또는 에이전트를 엣지 디바이스에 준비하고 배포하려면 여러 단계가 필요합니다. Step Functions는 이러한 전용 단계를 조율하고 상태 시스템 형태로 워크플로를 설계할 수 있는 완전관리형 서비스입니다. 이 서비스의 서버리스 특성과 AWS 서비스 API 통합과 같은 기본 Step Functions 기능을 통해 이 워크플로를 빠르게 설정할 수 있습니다. 재시도 또는 로깅과 같은 기본 제공 기능은 강력한 오케스트레이션을 구축하는 데 중요한 포인트입니다. 상태 머신 정의 자체에 대한 자세한 내용은 다음을 참조하세요. GitHub 저장소 또는 이 예제를 계정에 배포한 후 Step Functions 콘솔에서 상태 머신 그래프를 확인하세요.
인프라 배포 및 CI/CD로 통합
필요한 모든 인프라 구성요소를 통합하고 구축하기 위한 CI/CD 파이프라인은 다음에 설명된 것과 동일한 패턴을 따릅니다. 파트 1 이 시리즈의. 우리는 AWS 클라우드 개발 키트 (AWS CDK)에서 필요한 파이프라인을 배포합니다. AWS 코드 파이프라인.
학습
자동화되고 강력하며 안전한 ML 모델 에지 배포 시스템을 위한 아키텍처를 구축하는 방법에는 여러 가지가 있으며, 이는 사용 사례 및 기타 요구 사항에 따라 크게 달라지는 경우가 많습니다. 하지만 여기서 우리가 여러분과 공유하고 싶은 몇 가지 교훈은 다음과 같습니다.
- 추가될 경우 사전 평가 AWS IoT Greengrass 컴퓨팅 리소스 요구 사항 특히 제한된 에지 장치의 경우 케이스에 적합합니다.
- 전송 중에 변조가 발생하지 않도록 에지 장치에서 실행하기 전에 배포된 아티팩트의 확인 단계를 통합하는 배포 메커니즘을 설정합니다.
- 독립적으로 배포할 수 있도록 AWS IoT Greengrass의 배포 구성 요소를 모듈식 및 독립형으로 유지하는 것이 좋습니다. 예를 들어 상대적으로 작은 추론 코드 모듈이 있지만 크기 측면에서 큰 ML 모델이 있는 경우 추론 코드만 변경된 경우 두 모듈을 모두 배포하고 싶지 않을 수도 있습니다. 이는 대역폭이 제한되어 있거나 에지 장치 연결 비용이 높을 때 특히 중요합니다.
결론
이것으로 에지에서 시각적 품질 검사를 위한 엔드투엔드 MLOps 파이프라인 구축에 대한 XNUMX부 시리즈를 마칩니다. 모델 패키징이나 복잡한 배포 오케스트레이션과 같은 에지에서 ML 모델을 배포할 때 발생하는 추가 과제를 살펴보았습니다. 우리는 강력하고 안전하며 반복 가능하고 추적 가능한 방식으로 모델을 생산에 투입할 수 있도록 완전히 자동화된 방식으로 파이프라인을 구현했습니다. 이 시리즈에서 개발된 아키텍처와 구현을 다음 ML 지원 프로젝트의 시작점으로 자유롭게 사용해 보세요. 귀하의 환경에 맞게 시스템을 설계하고 구축하는 방법에 대해 질문이 있는 경우 손을 내밀다. 다른 주제와 사용 사례는 다음을 참조하세요. 기계 학습 및 만약 IoT 블로그.
저자 소개
마이클 로스 그는 독일의 제조 고객이 AWS 기술을 통해 비즈니스 과제를 해결할 수 있도록 지원하는 AWS의 수석 솔루션 아키텍트입니다. 일과 가족 외에도 그는 스포츠카에 관심이 있고 이탈리아 커피를 즐깁니다.
외르그 뵐레 AWS의 솔루션스 아키텍트로서 독일의 제조 고객과 협력하고 있습니다. 자동화에 대한 열정으로 Joerg는 AWS 이전에 소프트웨어 개발자, DevOps 엔지니어 및 사이트 안정성 엔지니어로 일했습니다. 클라우드 외에도 그는 야심찬 달리기 선수이며 가족과 함께 좋은 시간을 즐깁니다. 따라서 DevOps 문제가 있거나 실행에 참여하고 싶다면 그에게 알려주십시오.
요하네스 랑거 그는 독일의 기업 고객과 협력하고 있는 AWS의 수석 솔루션 아키텍트입니다. Johannes는 기계 학습을 적용하여 실제 비즈니스 문제를 해결하는 데 열정을 갖고 있습니다. 개인 생활에서 Johannes는 주택 개조 프로젝트에 참여하고 가족과 함께 야외에서 시간을 보내는 것을 즐깁니다.
- SEO 기반 콘텐츠 및 PR 배포. 오늘 증폭하십시오.
- PlatoData.Network 수직 생성 Ai. 자신에게 권한을 부여하십시오. 여기에서 액세스하십시오.
- PlatoAiStream. 웹3 인텔리전스. 지식 증폭. 여기에서 액세스하십시오.
- 플라톤ESG. 탄소, 클린테크, 에너지, 환경, 태양광, 폐기물 관리. 여기에서 액세스하십시오.
- PlatoHealth. 생명 공학 및 임상 시험 인텔리전스. 여기에서 액세스하십시오.
- 출처: https://aws.amazon.com/blogs/machine-learning/build-an-end-to-end-mlops-pipeline-for-visual-quality-inspection-at-the-edge-part-3/
- :있다
- :이다
- :어디
- $UP
- 150
- 7
- a
- 할 수 있는
- 소개
- 에 따르면
- 계정
- 실제
- 더하다
- 또한
- 추가
- 전진
- 후
- 반대
- 에이전트
- All
- 수
- 수
- 이미
- 또한
- 항상
- 아마존
- Amazon EC2
- Amazon Web Services
- 거창한
- an
- 및
- 다른
- 어떤
- API를
- 어플리케이션
- 어플리케이션
- 신청
- 적용
- 아키텍처
- 있군요
- AS
- 산
- At
- 자동화
- 자동화
- 오토마타
- 자동적으로
- 자동화
- 떨어져
- AWS
- AWS IoT 그린그래스
- 뒤로
- 대역폭
- BE
- 때문에
- 가
- 된
- 전에
- 처음
- 게다가
- 사이에
- 그 너머
- 큰
- 블로그
- 두
- 더 넓은
- 브로커
- 빌드
- 건물
- 내장
- 내장
- 번들
- 사업
- 비자 면제 프로그램에 해당하는 국가의 시민권을 가지고 있지만
- by
- 통화
- 카메라
- CAN
- 기능
- 한
- 자동차
- 케이스
- 가지 경우
- 도전
- 과제
- 변경
- 검사
- 확인
- 클라이언트
- 클라우드
- 암호
- 커피
- 왔다
- 공통의
- 소통
- 의사 소통
- 비교
- 복잡한
- 구성 요소
- 구성 요소들
- 계산
- 자신감
- 구성
- 입/출력 라인
- 연속적인
- 콘솔에서
- 제약
- 이 포함되어 있습니다
- 함유량
- 핵심
- 핵심 소프트웨어
- 동
- 비용
- 만들
- 만들기
- 관습
- 고객
- 데이터
- 데이터 준비
- 결정하다
- 전용
- 깊이
- 밝히다
- 한정된
- 정의
- 정의
- 배달
- 배달
- 의존하는
- 배포
- 배포
- 배치
- 전개
- 배포
- 디자인
- 세부 묘사
- 세부설명
- 검색
- 탐지 된
- 개발
- 개발자
- 개발
- 장치
- 디바이스
- 다른
- 토론
- 논의 된
- 분할 된
- do
- 말라
- 아래 (down)
- 두
- ...동안
- 마다
- 쉽게
- 용이하게
- Edge
- 효율적인
- 효율적으로
- 노력
- 중
- 포함
- 암호화
- 끝으로 종료
- 엔진
- 기사
- 확인
- Enterprise
- 전체의
- 환경
- 특히
- 평가
- 조차
- 예
- 가족
- 멀리
- 패션
- 결함
- 특징
- 세 연령의 아시안이
- 를
- 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에
- 맞게
- 초점
- 수행원
- 다음
- 럭셔리
- 형태
- 체재
- 무료
- 에
- 충분히
- 기능
- 추가
- 생성
- 독일
- Go
- 좋은
- GPU
- 그래프
- 핸들
- 일이
- 하드웨어
- 있다
- 신장
- 도움이
- 여기에서 지금 확인해 보세요.
- 높은
- 고수준
- 그를
- 그의
- 홈
- 방법
- How To
- 그러나
- HTML
- HTTP
- HTTPS
- if
- 영상
- 형상
- 구현
- 이행
- 구현
- 중대한
- 개량
- in
- 포함
- 포함
- 포함
- 들어오는
- 증가
- 독립하여
- 산업
- 인프라
- 입력
- 설치
- 설치
- 예
- 통합
- 통합
- 완성
- 통합
- 상호 작용하는
- 관심있는
- 인터넷
- 사물의 인터넷
- 으로
- IOT
- IoT 장치
- IT
- 이탈리아 사람
- 그 자체
- JPG
- JSON
- 다만
- 유지
- 키
- 알아
- 레이블링
- 최근
- 배우기
- 하자
- 생활
- 처럼
- 제한된
- 라인
- 링크드인
- 살고있다
- 하중
- 로드
- 지방의
- 위치한
- 로깅
- 논리
- 보기
- 보고
- 지는
- 롯
- 기계
- 기계 학습
- 확인
- 유튜브 영상을 만드는 것은
- 관리
- 관리
- 구축
- 제조
- 기구
- 메모리
- 메시지
- 금속
- 마이클
- ML
- MLOps
- 모델
- 모델
- 모듈러
- 모듈
- 모듈
- 배우기
- 가장
- 여러
- 출신
- 자연
- 필요
- 요구
- 신제품
- 다음 것
- 아니
- 대상
- of
- 제공
- 자주
- on
- 오픈 소스
- 최적화
- or
- 오케스트레이션
- 기타
- 우리의
- 아웃
- 야외에서
- 전체
- 꾸러미
- 포장
- 부품
- 부품
- 열정
- 열렬한
- 무늬
- 용
- 확인
- 관로
- 플랫폼
- 플랫폼
- 플라톤
- 플라톤 데이터 인텔리전스
- 플라토데이터
- 부디
- 포인트 적립
- 전철기
- 이식성
- 가능한
- 게시하다
- 강한
- 연습
- 예측
- 예측
- 준비
- Prepare
- 준비
- 준비
- 사설
- 문제
- 방법
- 처리
- 생산
- 생산
- 프로젝트
- 프로젝트
- 제공
- 제공
- 공개
- 목적
- 놓다
- Python
- 질문 게시판
- 품질
- 문의
- 빠른
- 빨리
- 읽기
- 현실
- 요약하다
- 권하다
- 감소
- 감소
- 참조
- 에 관한
- 등록된
- 상대적으로
- 신뢰성
- 신뢰할 수있는
- 제거
- 제거
- 반복 가능
- 대체
- 필요
- 필수
- 요구조건 니즈
- 의지
- 결과
- 결과
- 강력한
- 달리기
- 러너
- 달리는
- 실행
- 현자
- 같은
- 확장성
- 할퀴다
- 섹션
- 안전해야합니다.
- 안전하게
- 참조
- 본
- 전송
- 연장자
- 연속
- 섬기는 사람
- 서버리스
- 서비스
- 서비스
- 세트
- 설정
- 설치
- 공유
- 영상을
- 표시
- 보여
- 쇼
- 대지
- 크기
- 작은
- So
- 소프트웨어
- 해결책
- 솔루션
- 풀다
- 일부
- 구체적인
- 속도
- 지출
- 스포츠
- 시작 중
- 시작
- 주 정부
- 단계
- 단계
- 똑 바른
- 흐름
- 후속의
- 이러한
- 지원
- 체계
- 태클
- 소요
- 복용
- 목표
- 작업
- 기법
- Technology
- 조건
- test
- 그
- XNUMXD덴탈의
- 국가
- 그들의
- 그들
- 그때
- Bowman의
- 일
- 이
- 그
- 세
- 3 단계
- 을 통하여
- 시간
- 에
- 함께
- 화제
- 이상의 주제
- 추적 가능
- 훈련 된
- 트레이닝
- 이전
- 두
- 일반적으로
- 유일한
- 업로드
- us
- 사용
- 유스 케이스
- 익숙한
- 사용
- 유효 기간
- 가치
- 확인
- 대단히
- 를 통해
- 필요
- 방법..
- 방법
- we
- 웹
- 웹 서비스
- 잘
- 언제
- 어느
- 모든
- 폭
- 과
- 이내
- 없이
- 작업
- 일
- 워크플로우
- 일하는
- 겠지
- X
- 아직
- 자신의
- 너의
- 제퍼 넷