Amazon Search가 Amazon SageMaker PlatoBlockchain Data Intelligence를 사용하여 탄력적인 대규모 기계 학습 프로젝트를 실행하는 방법. 수직 검색. 일체 포함.

Amazon Search가 Amazon SageMaker로 대규모의 탄력적인 기계 학습 프로젝트를 실행하는 방법

amazon.com에서 구매할 항목을 검색했다면 Amazon Search 서비스를 사용한 것입니다. Amazon Search에서는 전 세계 고객의 검색 및 발견 경험을 책임지고 있습니다. 백그라운드에서 우리는 전 세계 제품 카탈로그를 인덱싱하고, 확장성이 뛰어난 AWS 플릿을 배포하고, 고급 기계 학습(ML)을 사용하여 관련성 있고 흥미로운 제품을 모든 고객의 쿼리에 연결합니다.

우리 과학자들은 검색 결과의 품질을 개선하기 위해 수천 개의 ML 모델을 정기적으로 훈련합니다. 대규모 실험을 지원하는 것은 특히 이러한 ML 모델을 훈련하는 과학자의 생산성을 향상시키는 것과 관련하여 고유한 과제를 제시합니다.

이 게시물에서는 관리 시스템을 구축한 방법을 공유합니다. 아마존 세이지 메이커 훈련 작업을 통해 과학자들은 수천 번의 실험을 실행하고 잊어버리고 필요할 때 알림을 받을 수 있습니다. 이제 그들은 고부가가치 작업에 집중하고 알고리즘 오류를 해결하여 시간의 60%를 절약할 수 있습니다.

난제

Amazon Search에서 우리 과학자들은 SageMaker에서 수많은 ML 모델 교육 작업을 실험하고 실행하여 정보 검색 문제를 해결합니다. 팀의 혁신을 따라잡기 위해 시간이 지남에 따라 모델의 복잡성과 교육 작업 수가 증가했습니다. SageMaker 교육 작업을 통해 인프라를 관리할 필요 없이 해당 모델을 대규모로 교육하고 조정하는 데 드는 시간과 비용을 줄일 수 있습니다.

이러한 대규모 ML 프로젝트의 모든 것과 마찬가지로 교육 작업은 다양한 요인으로 인해 실패할 수 있습니다. 이 게시물은 알고리즘 오류로 인한 용량 부족 및 실패에 중점을 둡니다.

용량 가용성 또는 알고리즘 오류로 인해 작업이 실패할 확률을 허용하고 줄이기 위해 작업 관리 시스템이 있는 아키텍처를 설계했습니다. 이를 통해 과학자들은 수천 개의 훈련 작업을 실행하고 잊어버리고 일시적인 실패 시 자동으로 재시도하고 필요한 경우 성공 또는 실패에 대한 알림을 받을 수 있습니다.

솔루션 개요

다음 솔루션 다이어그램에서는 SageMaker 교육 작업을 솔루션의 기본 단위로 사용합니다. 즉, 작업은 ML 모델의 종단 간 학습을 나타냅니다.

이 솔루션의 상위 수준 워크플로는 다음과 같습니다.

  1. 과학자들은 API를 호출하여 시스템에 새 작업을 제출합니다.
  2. 작업은 다음과 같이 등록됩니다. New 메타데이터 저장소의 상태.
  3. 작업 스케줄러는 비동기적으로 검색 New 메타데이터 저장소에서 작업을 가져와서 입력을 구문 분석하고 각 작업에 대해 SageMaker 교육 작업을 시작하려고 시도합니다. 상태가 다음으로 변경됩니다. Launched or Failed 성공에 따라.
  4. 모니터는 정기적으로 작업 진행 상황을 확인하고 보고합니다. Completed, FailedInProgress 메타데이터 저장소의 상태입니다.
  5. 보고하기 위해 알림이 트리거됩니다. CompletedFailed 과학자들에게 일자리를 제공합니다.

메타데이터 저장소에 작업 기록을 유지하면 우리 팀이 추세 분석을 수행하고 프로젝트 진행 상황을 모니터링할 수도 있습니다.

