Amazon Rekognition Custom Labels 및 AWS Step Functions를 사용하여 Purina의 Petfinder 애플리케이션에 대한 애완동물 프로필 최적화 | 아마존 웹 서비스

Amazon Rekognition Custom Labels 및 AWS Step Functions를 사용하여 Purina의 Petfinder 애플리케이션에 대한 애완동물 프로필 최적화 | 아마존 웹 서비스

네슬레의 자회사인 퓨리나US(Purina US)는 오랜 역사를 통해 사람들이 보다 쉽게 ​​반려동물을 입양할 수 있도록 해왔다. 펫 파인더는 미국, 캐나다, 멕시코 전역에 걸쳐 11,000개가 넘는 동물 보호소 및 구조 단체가 있는 디지털 마켓플레이스입니다. 최고의 애완동물 입양 플랫폼인 Petfinder는 수백만 마리의 애완동물이 영원히 살 집을 찾을 수 있도록 도왔습니다.

Purina는 보호소, 구조 그룹, 애완동물 입양자 모두를 위해 Petfinder 플랫폼을 더욱 향상시킬 수 있는 방법을 지속적으로 모색하고 있습니다. 그들이 직면한 한 가지 과제는 입양할 동물의 특정 품종을 적절하게 반영하는 것이었습니다. 많은 보호소 동물은 잡종이기 때문에 애완동물 프로필에서 품종과 속성을 올바르게 식별하려면 수동 작업이 필요하고 시간이 많이 걸립니다. Purina는 인공 지능(AI)과 기계 학습(ML)을 사용하여 동물 품종 감지를 대규모로 자동화했습니다.

이 게시물은 Purina가 어떻게 사용했는지 자세히 설명합니다. Amazon Rekognition 사용자 지정 레이블, AWS 단계 함수및 기타 AWS 서비스를 사용하여 업로드된 이미지에서 애완동물 품종을 감지한 다음 예측을 사용하여 애완동물 속성을 자동으로 채우는 ML 모델을 생성합니다. 이 솔루션은 데이터 준비, 모델 교육, 모델 평가 및 모델 모니터링의 AI/ML 애플리케이션 워크플로를 개발하는 기본 원칙에 중점을 둡니다.

솔루션 개요

이미지에서 동물 품종을 예측하려면 맞춤형 ML 모델이 필요합니다. 이미지를 분석하기 위한 맞춤형 모델을 개발하는 것은 시간, 전문 지식, 리소스가 필요한 중요한 작업이며 완료하는 데 종종 수개월이 소요됩니다. 또한 모델에 정확한 결정을 내리기에 충분한 데이터를 제공하려면 수천 또는 수만 개의 손으로 라벨을 붙인 이미지가 필요한 경우가 많습니다. 요구 사항 준수 여부를 확인하기 위해 모델 예측을 감사하거나 검토하는 워크플로를 설정하면 전체적인 복잡성이 더욱 가중될 수 있습니다.

기존 기능을 기반으로 구축된 Rekognition Custom Labels를 사용하면 아마존 인식를 사용하면 비즈니스 요구 사항에 맞는 이미지의 개체와 장면을 식별할 수 있습니다. 이미 다양한 카테고리에 걸쳐 수천만 개의 이미지에 대해 학습되었습니다. 수천 개의 이미지 대신 사용 사례에 맞는 소규모 교육 이미지 세트(일반적으로 카테고리당 수백 개 이하의 이미지)를 업로드할 수 있습니다.

