AWS Marketplace에 알고리즘 및 모델 패키지 배포 - AWS Marketplace

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS Marketplace에 알고리즘 및 모델 패키지 배포

AWS Marketplace를 사용하여 판매자 제품을 AWS 고객에게 배포하려면 다음 단계를 수행해야 합니다.

도커를 사용하여 코드 패키징

SageMaker는 모델을 유연하게 학습 및 배포할 수 있는 완벽한 관리형 기계 학습 플랫폼입니다. 도커 컨테이너를 사용하여 패키징된 실행 가능한 코드는 안전하고 확장 가능한 인프라에서 실행됩니다. 사용 사례에 따라 SageMaker를 다음 중 한 가지 방법으로 사용할 수 있습니다.

  1. SageMaker 기본 제공 알고리즘을 사용하여 모델을 교육하고 호스팅합니다.

  2. Python 스크립트를 작성한 후 TensorFlow, PyTorch, MXNet, Chainer 등과 같은 기계 학습 프레임워크에서 사용합니다.

  3. 사용자 지정 코드에서 도커 이미지를 사용합니다.

SageMaker는 첫 번째 사용 사례와 두 번째 사용 사례에서 컨테이너를 빌드하여 유지합니다. 세 번째 사용 사례에서는 SageMaker를 사용하여 고객이 본인의 코드를 도커 이미지에 패키징할 수 있습니다. 종속성이 있는 모든 프로그래밍 언어로 이 코드를 작성할 수 있습니다. 고객은 이러한 도커 이미지 덕분에 기본 호스팅 시스템 없이도 어디에서나 자신의 코드를 실행할 수 있습니다.

도커 이미지 크기는 Amazon ECR 서비스 한계 in the Amazon Elastic Container Registry 사용 설명서. 도커 이미지 크기는 교육, 배치 변환 및 엔드포인트 생성 작업에서 시작 시간에 영향을 미칩니다. 성능을 높이려면 도커 이미지 크기를 최적화하는 것이 좋습니다.

알고리즘 코드 패키징

이미지를 사용 가능한 SageMaker 제품으로 패키징하기 전에 SageMaker를 사용하여 사용자 지정 교육, 배치 변환 및 실시간 추론 이미지를 테스트하는 것이 좋습니다. AWS Marketplace에서 알고리즘 또는 모델을 패키징하려면 독립형 도커 이미지를 제공해야 합니다. 컨테이너에서 알고리즘을 패키징하면 프로그래밍 언어, 환경, 프레임워크, 종속성에 상관없이 SageMaker에서 거의 모든 코드를 사용할 수 있습니다.

코드를 도커 이미지로 패키징한 후 SageMaker에서 AWS Marketplace의 고객에게 알고리즘을 노출하도록 허용하는 메타데이터를 입력하여 알고리즘을 생성합니다.

중요

구매자가 컨테이너화된 제품을 구독하면 Docker 컨테이너는 인터넷에 연결되지 않은 격리된 환경에서 실행됩니다. 컨테이너를 생성할 때 인터넷을 통한 발신 호출을 수행하면 호출이 실패합니다. 또한 AWS 서비스에 대한 호출이 실패합니다.

추론 코드 패키징

모델 패키지는 다음 요소를 포함할 수 있습니다.

  • 추론 컨테이너

  • 선택적 모델 아티팩트(Amazon S3에 저장해야 함)

알고리즘 컨테이너와 동일한 방법으로 추론 컨테이너를 생성합니다. Amazon S3에서 모델 아티팩트의 위치 제공은 선택 사항입니다. 추론 컨테이너 내에서 모델 아티팩트를 번들로 제공하거나 SageMaker가 Amazon S3의 모델 스토리지 위치에서 모델 아티팩트를 검색하도록 할 수 있습니다.

SageMaker에서 알고리즘 생성

SageMaker 알고리즘에는 교육 이미지와 추론 이미지가 있습니다. 동일한 이미지를 사용하여 교육과 추론을 모두 수행하거나 구분할 수 있습니다. 교육 이미지와 추론 이미지는 서로 호환되어야 하며 교육 이미지에서 생성되는 모델을 추론 이미지에서 사용할 수 있어야 합니다. 검증 출력 특히, 배치 변환 출력을 확인하는 것이 좋습니다.

