Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence의 모델 복사 기능 출시를 발표합니다. 수직 검색. 일체 포함.

Amazon Rekognition Custom Labels용 모델 복사 기능 출시 발표

Amazon Rekognition 사용자 지정 레이블 는 개발자가 비즈니스에 고유하고 고유한 이미지의 개체를 분류하고 식별하는 사용자 지정 모델을 구축할 수 있는 완전 관리형 컴퓨터 비전 서비스입니다. Rekognition Custom Labels를 사용하려면 컴퓨터 비전에 대한 사전 지식이 필요하지 않습니다. 예를 들어, 소셜 미디어 게시물에서 로고를 찾고, 매장 선반에서 제품을 식별하고, 조립 라인에서 기계 부품을 분류하고, 건강한 식물과 감염된 식물을 구별하거나, 비디오에서 애니메이션 캐릭터를 감지할 수 있습니다.

이미지를 분석하기 위한 사용자 지정 모델을 개발하는 것은 시간, 전문 지식 및 리소스가 필요한 중요한 작업이며 완료하는 데 몇 달이 걸리는 경우가 많습니다. 또한 모델에 정확한 결정을 내리기에 충분한 데이터를 제공하려면 수천 또는 수만 개의 손으로 레이블을 지정한 이미지가 필요한 경우가 많습니다. 이 데이터를 생성하려면 수집하는 데 몇 달이 걸릴 수 있으며 머신 러닝(ML)에 사용할 수 있도록 준비하려면 대규모 레이블 지정 팀이 필요합니다.

Rekognition Custom Labels는 아마존 인식, 이미 많은 카테고리에 걸쳐 수천만 개의 이미지에 대해 학습되었습니다. 수천 개의 이미지 대신 Amazon Rekognition 콘솔을 사용하여 사용 사례에 맞는 작은 교육 이미지 세트(일반적으로 수백 개 이하의 이미지)를 업로드하기만 하면 됩니다. 이미지에 이미 레이블이 지정되어 있는 경우 몇 번의 클릭만으로 모델 학습을 시작할 수 있습니다. 그렇지 않은 경우 Rekognition Custom Labels 콘솔에서 직접 레이블을 지정하거나 다음을 사용할 수 있습니다. 아마존 세이지 메이커 그라운드 진실 레이블을 지정합니다. Rekognition Custom Labels는 전이 학습을 사용하여 훈련 데이터를 자동으로 검사하고, 올바른 모델 프레임워크와 알고리즘을 선택하고, 하이퍼파라미터를 최적화하고, 모델을 훈련합니다. 모델 정확도에 만족하면 클릭 한 번으로 훈련된 모델 호스팅을 시작할 수 있습니다.

오늘 Rekognition Custom Labels 모델 복사 기능의 출시를 발표하게 되어 기쁩니다. 이 기능을 사용하면 모델을 처음부터 다시 훈련시키지 않고도 동일한 AWS 계정에 있거나 동일한 AWS 리전의 AWS 계정에 있을 수 있는 프로젝트 간에 Rekognition Custom Labels 모델을 복사할 수 있습니다. 이 새로운 기능을 사용하면 원래 교육 및 테스트 데이터 세트를 복사하고 모델을 다시 교육할 필요 없이 개발, 품질 보증, 통합 및 프로덕션과 같은 다양한 환경을 통해 Rekognition Custom Labels 모델을 더 쉽게 이동할 수 있습니다. 당신은 사용할 수 있습니다 AWS 명령 줄 인터페이스 (AWS CLI) 동일한 AWS 계정 또는 여러 AWS 계정에 있을 수 있는 프로젝트 간에 훈련된 모델을 복사합니다.

이 게시물에서는 동일한 AWS 리전의 서로 다른 AWS 계정 간에 모델을 복사하는 방법을 보여줍니다.

모델 복사 기능의 이점