이 솔루션은 다음 서비스를 사용합니다.

  • 아마존 API 게이트웨이 개발자가 어떤 규모에서든 쉽게 API를 게시, 유지 관리, 모니터링 및 보호할 수 있게 해주는 완전 관리형 서비스입니다.
  • XNUMXD덴탈의 AWS 클라우드 개발 키트 (AWS CDK)는 최신 프로그래밍 언어를 사용하여 클라우드 인프라를 코드로 정의하고 이를 배포하기 위한 오픈 소스 소프트웨어 개발 프레임워크입니다. AWS 클라우드 포메이션.
  • AWS 코드빌드 클라우드에서 완전히 관리되는 지속적 통합 서비스입니다. CodeBuild는 소스 코드를 컴파일하고, 테스트를 실행하고, 배포 준비가 완료된 패키지를 생성합니다.
  • 아마존 DynamoDB 규모에 관계없이 빠르고 유연한 비관계형 데이터베이스 서비스입니다.
  • AWS 람다 서버를 프로비저닝하거나 관리하지 않고도 거의 모든 유형의 애플리케이션 또는 백엔드 서비스에 대한 코드를 실행할 수 있는 이벤트 기반 컴퓨팅 서비스입니다.
  • 아마존 인식 사전 훈련되고 사용자 정의 가능한 컴퓨터 비전(CV) 기능을 제공하여 이미지와 비디오에서 정보와 통찰력을 추출합니다. 와 함께 Amazon Rekognition 사용자 지정 레이블를 사용하면 비즈니스 요구 사항에 맞는 이미지의 개체와 장면을 식별할 수 있습니다.
  • AWS 단계 함수 시각적 워크플로를 사용하여 분산 애플리케이션 및 마이크로서비스의 구성 요소를 더 쉽게 조정할 수 있게 해주는 완전 관리형 서비스입니다.
  • AWS 시스템 관리자 AWS와 멀티클라우드, 하이브리드 환경의 리소스를 위한 안전한 엔드투엔드 관리 솔루션입니다. 파라미터 저장소Systems Manager의 기능인 은 구성 데이터 관리 및 비밀 관리를 위한 안전한 계층적 스토리지를 제공합니다.

Purina의 솔루션은 다음과 같이 배포됩니다. API 게이트웨이 HTTP 애완동물 속성을 얻기 위한 요청을 라우팅하는 엔드포인트입니다. Rekognition Custom Label을 사용하여 애완동물 품종을 예측합니다. ML 모델은 기본 품종 라벨이 실제 라벨이라고 가정하고 Purina의 데이터베이스에서 가져온 애완동물 프로필을 통해 학습됩니다. DynamoDB는 애완동물 속성을 저장하는 데 사용됩니다. Lambda는 API Gateway, Amazon Rekognition 및 DynamoDB를 조정하여 애완동물 속성 요청을 처리하는 데 사용됩니다.

아키텍처는 다음과 같이 구현됩니다.

  1. Petfinder 애플리케이션은 API 게이트웨이를 통해 애완동물 속성을 얻기 위한 요청을 라우팅합니다.
  2. API 게이트웨이는 Lambda 함수를 호출하여 애완동물 속성을 얻습니다.
  3. Lambda 함수는 Rekognition Custom Label 추론 엔드포인트를 호출하여 애완동물 품종을 예측합니다.
  4. Lambda 함수는 예측된 애완동물 품종 정보를 사용하여 DynamoDB 테이블에서 애완동물 속성 조회를 수행합니다. 애완동물 속성을 수집하여 Petfinder 애플리케이션으로 다시 보냅니다.

다음 다이어그램은 솔루션 워크 플로우를 보여줍니다.

Amazon Rekognition Custom Labels 및 AWS Step Functions를 사용하여 Purina의 Petfinder 애플리케이션에 대한 애완동물 프로필 최적화 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

Purina의 Petfinder 팀은 최소한의 유지 관리로 배포할 수 있는 자동화된 솔루션을 원합니다. 이를 제공하기 위해 Step Functions를 사용하여 최신 데이터로 모델을 교육하고, 벤치마크 세트에서 성능을 확인하고, 개선된 경우 모델을 재배포하는 상태 머신을 생성합니다. 모델 재훈련은 사용자가 프로필 정보를 제출한 품종 수정 횟수에 따라 시작됩니다.

모델 훈련

이미지를 분석하기 위한 맞춤형 모델을 개발하는 것은 시간, 전문 지식 및 리소스가 필요한 중요한 작업입니다. 또한 모델에 정확한 결정을 내리기에 충분한 데이터를 제공하려면 수천 또는 수만 개의 손으로 라벨을 붙인 이미지가 필요한 경우가 많습니다. 이 데이터를 생성하려면 수집하는 데 수개월이 걸릴 수 있으며 기계 학습에 사용할 수 있도록 레이블을 지정하는 데 많은 노력이 필요합니다. 라는 기술 전학 학습 사전 훈련된 모델의 매개변수를 빌려 더 높은 품질의 모델을 생성하는 데 도움이 되며, 더 적은 수의 이미지로 모델을 훈련할 수 있습니다.