이 작업 스케줄링 솔루션은 다음을 기반으로 느슨하게 결합된 서버리스 구성 요소를 사용합니다. AWS 람다, 아마존 DynamoDB, 아마존 단순 알림 서비스 (아마존 SNS), 아마존 이벤트 브리지. 이는 수평적 확장성을 보장하여 과학자들이 최소한의 운영 노력으로 수천 개의 작업을 시작할 수 있도록 합니다. 다음 다이어그램은 서버리스 아키텍처를 보여줍니다.

솔루션의 아키텍처 개요

다음 섹션에서는 각 서비스와 해당 구성 요소에 대해 자세히 설명합니다.

작업 실행을 위한 메타데이터 저장소로서의 DynamoDB

DynamoDB의 사용 용이성과 확장성 덕분에 DynamoDB 테이블에 작업 메타데이터를 유지하는 것이 자연스러운 선택이 되었습니다. 이 솔루션은 과학자들이 제출한 작업의 여러 속성을 저장하므로 진행 상황 추적 및 워크플로 조정을 돕습니다. 가장 중요한 속성은 다음과 같습니다.

  • 작업 ID – 고유한 작업 ID. 이것은 자동 생성되거나 과학자가 제공할 수 있습니다.
  • 직위 – 작업의 상태.
  • 작업 인수 – Amazon S3의 입력 경로, 교육 이미지 URI 등과 같은 교육 작업 생성에 필요한 기타 인수. 훈련 작업을 생성하는 데 필요한 전체 매개변수 목록은 다음을 참조하십시오. 훈련작업 생성.

핵심 로직을 위한 람다

우리는 세 가지를 사용합니다 컨테이너 기반 작업 워크플로를 조정하는 Lambda 함수:

  • 작업 제출 – 이 기능은 과학자들이 새로운 작업을 시작해야 할 때 호출합니다. 단순함을 위한 API 역할을 합니다. 당신은 또한 그것을 앞에 할 수 있습니다 아마존 API 게이트웨이, 필요한 경우. 이 함수는 DynamoDB 테이블에 작업을 등록합니다.
  • 작업 시작 – 이 기능은 주기적으로 New DynamoDB 테이블에서 작업 및 SageMaker를 사용하여 시작 훈련작업 생성 명령. 다음과 같은 일시적인 오류에 대해 재시도합니다. ResourceLimitExceededCapacityError, 시스템에 대한 복원력을 계측합니다. 그런 다음 작업 상태를 다음과 같이 업데이트합니다. Launched or Failed 성공에 따라.
  • 작업 모니터링 – 이 기능은 주기적으로 작업 진행 상황을 추적합니다. 교육 작업 설명 명령을 실행하고 그에 따라 DynamoDB 테이블을 업데이트합니다. 그것은 투표 Failed 메타데이터에서 작업을 추출하고 다시 제출해야 하는지 아니면 최종 실패로 표시해야 하는지를 평가합니다. 또한 작업이 최종 상태에 도달하면 과학자에게 알림 메시지를 게시합니다.

스케줄링을 위한 EventBridge

EventBridge를 사용하여 일정에 따라 작업 시작 및 작업 모니터링 Lambda 함수를 실행합니다. 자세한 내용은 자습서: EventBridge를 사용하여 AWS Lambda 함수 예약.

또는 다음을 사용할 수 있습니다. Amazon DynamoDB 스트림 방아쇠를 위해. 자세한 내용은 DynamoDB 스트림 및 AWS Lambda 트리거.

Amazon SNS 알림

우리 과학자들은 Amazon SNS를 사용하여 이메일로 알림 작업이 종료 상태(Failed 최대 재시도 후), CompletedStopped.

결론

이 게시물에서는 Amazon Search가 ML 모델 교육 워크로드를 예약하고 용량 부족 또는 알고리즘 오류에 대해 재시도하여 탄력성을 추가하는 방법을 공유했습니다. 전체 워크플로를 오케스트레이션하기 위해 중앙 메타데이터 저장소로 DynamoDB 테이블과 함께 Lambda 함수를 사용했습니다.