이 새로운 기능에는 다음과 같은 이점이 있습니다.

  • 다중 계정 ML-Ops 모범 사례 – 모델을 한 번 교육하고 개발, 품질 보증, 통합 및 프로덕션과 같은 다양한 환경에 매핑된 여러 계정에서 일관된 결과로 예측 가능한 배포를 보장하여 조직 내 ML-Ops 모범 사례를 따를 수 있습니다.
  • 비용 절감 및 더 빠른 배포 – 계정 간에 학습된 모델을 빠르게 복사할 수 있으므로 모든 계정에서 재학습하는 데 걸리는 시간을 피하고 모델 재학습 비용을 절약할 수 있습니다.
  • 민감한 데이터 세트 보호 – 더 이상 다른 AWS 계정 또는 사용자 간에 데이터 세트를 공유할 필요가 없습니다. 훈련 데이터는 모델 훈련이 수행되는 AWS 계정에서만 사용할 수 있어야 합니다. 이는 비즈니스 또는 규정 요구 사항을 충족하기 위해 데이터 격리가 필수적인 특정 산업에서 매우 중요합니다.
  • 손쉬운 협업 – 파트너 또는 공급업체는 이제 자체 AWS 계정에서 Amazon Rekognition Custom Labels 모델을 쉽게 교육하고 AWS 계정 전체에서 사용자와 모델을 공유할 수 있습니다.
  • 일관된 성능 – 이제 다양한 AWS 계정에서 모델 성능이 일관됩니다. 모델 훈련은 일반적으로 비결정적이며 동일한 데이터 세트로 훈련된 두 모델은 동일한 성능 점수와 동일한 예측을 보장하지 않습니다. 모델을 복사하면 복사된 모델의 동작이 원본 모델과 일치하도록 하여 모델을 다시 테스트할 필요가 없습니다.

솔루션 개요

다음 다이어그램은 솔루션 아키텍처를 보여줍니다.

이 게시물은 소스 계정에서 훈련된 Rekognition Custom Labels 모델이 있다고 가정합니다. 지침은 다음을 참조하십시오. Amazon Rekognition Custom Labels를 사용하여 사용자 지정 단일 클래스 객체 감지 모델 교육. 이 게시물에서는 Rekognition Custom Labels의 이미지 분류 "Room" 프로젝트를 사용했습니다. 샘플 프로젝트 목록 소스 계정에서 방 분류 모델을 훈련하여 부엌, 욕실, 거실 등의 이미지를 분류했습니다.

모델 복사 기능의 기능을 보여주기 위해 원본 계정에서 다음 단계를 거칩니다.

  1. 모델을 시작하고 샘플 이미지에 대한 추론을 실행합니다.
  2. Rekognition Custom Labels 모델을 복사하기 위한 교차 계정 액세스를 허용하는 리소스 기반 정책을 정의합니다.

그런 다음 소스 모델을 대상 계정에 복사합니다.

  1. 를 생성 아마존 단순 스토리지 서비스 (Amazon S3) 버킷은 모델 평가 및 성능 통계를 위한 컨테이너 역할을 합니다.
  2. 프로젝트를 만듭니다.
  3. 원본 계정에서 대상 계정으로 훈련된 모델을 복사합니다.
  4. 모델을 시작하고 샘플 이미지에서 추론을 실행합니다.
  5. 추론 결과가 원본 계정 모델의 결과와 일치하는지 확인합니다.

사전 조건

원본 계정에 학습된 모델이 있는 것 외에도 다음 사전 요구 사항 단계를 완료해야 합니다.

  1. AWS CLI V2를 설치합니다.
  2. 다음 코드로 AWS CLI를 구성하고 리전을 입력합니다.
    aws configure

  3. 다음 명령을 실행하여 로컬 호스트에 AWS CLI 버전 2.xx가 설치되어 있는지 확인합니다.
    aws --version

  4. 아래에서 AWS 자격 증명 파일을 업데이트합니다. $HOME/.aws/credentials 다음 항목으로:
    [source-account]
    aws_access_key_id = ####
    aws_secret_access_key = #######
    
    [target-account]
    aws_access_key_id = ####
    aws_secret_access_key = #######

  5. 가져오기 ProjectArnProjectVersionArn 소스 AWS 계정의 경우.ProjectArn 소스 모델과 연결된 프로젝트입니다. ProjectVersionArn 대상 계정에 복사하려는 모델의 버전입니다. SourceProjectArn 다음 명령을 사용하십시오.
    aws rekognition describe-projects 
    --region us-east-1 
    --profile source-account
    
    {
        "ProjectDescriptions": [{
            "ProjectArn": "arn:aws:rekognition:us-east-1::111111111111:project/rooms_1/1657588855531",
            .
            .
        }]
    }

    여러 줄의 출력이 표시되면 ProjectArn 복사할 모델과 연결됩니다.

    당신을 찾을 수 있습니다 SourceProjectVersionArn 사용하여 훈련한 모델의 경우 SourceProjectArn (이전 출력). 교체 SourceProjectArn 다음 명령에서:

    aws rekognition describe-project-versions 
    --project-arn SourceProjectArn 
    --region us-east-1 
    --profile source-account

    명령은 다음을 반환합니다. SourceProjectVersionArn. 여러 줄의 출력이 표시되면 ProjectVersionArn 관심의 대상.

    {
        "ProjectVersionDescriptions": [
            {
                "ProjectVersionArn": "arn:aws:rekognition:us-east-1:111111111111:project/rooms_1/version/rooms_1.2022-07-12T09.39.36/1657643976475",
                .
                .
            }
        ]
    }