도커 이미지에서 코드를 패키징한 후 이미지를 Amazon Elastic Container Registry(Amazon ECR)에 업로드하면 도커 이미지에서 알려진 취약성을 검사합니다. 또한 SageMaker에서 이미지에 액세스할 수 있는 IAM 역할을 생성해야 합니다. 자세한 정보는 https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html 단원을 참조하십시오.

SageMaker에서 알고리즘을 생성하려면

  1. SageMaker 콘솔을 열고 Create algorithm(알고리즘 생성)을 선택합니다.

  2. Amazon ECR 이미지를 선택합니다.

  3. 알고리즘의 사양을 입력합니다.

  4. 훈련 명세, 지원되는 인스턴스 유형, 하이퍼파라미터, 추론 및 채널 정보, 입력 데이터 형식 및 검증 사양을 제공합니다. AWS Marketplace에서 알고리즘을 판매하려면 검증 사양이 필요합니다. 검증 사양은 알고리즘을 검증할 때 교육 및 추론 작업을 생성하는 데 사용됩니다.

  5. AWS Marketplace에서 알고리즘을 판매하려는 경우 기본적으로 이미지를 검사합니다.

메타데이터를 사용하면 구매자가 제품을 사용하는 방법을 파악하고 SageMaker에서 제품을 구독한 후 구매자 요청을 동기식으로 검증할 수 있습니다.

알고리즘 검증

구매자 및 판매자가 SageMaker에서 제품이 작동할 것이라고 확신할 수 있도록 Amazon에서는 AWS Marketplace에서 등록하기 전에 알고리즘을 검증하도록 요구하고 있습니다. 알고리즘을 검증하기 위해 검증 프로필 및 샘플 데이터를 사용하여 다음 검증 작업을 실행합니다.

  1. 훈련 이미지가 SageMaker에서 잘 작동하는지 확인하기 위해 계정에서 훈련 작업을 생성합니다.

  2. 알고리즘의 추론 이미지 및 훈련 작업에서 생성된 모델 결과물을 사용하여 계정에서 모델을 생성합니다.

  3. SageMaker에서 추론 이미지가 작동하는지 검증하기 위한 모델을 사용하여 계정 내에서 변환 작업을 생성합니다.

AWS Marketplace에 제품을 등록한 경우 이러한 검증 프로세스의 입력 및 출력은 제품의 일부로 유지되며 구매자가 사용할 수 있습니다. 이러한 입력 및 출력을 통해 구매자는 구입 전 제품을 파악하고 평가할 수 있습니다. 예를 들어, 구매자는 사용된 입력 데이터, 생성된 출력과 코드에서 내보낸 로그 및 지표를 검사할 수 있습니다. 검증 사양이 포괄적일수록 고객이 제품을 보다 쉽게 평가할 수 있습니다.

계정의 작업 상태를 확인하려면 SageMaker 콘솔에서 Training jobs(훈련 작업)Transform jobs(변환 작업) 페이지를 봅니다. 검증 또는 스캔 작업이 실패할 경우 SageMaker 콘솔에서 상태를 클릭하여 스캔 및 검증 보고서에 액세스할 수 있습니다. 자세한 내용은 검증 중에 생성되는 교육 및 변환 작업을 참조할 수 있습니다. 문제를 해결한 다음 알고리즘을 다시 생성합니다. 알고리즘의 상태가 COMPLETED(완료됨)인 경우 SageMaker 콘솔에서 알고리즘을 찾은 다음 AWS Marketplace에서 제품 배치 프로세스를 시작합니다.

참고

스캔 및 검증에는 최대 몇 시간 가량 걸릴 수 있습니다.

SageMaker에서 모델 패키지 생성

코드를 추론 컨테이너로 패키징하고 선택적 모델 아티팩트를 Amazon S3에 저장한 후 SageMaker에서 모델 패키지를 생성할 수 있습니다. 이렇게 하려면 다음 절차를 사용하십시오.