이러한 일정 시스템을 통해 과학자는 작업을 제출하고 잊어버릴 수 있습니다. 이를 통해 시간을 절약하고 더 나은 모델을 작성하는 데 집중할 수 있습니다.

학습을 더 진행하려면 다음을 방문하십시오. 굉장한 세이지메이커 SageMaker 작업에 필요한 모든 관련 최신 리소스를 한 곳에서 찾을 수 있습니다.


저자에 관하여

Amazon Search가 Amazon SageMaker PlatoBlockchain Data Intelligence를 사용하여 탄력적인 대규모 기계 학습 프로젝트를 실행하는 방법. 수직 검색. 일체 포함.왕 루오차오 Amazon Search의 소프트웨어 엔지니어입니다. 그는 머신 러닝 애플리케이션의 과학적 혁신 속도를 가속화하기 위해 클라우드에서 확장 가능한 분산 시스템과 자동화 도구에 중점을 두고 있습니다.

Amazon Search가 Amazon SageMaker PlatoBlockchain Data Intelligence를 사용하여 탄력적인 대규모 기계 학습 프로젝트를 실행하는 방법. 수직 검색. 일체 포함.이샨 바트 Amazon Prime Video 팀의 소프트웨어 엔지니어입니다. 그는 주로 MLOps 분야에서 일하며 Amazon SageMaker를 사용하여 지난 4년 동안 MLOps 제품을 구축한 경험이 있습니다.

Amazon Search가 Amazon SageMaker PlatoBlockchain Data Intelligence를 사용하여 탄력적인 대규모 기계 학습 프로젝트를 실행하는 방법. 수직 검색. 일체 포함.아비난단 파트니 Amazon Search의 수석 소프트웨어 엔지니어입니다. 그는 확장 가능한 분산 딥 러닝 교육 및 실시간 추론을 위한 시스템 및 도구 구축에 중점을 둡니다.

Amazon Search가 Amazon SageMaker PlatoBlockchain Data Intelligence를 사용하여 탄력적인 대규모 기계 학습 프로젝트를 실행하는 방법. 수직 검색. 일체 포함.아이만 엘나로위 Amazon Search의 수석 소프트웨어 엔지니어로 기계 학습 가속화, 확장 및 자동화에 대한 노력을 주도하고 있습니다. 그녀의 전문 지식은 기계 학습, 분산 시스템 및 개인화를 포함한 여러 영역에 걸쳐 있습니다.

Amazon Search가 Amazon SageMaker PlatoBlockchain Data Intelligence를 사용하여 탄력적인 대규모 기계 학습 프로젝트를 실행하는 방법. 수직 검색. 일체 포함.소피아 하미티 AWS의 AI / ML 전문 솔루션 아키텍트입니다. 그는 업계 전반의 고객이 엔드 투 엔드 머신 러닝 솔루션을 구축하고 운영 할 수 있도록 지원하여 AI / ML 여정을 가속화하도록 돕습니다.

로미 다타Romi Datta 박사  교육, 처리 및 기능 저장을 담당하는 Amazon SageMaker 팀의 제품 관리 수석 관리자입니다. 그는 4년 넘게 AWS에서 근무했으며 SageMaker, S3 및 IoT에서 여러 제품 관리 리더십 역할을 담당했습니다. AWS에 합류하기 전에는 IBM, Texas Instruments 및 Nvidia에서 다양한 제품 관리, 엔지니어링 및 운영 리더십 역할을 수행했습니다. 그는 석사와 박사 학위를 가지고 있습니다. University of Texas at Austin에서 전기 및 컴퓨터 공학을 전공하고 University of Chicago Booth School of Business에서 MBA를 취득했습니다.

Amazon Search가 Amazon SageMaker PlatoBlockchain Data Intelligence를 사용하여 탄력적인 대규모 기계 학습 프로젝트를 실행하는 방법. 수직 검색. 일체 포함.RJ 교육 및 추론을 위한 대규모 딥 러닝 시스템 구축을 주도하는 Search M5 팀의 엔지니어입니다. 직장 밖에서 그는 다양한 음식 요리를 탐구하고 라켓 스포츠를 합니다.

타임 스탬프 :

더보기 AWS 기계 학습