이제 솔루션 구현 단계를 실행할 준비가 되었습니다. 다음 값을 바꿉니다. SourceProjectArnSourceProjectVersionArn 생성한 값으로 다음 명령에서

1. 모델을 시작하고 샘플 이미지에 대한 추론 실행

소스 계정에서 다음 코드를 입력하여 모델을 시작합니다.

aws rekognition start-project-version 
--project-version-arn SourceProjectVersionArn 
--min-inference-units 1 
--region us-east-1 
--profile source-account
{
    "Status": "STARTING"
}

모델이 호스팅되고 실행 중 상태가 되면 추론을 실행할 수 있습니다.

추론을 실행하기 위해 다음 이미지(demo1.jpeg 및 demo2.jpeg)를 사용했습니다. 이러한 이미지는 AWS CLI 명령이 실행되는 동일한 디렉터리의 로컬 파일 시스템에 있습니다.

다음 이미지는 뒷마당을 보여주는 demo1.jpeg입니다.

Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence의 모델 복사 기능 출시를 발표합니다. 수직 검색. 일체 포함.

다음 추론 코드 및 출력을 참조하십시오.

aws rekognition detect-custom-labels 
--project-version-arn SourceProjectVersionArn   
--image-bytes fileb://demo1.jpeg 
--region us-east-1 
--profile source-account
{
    "Name": "backyard",
    "Confidence": 45.77000045776367
 }

다음 이미지는 침실을 보여주는 demo2.jpeg입니다.

Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence의 모델 복사 기능 출시를 발표합니다. 수직 검색. 일체 포함.

다음 추론 코드 및 출력을 참조하십시오.

aws rekognition detect-custom-labels 
--project-version-arn SourceProjectVersionArn   
--image-bytes fileb://demo2.jpeg 
--region us-east-1 
--profile source-account
{
    "Name": "bedroom",
    "Confidence": 61.84600067138672
 }

추론 결과는 이미지가 클래스에 속해 있음을 보여줍니다. backyardbedroom, 신뢰 점수는 각각 45.77 및 61.84입니다.

2. 교차 계정 액세스를 허용하도록 훈련된 모델에 대한 IAM 리소스 정책 정의

리소스 기반 IAM 정책을 생성하려면 소스 계정에서 다음 단계를 완료하십시오.

  1. 특정 AWS 계정이 제공된 IAM 리소스 정책을 사용하여 리소스에 액세스하도록 허용합니다(자세한 내용은 프로젝트 정책 문서 작성. 에 대한 값 바꾸기 TargetAWSAccountIdSourceProjectVersionArn 다음 정책에서:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Principal": {
                    "AWS": [ "TargetAWSAccountId" ]
                },
                "Action": "Rekognition:CopyProjectVersion",
                "Resource": "SourceProjectVersionArn",
                "Effect": "Allow"
            }
        ]
    }

  2. 다음 명령을 호출하여 원본 계정의 프로젝트에 정책을 연결합니다.
    aws rekognition put-project-policy 
    --project-arn SourceProjectArn 
    --policy-name PolicyName 
    --policy-document '{
        "Version": "2012-10-17",
        "Statement": [
            {
                "Principal": {
                    "AWS": [ "TargetAWSAccountId" ]
                },
                "Action": "Rekognition:CopyProjectVersion",
                "Resource": "SourceProjectVersionArn",
                "Effect": "Allow"
            }
        ]
    }' 
    --region us-east-1 
    --profile source-account

    교체 SourceProjectArn, PolicyName, TargetAWSAccountIdSourceProjectVersionArn.

    출력에는 생성된 정책 개정 ID가 표시됩니다.

    {
        "PolicyRevisionId": "f95907f9c1472c114f61b0e1f31ed131"
    }