우리의 과제는 데이터에 완벽하게 라벨이 지정되어 있지 않다는 것입니다. 프로필 데이터를 입력하는 사람은 실수를 할 수 있고 실제로 실수를 합니다. 그러나 우리는 충분히 큰 데이터 샘플의 경우 잘못 레이블이 지정된 이미지가 충분히 작은 부분을 차지하고 모델 성능이 정확도에서 2% 이상 영향을 받지 않는다는 것을 발견했습니다.

ML 워크플로 및 상태 머신

Step Functions 상태 머신은 Amazon Rekognition 모델의 자동 재교육을 지원하기 위해 개발되었습니다. 프로필 입력 중에 피드백이 수집됩니다. 이미지에서 유추된 품종이 사용자에 의해 다른 품종으로 수정될 때마다 수정 사항이 기록됩니다. 이 상태 머신은 구성 가능한 수정 임계값 수와 추가 데이터 조각에서 트리거됩니다.

상태 머신은 여러 단계를 거쳐 솔루션을 생성합니다.

  1. 다음 목록을 포함하는 학습 및 테스트 매니페스트 파일을 만듭니다. 아마존 단순 스토리지 서비스 (Amazon S3) Amazon Rekognition에서 사용할 이미지 경로 및 해당 레이블.
  2. 매니페스트 파일을 사용하여 Amazon Rekognition 데이터 세트를 생성합니다.
  3. 데이터 세트가 생성된 후 Amazon Rekognition 모델 버전을 교육합니다.
  4. 학습이 완료되면 모델 버전을 시작합니다.
  5. 모델을 평가하고 성능 지표를 생성합니다.
  6. 성능 지표가 만족스러우면 Parameter Store에서 모델 버전을 업데이트하십시오.
  7. 새 모델 버전이 Lambda 함수에 전파될 때까지 기다린 후(20분) 이전 모델을 중지합니다.

모델 평가

우리는 데이터 샘플에서 가져온 무작위 20% 홀드아웃 세트를 사용하여 모델을 검증합니다. 우리가 감지하는 품종은 구성 가능하기 때문에 훈련 중 검증을 위해 고정 데이터 세트를 사용하지 않지만 통합 테스트를 위해 수동으로 레이블이 지정된 평가 세트를 사용합니다. 수동으로 라벨이 지정된 세트와 모델의 감지 가능한 품종이 겹치는 부분을 사용하여 측정항목을 계산합니다. 모델의 품종 탐지 정확도가 지정된 임계값을 초과하는 경우 엔드포인트에서 사용되도록 모델을 승격합니다.

다음은 Rekognition Custom Labels의 애완동물 예측 워크플로에 대한 몇 가지 스크린샷입니다.

Amazon Rekognition Custom Labels 및 AWS Step Functions를 사용하여 Purina의 Petfinder 애플리케이션에 대한 애완동물 프로필 최적화 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

Amazon Rekognition Custom Labels 및 AWS Step Functions를 사용하여 Purina의 Petfinder 애플리케이션에 대한 애완동물 프로필 최적화 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

AWS CDK를 사용한 배포

Step Functions 상태 머신 및 관련 인프라(Lambda 함수, CodeBuild 프로젝트 및 시스템 관리자 매개변수 포함)는 Python을 사용하여 AWS CDK와 함께 배포됩니다. AWS CDK 코드는 솔루션의 모든 인프라를 배포하는 데 사용되는 CloudFormation 템플릿을 합성합니다.

Petfinder 애플리케이션과 통합

Petfinder 애플리케이션은 이미지에 대한 Amazon S3 경로 및 반환할 결과 수에 대한 필드가 포함된 JSON 페이로드가 포함된 POST 요청을 사용하여 API 게이트웨이 엔드포인트를 통해 이미지 분류 엔드포인트에 액세스합니다.

영향을 받는 KPI

이미지 추론 엔드포인트 실행에 따른 추가 비용을 정당화하기 위해 엔드포인트가 Petfinder에 추가하는 가치를 결정하는 실험을 실행했습니다. 엔드포인트를 사용하면 두 가지 주요 개선 유형이 제공됩니다.

  • 애완동물 프로필을 생성하는 애완동물 보호소의 노력 감소
  • 검색 관련성을 향상시킬 것으로 예상되는 더욱 완전한 애완동물 프로필