모델 패키지를 생성하려면

  1. 빌드한 도커 이미지를 AWS 계정의 Amazon ECR 리포지토리에 푸시합니다. 자세한 내용은 Amazon Elastic Container Registry 사용 설명서의 이미지 푸시를 참조하십시오.

  2. SageMaker에서 Amazon ECR 이미지 및 Amazon S3 객체에 액세스하도록 허용하는 권한을 설정합니다.

  3. SageMaker 콘솔을 열고 Create model package(모델 패키지 생성)를 선택한 후 지침을 따릅니다.

모델 패키지 생성을 완료하려면 추론 이미지와 검증 사양을 제공합니다. 그러면 도커 이미지에서 알려진 취약성을 검사합니다.

모델 패키지 검증

AWS Marketplace에 모델 패키지를 등록하려면 먼저 검증해야 합니다. 그래야 구매자 및 판매자가 제품이 Amazon SageMaker에서 문제 없이 작동할지 확신할 수 있습니다. 검증에 성공한 경우에만 AWS Marketplace에 제품을 등록할 수 있습니다.

검증 절차에서는 검증 프로필과 샘플 데이터를 사용하여 다음 검증 작업을 수행합니다.

  1. Amazon S3에 저장된 모델 패키지의 추론 이미지 및 선택적 모델 결과물을 사용하여 계정에 모델을 생성합니다.

  2. SageMaker에서 추론 이미지가 작동하는지 검증하기 위한 모델을 사용하여 계정 내에서 변환 작업을 생성합니다.

  3. 검증 프로필을 생성합니다.

AWS Marketplace에 제품을 등록한 경우 이러한 검증 프로세스의 입력 및 출력은 제품의 일부로 유지되며 구매자가 사용할 수 있습니다. 이러한 입력 및 출력을 통해 구매자는 구입 전 제품을 파악하고 평가할 수 있습니다. 예를 들어, 사용된 입력 데이터, 생성된 출력과 코드에서 내보낸 로그 및 지표를 검사할 수 있습니다. 검증 사양이 포괄적일수록 제품을 보다 쉽게 평가할 수 있습니다.

중요

검증 프로필에서는 공개하려는 데이터만 제공합니다.

계정의 작업 상태를 확인하려면 SageMaker 콘솔에서 Training jobs(훈련 작업)Transform jobs(변환 작업) 페이지를 봅니다. 검증 또는 스캔 작업이 실패할 경우 SageMaker 콘솔에서 상태를 클릭하여 스캔 및 검증 보고서에 액세스할 수 있습니다. 자세한 내용은 검증 중에 생성되는 교육 및 변환 작업을 참조할 수 있습니다. 문제를 해결한 다음 알고리즘을 다시 생성합니다. 알고리즘의 상태가 COMPLETED(완료됨)인 경우 SageMaker 콘솔에서 알고리즘을 찾은 다음 AWS Marketplace에서 제품 배치 프로세스를 시작합니다.

참고

스캔 및 검증에는 최대 몇 시간 가량 걸릴 수 있습니다.

AWS Marketplace에 알고리즘 또는 모델 패키지 추가

Amazon SageMaker에서 알고리즘 또는 모델 패키지를 생성하여 검증까지 마쳤으면 이제 AWS Marketplace에 제품을 등록할 수 있습니다. 이 프로세스를 마친 제품들은 AWS Marketplace와 SageMaker 콘솔에서 사용할 수 있습니다.

참고

AWS Marketplace에 아직 판매자로 등록하지 않은 경우 판매자로 시작하기를 살펴보고 등록 프로세스를 마치십시오.