이제 원본 계정에서 대상 계정으로 훈련된 모델을 복사할 준비가 되었습니다..

3. 대상 계정에 S3 버킷 생성

계정의 기존 S3 버킷을 사용하거나 새 S3 버킷을 생성할 수 있습니다. 이 게시물에서는 이를 S3 버킷이라고 합니다. DestinationS3Bucket.

4. 새로운 Rekognition Custom Labels 프로젝트 생성

다음 코드를 사용하여 새 프로젝트를 만듭니다.

aws rekognition create-project 
--project-name target_rooms_1 
--region us-east-1 
--profile target-account 

이렇게하면 TargetProjectArn 대상 계정에서:

{
    "ProjectArn": "arn:aws:rekognition:us-east-1:222222222222:project/target_rooms_1/1657599660206"
}

대상 프로젝트의 가치를 기록하십시오. ProjectArn 필드. 다음 복사 모델 명령에서 이 값을 사용합니다.

5. 원본 계정에서 대상 계정으로 모델 복사

소스 및 대상 제공 ProjectArn, 원천 ProjectVersionArn, 다음 코드에서 대상 S3 버킷 및 S3 키 접두사:

aws rekognition copy-project-version 
--source-project-arn SourceProjectArn 
--source-project-version-arn SourceProjectVersionArn 
--destination-project-arn TargetProjectArn 
--version-name TargetVersionName 
--output-config '{"S3Bucket":"DestinationS3Bucket", "S3KeyPrefix":"DestinationS3BucketPrefix"}' 
--region us-east-1 
--profile target-account

이것은 복사된 모델을 생성합니다 TargetProjectVersionArn 대상 계정에서. 그만큼 TargetVersionName 우리의 경우 명명되었습니다 copy_rooms_1:

{
    "ProjectVersionArn": "arn:aws:rekognition:us-east-1:222222222222:project/target_rooms_1/version/copy_rooms_1/1657667877079"
}

모델 복사 프로세스의 상태를 확인합니다.

aws rekognition describe-project-versions 
--project-arn TargetProjectArn 
--version-names TargetVersionName 
--region us-east-1 
--profile target-account