노력과 프로필 완성도를 측정하기 위한 지표에는 수정된 자동 입력 필드 수, 채워진 총 필드 수, 애완동물 프로필 업로드 시간이 포함됩니다. 검색 관련성의 향상은 채택률과 관련된 핵심 성과 지표를 측정하여 간접적으로 추론됩니다. Purina에 따르면 솔루션이 적용된 후 Petfinder 애플리케이션에서 애완동물 프로필을 생성하는 데 걸리는 평균 시간이 7분에서 4분으로 단축되었습니다. 2022년에는 4만 개의 애완동물 프로필이 업로드되었기 때문에 이는 엄청난 개선이자 시간 절약입니다.

보안

아키텍처 다이어그램을 통해 흐르는 데이터는 전송 중 및 저장 중 암호화됩니다. AWS Well-Architected 모범 사례. 모든 AWS 참여 중에 보안 전문가는 솔루션을 검토하여 안전한 구현이 제공되는지 확인합니다.

결론

Rekognition Custom Labels를 기반으로 한 솔루션을 통해 Petfinder 팀은 애완동물 보호소에 대한 애완동물 프로필 생성을 가속화하여 보호소 직원의 관리 부담을 줄일 수 있습니다. AWS CDK 기반 배포는 Step Functions 워크플로를 배포하여 교육 및 배포 프로세스를 자동화합니다. Rekognition Custom Label 사용을 시작하려면 다음을 참조하세요. Amazon Rekognition 사용자 지정 레이블 시작하기. 당신은 또한 일부를 확인할 수 있습니다 Step Functions 예AWS CDK 시작하기.


저자에 관하여

Amazon Rekognition Custom Labels 및 AWS Step Functions를 사용하여 Purina의 Petfinder 애플리케이션에 대한 애완동물 프로필 최적화 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.메이슨 케이힐 AWS Professional Services의 수석 DevOps 컨설턴트입니다. 그는 조직이 비즈니스 목표를 달성하도록 돕는 것을 좋아하며 AWS 클라우드에서 자동화된 솔루션을 구축하고 제공하는 데 열정을 쏟고 있습니다. 업무 외에 그는 가족과 함께 시간을 보내는 것, 하이킹, 축구를 좋아합니다.

Amazon Rekognition Custom Labels 및 AWS Step Functions를 사용하여 Purina의 Petfinder 애플리케이션에 대한 애완동물 프로필 최적화 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.매튜 샤세 Amazon Web Services의 데이터 과학 컨설턴트로 고객이 확장 가능한 기계 학습 솔루션을 구축하도록 돕습니다. 매튜는 수학 박사 학위를 갖고 있으며 여가 시간에는 암벽 등반과 음악을 즐깁니다.

Amazon Rekognition Custom Labels 및 AWS Step Functions를 사용하여 Purina의 Petfinder 애플리케이션에 대한 애완동물 프로필 최적화 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.루시케시 작탑 AWS Analytics 서비스 분야에서 5년 이상의 경험을 보유한 솔루션스 아키텍트입니다. 그는 고객이 확장 가능하고 현대적인 데이터 분석 솔루션을 구축하여 데이터에서 통찰력을 얻을 수 있도록 돕는 데 열정을 쏟고 있습니다. 업무 외에 그는 Formula1 시청, 배드민턴 경기, Go Karts 경주를 좋아합니다.

Amazon Rekognition Custom Labels 및 AWS Step Functions를 사용하여 Purina의 Petfinder 애플리케이션에 대한 애완동물 프로필 최적화 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.타요 올라지데 클라우드 환경에서 데이터 솔루션을 설계하고 구현하는 데 XNUMX년 이상의 경험을 보유한 노련한 클라우드 데이터 엔지니어링 총괄입니다. 원시 데이터를 가치 있는 인사이트로 변환하려는 열정으로 타요는 금융, 헬스케어, 자동차 산업 등 다양한 산업 분야의 데이터 파이프라인을 설계하고 최적화하는 데 중추적인 역할을 해왔습니다. 현장의 사고 리더인 타요는 데이터의 힘이 정보에 입각한 의사 결정을 내리는 능력에 있다고 믿으며, 클라우드 시대에 기업이 데이터의 잠재력을 최대한 활용할 수 있도록 돕기 위해 최선을 다하고 있습니다. 데이터 파이프라인을 만들지 않을 때는 최신 기술 동향을 탐구하고, 야외에서 하이킹을 하고, 기기와 소프트웨어를 만지작거리는 타요의 모습을 볼 수 있습니다.

타임 스탬프 :

더보기 AWS 기계 학습