등록을 완료한 후 다음 중 하나를 수행하여 AWS Marketplace에 제품을 추가합니다.

  • Amazon SageMaker 콘솔에서 해당 제품, 작업Publish new AWS Marketplace listing(새로운 AWS Marketplace 등록 제품 게시)를 차례대로 선택합니다. 여기에서 제품 참조 정보인 Amazon 리소스 이름(ARN)을 입력하면 제품 목록을 생성할 수 있는 AMMP로 이동하게 됩니다.

  • ML 등록 프로세스로 이동하여 ARN을 입력한 후 제품 등록을 시작합니다. 이 등록 프로세스에서는 Amazon SageMaker에서 제품을 생성할 때 입력했던 제품 메타데이터가 필요합니다. 이러한 정보에는 훈련 명세, 지원되는 인스턴스 유형, 하이퍼파라미터, 추론 및 채널 정보, 입력 데이터 형식, 데이터 샘플 등이 포함됩니다.

AWS Marketplace에 제품을 추가할 때는 다음과 같은 정보를 제공해야 합니다.

  • 일반 제품 정보

  • 시작 옵션

  • 요금 및 약관

일반 제품 정보

제품 설명, 프로모션 리소스, 지원 정보, 리전 가용성을 입력합니다. 이 정보는 AWS Marketplace 제품 세부 정보 페이지에 표시됩니다. AWS Marketplace에서 검색할 수도 있습니다.

제품 리소스는 고객이 모델 또는 알고리즘을 시작하는 데 사용할 수 있는 샘플 입력 데이터 및 샘플 노트북을 포함해야 합니다. 자세한 정보는 샘플 입력 데이터 및 샘플 노트북 모범 사례 단원을 참조하십시오.

시작 옵션

일반 사용 정보, 고객에게 공개되는 버전 번호 및 출시 정보를 정의합니다. Amazon SageMaker 콘텐츠 유형, MIME 형식, 지원되는 입력 방법, 하이퍼파라미터 등 Amazon SageMaker 메타데이터를 검토합니다.

요금 및 약관

EULA, 요금, 제품 과세 코드 및 환급 정책을 정의합니다. 유료 알고리즘을 등록할 때는 알고리즘 훈련 요금을 비롯해 알고리즘과 함께 패키징되는 추론 이미지의 실시간 및 배치 추론 요금을 입력할 수 있습니다. 모델 패키지를 등록할 때는 패키지의 실시간 및 배치 추론 요금을 정의할 수 있습니다.

알고리즘 패키지와 모델 패키지를 모두 등록할 때는 지원되는 인스턴스 유형마다 시간당 요금을 정의할 수 있습니다. 무료 평가판을 활성화하고 기간(일)을 지정할 수 있습니다.

제품 게시

AWS Marketplace Management Portal를 통해 제품을 게시합니다. 게시 프로세스는 몇 단계만 거치면 되며, 고객에게 제공되기 전에 마지막으로 한 번 제품을 검토할 수 있습니다.

첫 번째 단계에서는 일반 정보, 시작 옵션, 제품에 대한 요금 및 약관 설정을 제공해야 합니다. 두 번째 단계에서는 제품이 공개되기 전에 테스트할 수 있습니다. 이 시점에서 제품은 비공개로 제한된 상태에서 게시됩니다.

테스트를 완료한 후 Sign off and publish(로그아웃 및 게시)를 선택하고 공개적으로 사용할 제품의 버전 번호를 선택합니다. 이 시점에서 제품은 Published(draft)(게시됨(초안)) 상태에 있게 됩니다.

제품을 공개하는 데에는 30~60분이 소요될 수 있습니다. 게시 프로세스 도중 AWS Marketplace 제품 세부 정보 페이지에 액세스하려고 하면 404 오류가 표시될 수 있습니다. 이러한 오류는 정보가 다수의 시스템으로 전송되고 있을 때 발생할 수 있습니다.

알고리즘 또는 모델 패키지의 수익화

알고리즘 패키지와 모델 패키지일 때는 AWS Marketplace에서 인스턴스 유형마다 시간당 요금 모델이 적용됩니다. 알고리즘은 훈련 요금과 추론 요금, 두 가지가 있습니다. 모델 패키지는 추론 요금만 있습니다. Amazon SageMaker는 실시간 추론 모드와 배치 추론 모드를 지원하기 때문에 판매자는 각 모드마다 다른 요금을 설정할 수 있습니다. 구매자 사용량은 1초 단위로 측정되어 청구됩니다.