원본 계정에서 대상 계정으로의 모델 복사가 완료되면 Status 변경 사항 COPYING_COMPLETED:

 {
    "ProjectVersionDescriptions": [
        {
            "ProjectVersionArn": "arn:aws:rekognition:us-east-1:222222222222:project/target_rooms_1/version/copy_rooms_1/1657667877079",
            "CreationTimestamp": "2022-07-12T16:17:57.079000-07:00",
            "Status": "COPYING_COMPLETED",
            "StatusMessage": "Model copy operation was successful",
            ..........
            ..........
            "EvaluationResult": {
                "F1Score": 0.0,
                "Summary": {

6. 모델 시작 및 추론 실행

대상 계정에서 모델을 시작하려면 다음 코드를 입력하십시오.

aws rekognition start-project-version 
--project-version-arn TargetProjectArn 
--min-inference-units 1 
--region us-east-1 
--profile target-account
{
    "Status": "STARTING"
}

모델의 상태를 확인하십시오.

aws rekognition describe-project-versions 
--project-arn TargetProjectArn 
--version-names copy_rooms_1 
--region us-east-1 
--profile target-account

이제 모델이 호스팅되고 실행됩니다.

{
    "ProjectVersionDescriptions": [
        {
            "ProjectVersionArn": "arn:aws:rekognition:us-east-1:222222222222:project/target_rooms_1/version/copy_rooms_1/1657667877079",
            "CreationTimestamp": "2022-07-12T16:17:57.079000-07:00",
            "MinInferenceUnits": 1,
            "Status": "RUNNING",
            "StatusMessage": "The model is running.",
            ..........
            ..........
        }
    ]
}

다음 코드를 사용하여 추론을 실행합니다.

aws rekognition detect-custom-labels 
 --project-version-arn TargetProjectVersionArn 
 --image-bytes fileb://demo1.jpeg 
 --region us-east-1 
 --profile target-account
{
    "Name": "backyard",
    "Confidence": 45.77000045776367
 }
aws rekognition detect-custom-labels 
 --project-version-arn TargetProjectVersionArn 
 --image-bytes fileb://demo2.jpeg 
 --region us-east-1 
 --profile target-account
{
    "Name": "bedroom",
    "Confidence": 61.84600067138672

7. 추론 결과가 일치하는지 확인

대상 계정의 demo1.jpg 및 demo2.jpg 이미지에 대한 클래스 및 신뢰도 점수는 원본 계정의 결과와 일치해야 합니다.

결론

이 게시물에서는 Rekognition Custom Label 모델 복사 기능을 시연했습니다. 이 기능을 사용하면 한 계정에서 분류 또는 개체 감지 모델을 교육한 다음 동일한 리전의 다른 계정과 모델을 공유할 수 있습니다. 이렇게 하면 모델을 한 번 교육하고 교육 데이터 세트를 다시 교육하거나 공유할 필요 없이 동일한 리전 내의 계정 간에 공유할 수 있는 다중 계정 전략이 간소화됩니다. 이를 통해 MLOps 워크플로의 일부로 모든 계정에서 예측 가능한 배포가 가능합니다. 자세한 내용은 Amazon Rekognition 사용자 지정 레이블 모델 복사, 또는 AWS CLI와 함께 클라우드 셸을 사용하여 이 게시물의 연습을 시도해 보십시오.

이 글을 쓰는 시점에서 Amazon Rekognition Custom Labels의 모델 복사 기능은 다음 리전에서 사용할 수 있습니다.

  • 미국 동부 (오하이오)
  • 미국 동부 (버지니아 북부)
  • 미국 서부 (오레곤)
  • 아시아 태평양 (뭄바이)
  • 아시아 태평양 (서울)
  • 아시아 태평양 (싱가포르)
  • 아시아 태평양 (시드니)
  • 아시아 태평양 (도쿄)
  • EU (프랑크푸르트)
  • EU (아일랜드)
  • EU (런던)

이 기능을 사용해 보고 다음을 통해 피드백을 보내주세요. AWS 포럼 Amazon Rekognition의 경우 또는 AWS 지원 연락처를 통해 문의하십시오.


저자 소개

Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence의 모델 복사 기능 출시를 발표합니다. 수직 검색. 일체 포함.아미 굽타 AWS의 수석 AI 서비스 솔루션 아키텍트입니다. 그는 규모에 맞게 잘 설계된 기계 학습 솔루션을 통해 고객을 지원하는 데 열정적입니다.

Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence의 모델 복사 기능 출시를 발표합니다. 수직 검색. 일체 포함.요게시 차투르베디 컴퓨터 비전에 중점을 둔 AWS의 솔루션 아키텍트입니다. 그는 고객과 협력하여 클라우드 기술을 사용하여 비즈니스 문제를 해결합니다. 일 외에는 하이킹, 여행, 스포츠 관전을 즐깁니다.

Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence의 모델 복사 기능 출시를 발표합니다. 수직 검색. 일체 포함.아카시 딥 AWS의 수석 소프트웨어 엔지니어입니다. 그는 컴퓨터 비전, AI 및 분산 시스템 작업을 즐깁니다. 일 외에는 하이킹과 여행을 즐깁니다.

Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence의 모델 복사 기능 출시를 발표합니다. 수직 검색. 일체 포함.파시민 미스트리 Amazon Rekognition Custom Labels의 수석 제품 관리자입니다. 직장 밖에서 Pashmeen은 모험적인 하이킹, 사진 촬영, 가족과 함께 시간을 보내는 것을 즐깁니다.

타임 스탬프 :

더보기 AWS 기계 학습