인적 검토 워크플로 생성 - Amazon SageMaker AI

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

인적 검토 워크플로 생성

Amazon Augmented AI(Amazon A2I) 인적 검토 워크플로 또는 흐름 정의를 사용하여 다음을 지정합니다.

  • Amazon Textract 및 Amazon Rekognition 기본 제공 태스크 유형의 경우 인적 루프가 호출되는 조건

  • 작업이 전달되는 인력

  • 작업자가 수신하는 일련의 지침(작업자 태스크 템플릿이라고 함)

  • 작업을 수신하는 작업자 수 및 작업 완료를 위한 시간 제한을 포함하여 작업자 작업의 구성

  • 출력 데이터가 저장되는 위치

SageMaker AI 콘솔에서 또는 SageMaker AI CreateFlowDefinition 작업을 사용하여 인적 검토 워크플로를 생성할 수 있습니다. 사용자는 흐름 정의를 생성하는 동안 Amazon Textract 및 Amazon Rekognition 태스크 유형에 대해 콘솔을 사용하여 작업자 태스크 템플릿을 생성할 수 있습니다.

중요

인적 루프를 시작하는 인적 루프 활성화 조건(예: 신뢰도 임곗값)은 Amazon A2I 사용자 지정 태스크 유형에는 사용할 수 없습니다. 콘솔을 사용하여 사용자 지정 태스크 유형에 대한 흐름 정의를 생성하는 경우 활성화 조건을 지정할 수 없습니다. Amazon A2I API를 사용하여 사용자 지정 태스크 유형에 대한 흐름 정의를 생성하는 경우 HumanLoopActivationConditionsConfig 파라미터의 HumanLoopActivationConditions 속성을 설정할 수 없습니다. 인적 검토가 시작되는 시점을 제어하려면 사용자 지정 애플리케이션에서 StartHumanLoop가 호출되는 조건을 지정하세요. 이 경우 모든 StartHumanLoop 호출은 인적 검토를 초래합니다. 자세한 내용은 Amazon Augmented AI를 사용자 지정 작업 유형과 함께 사용 섹션을 참조하세요.

사전 조건

인적 검토 흐름 정의를 생성하려면 먼저 Augmented AI 사용을 위한 사전 조건에 설명된 사전 조건을 완료해야 합니다.

API를 사용하여 태스크 유형에 대한 흐름 정의를 생성하거나, 콘솔에서 흐름 정의를 생성할 때 사용자 지정 태스크 유형을 사용하는 경우 먼저 작업자 태스크 템플릿을 생성합니다. 자세한 내용은 작업자 태스크 템플릿 생성 및 관리 섹션을 참조하세요.

콘솔에서 기본 제공 태스크 유형에 대한 흐름 정의를 생성하는 동안 작업자 태스크 템플릿을 미리 보려면 작업자 작업 템플릿 미리 보기 사용 에서 설명하는 것과 같은 정책을 사용하여 템플릿 아티팩트가 포함된 Amazon S3 버킷에 액세스할 수 있는 흐름 정의 권한을 생성하는 데 사용하는 역할을 부여합니다.

인적 검토 워크플로 생성(콘솔)

이 절차를 사용하여 SageMaker AI 콘솔을 사용하여 Amazon Augmented AI(Amazon A2I) 인적 검토 워크플로를 생성합니다. Amazon A2I를 처음 사용하는 경우 조직의 구성원을 사용하여 프라이빗 작업 팀을 생성하고 흐름 정의를 생성할 때 이 작업 팀의 ARN을 사용하는 것이 좋습니다. 프라이빗 작업 인력을 설정하고 작업 팀을 생성하는 방법은 프라이빗 작업 인력 생성(Amazon SageMaker AI 콘솔) 섹션을 참조하세요. 프라이빗 작업 인력을 이미 설정한 경우 SageMaker AI 콘솔을 사용하여 작업 팀 생성 섹션을 참조하여 해당 작업 인력에 작업 팀을 추가하는 방법을 알아봅니다.

Amazon A2I에서 기본 제공 태스크 유형 중 하나를 사용하는 경우 콘솔에서 인적 검토 워크플로를 생성하는 동안 사용자는 Augmented AI에서 제공하는 기본 작업자 태스크 템플릿을 사용하여 작업자 지침을 생성할 수 있습니다. Augmented AI에서 제공하는 기본 템플릿의 샘플을 보려면 Amazon A2I를 사용한 사용 사례 및 예제의 기본 제공 태스크 유형을 참조하세요.

흐름 정의를 생성하려면(콘솔)
  1. 에서 SageMaker AI 콘솔을 엽니다https://console.aws.amazon.com/sagemaker/.

  2. 탐색 창의 Augmented AI 섹션에서 Human review workflows(인적 검토 워크플로)를 선택한 다음 Create human review workflow(인적 검토 워크플로 생성)를 선택합니다.

  3. 개요에서 다음을 수행합니다.

    1. 이름에 고유한 워크플로 이름을 입력합니다. 이름은 소문자여야 하고 계정의 AWS 리전 내에서 고유해야 하며 최대 63자까지 가능합니다. 유효한 문자는 a-z, 0-9 및 -(하이픈)입니다.

    2. S3 location for output(출력을 위한 S3 위치)에 인적 검토 결과를 저장해야 하는 S3 버킷을 입력합니다. 버킷은 워크플로와 동일한 AWS 리전에 있어야 합니다.

    3. IAM 역할에서 필요한 권한이 있는 역할을 선택합니다. 기본 제공 태스크 유형을 선택하고 콘솔에서 작업자 템플릿을 미리 보려는 경우 연결된 작업자 작업 템플릿 미리 보기 사용 에서 설명하는 정책 유형과 함께 역할을 제공합니다.

  4. 태스크 유형에서 인적 작업자가 수행할 태스크 유형을 선택합니다.

  5. Amazon Rekognition 또는 Amazon Textract 태스크 유형을 선택한 경우 인적 검토를 간접적으로 호출할 조건을 지정합니다.

    • Amazon Rekognition Image 조절 작업의 경우 인적 검토를 트리거하는 추론 신뢰도 점수 임곗값 간격을 선택합니다.

    • Amazon Textract 작업의 경우, 사용자는 특정 양식 키가 누락되었거나 양식 키 감지 신뢰도가 낮을 때 인적 검토를 시작할 수 있습니다. 또한 텍스트의 모든 양식 키를 평가한 후 신뢰도가 양식 키에 필요한 임곗값보다 낮은 경우에도 인적 검토를 시작할 수 있습니다. 두 가지 변수인 Identification confidence(식별 신뢰도)Qualification confidence(자격 신뢰도)가 신뢰도 임곗값을 지정합니다. 이러한 변수에 대한 자세한 내용은 Amazon Augmented AI를 Amazon Textract와 함께 사용 섹션을 참조하세요.

    • 두 태스크 유형 모두, 사용자는 검토를 위해 일정 비율의 데이터 개체(이미지 또는 양식)와 해당 레이블을 인적 작업자에게 무작위로 보낼 수 있습니다.

  6. 작업자 태스크 템플릿을 구성하고 지정합니다.

    1. Amazon Rekognition 또는 Amazon Textract를 사용하는 경우 태스크 유형은 다음과 같습니다.

      1. Create template(템플릿 생성) 섹션에서

        • Amazon Rekognition 및 Amazon Textract 태스크 유형에 대한 Amazon A2I 기본 템플릿을 사용하여 작업자에 대한 지침을 생성하려면 Build from a default template(기본 템플릿에서 빌드)을 선택합니다.

          • Build from a default template(기본 템플릿에서 빌드)을 선택하면 Worker task design(작업자 작업 설계)에서 지침을 생성합니다.

            • 현재 있는 AWS 리전에서 고유한 템플릿 이름을 제공합니다.

            • Instructions(지침) 섹션에서 작업 완료 방법에 대한 자세한 지침을 제공합니다. 작업자의 정확성을 높이기 위해 좋은 예제와 나쁜 예제를 제공합니다.

            • (선택 사항) Additional instructions(추가 지침)에서 작업자에게 추가 정보 및 지침을 제공합니다.

              효과적인 지침 생성에 대한 자세한 내용은 정확한 작업자 지침 생성 섹션을 참조하세요.

        • 생성한 사용자 지정 템플릿을 선택하려면 템플릿 메뉴에서 템플릿을 선택하고 작업 설명을 제공하여 작업자에게 작업을 간략하게 설명합니다. 사용자 지정 템플릿을 생성하는 방법은 작업자 태스크 템플릿 생성 섹션을 참조하세요.

    2. 사용자 지정 태스크 유형을 사용하는 경우

      1. 작업자 태스크 템플릿 섹션 목록에서 템플릿을 선택합니다. SageMaker AI 콘솔에서 생성한 모든 템플릿이이 목록에 나타납니다. 사용자 지정 태스크 유형에 대한 템플릿을 생성하는 방법은 작업자 태스크 템플릿 생성 및 관리 섹션을 참조하세요.

  7. (선택 사항) 작업자 템플릿을 미리 봅니다.

    Amazon Rekognition 및 Amazon Textract 태스크 유형의 경우 See a sample worker task(샘플 작업자 작업 보기)를 선택하여 작업자 작업 UI를 미리 볼 수 있습니다.

    사용자 지정 태스크 유형에 대한 흐름 정의를 생성하는 경우 사용자는 RenderUiTemplate 작업을 사용하여 작업자 작업 UI를 미리 볼 수 있습니다. 자세한 내용은 작업자 태스크 템플릿 미리 보기 섹션을 참조하세요.

  8. 작업자에서 작업 인력 유형을 선택합니다.

  9. 생성(Create)을 선택합니다.

다음 단계

인적 검토 워크플로가 생성되면 콘솔의 Human review workflows(인적 검토 워크플로) 아래에 표시됩니다. 흐름 정의의 Amazon 리소스 이름(ARN) 및 구성 세부 정보를 보려면 해당 이름을 선택하여 워크플로를 선택합니다.

기본 제공 작업 유형을 사용하는 경우 흐름 정의 ARN을 사용하여 해당 AWS 서비스의 API(예: Amazon Textract API)를 사용하여 인적 루프를 시작할 수 있습니다. 사용자 지정 태스크 유형의 경우 사용자는 ARN을 사용하여 Amazon Augmented AI 런타임 API를 사용하는 인적 루프를 시작할 수 있습니다. 두 옵션에 대한 자세한 내용은 인적 루프 생성 및 시작 섹션을 참조하세요.

인적 검토 워크플로(API) 생성

SageMaker API를 사용하여 흐름 정의를 생성하려면 CreateFlowDefinition 작업을 사용합니다. Augmented AI 사용을 위한 사전 조건 작업을 완료한 후 다음 절차를 사용하여 이 API 작업을 사용하는 방법을 알아보세요.

CreateFlowDefinition 작업에 대한 개요와 각 파라미터에 대한 자세한 내용은 CreateFlowDefinition을 참조하세요.

흐름 정의(API)를 생성하려면
  1. FlowDefinitionName에 고유한 이름을 입력합니다. 이름은 계정의 AWS 리전 내에서 고유해야 하며 최대 63자까지 가능합니다. 유효한 문자는 a-z, 0-9 및 -(하이픈)입니다.

  2. RoleArn에 데이터 원본에 대한 액세스 권한을 부여하도록 구성한 역할의 ARN을 입력합니다.

  3. HumanLoopConfig에서 작업자와 작업자가 확인해야 하는 내용에 대한 정보를 입력합니다. HumanLoopConfig의 각 파라미터에 대한 자세한 내용은 HumanLoopConfig를 참조하세요.

  4. (선택 사항) 기본 제공 태스크 유형을 사용하면 HumanLoopActivationConfig에서 인적 루프를 시작하는 조건을 제공합니다. HumanLoopActivationConfig 파라미터에 필요한 입력을 생성하는 방법은 Amazon Augmented AI의 인적 루프 활성화 조건에 대한 JSON 스키마 섹션을 참조하세요. 여기에서 조건을 지정하지 않으면 기본 제공 작업 유형(예: Amazon Textract 또는 Amazon Rekognition)과 연결된 AWS 서비스에 흐름 정의를 제공할 때 해당 서비스는 검토를 위해 모든 작업을 인간 작업자에게 보냅니다.

    사용자 태스크 유형을 사용하면 HumanLoopActivationConfig는 비활성화됩니다. 사용자 지정 태스크 유형을 사용하여 인적 작업자에게 작업을 전송하는 시기를 제어하는 방법은 Amazon Augmented AI를 사용자 지정 작업 유형과 함께 사용 섹션을 참조하세요.

  5. (선택 사항) 기본 제공 태스크 유형을 사용하는 경우 HumanLooprequestSource 파라미터에 통합 소스(예: Amazon Rekognition 또는 Amazon Textract)를 지정하세요.

  6. OutputConfig의 경우 Amazon Simple Storage Service(S3)에서 인적 루프의 출력을 저장할 위치를 표시합니다.

  7. (선택 사항) 흐름 정의를 분류하고 구성하는 데 도움이 되는 키 값 페어를 입력하려면 Tags을 사용합니다 각 태그는 사용자가 정의하는 키와 값으로 구성됩니다.

Amazon Textract – Key-value pair extraction

다음은 AWS SDK for Python (Boto3)을 사용하여 Amazon Textract의 인적 검토 워크플로(흐름 정의)를 생성해 달라는 요청의 예입니다. Amazon Textract 인적 루프를 생성하는 데 먼저 'AWS/Textract/AnalyzeDocument/Forms/V1'을 사용해야 합니다. Mechanical Turk 인력을 사용하는 경우에만 PublicWorkforceTaskPrice을 포함하세요.

sagemaker_client = boto3.client('sagemaker', aws_region) response = sagemaker_client.create_flow_definition( FlowDefinitionName='ExampleFlowDefinition', HumanLoopRequestSource={ 'AwsManagedHumanLoopRequestSource': 'AWS/Textract/AnalyzeDocument/Forms/V1' }, HumanLoopActivationConfig={ 'HumanLoopActivationConditionsConfig': { 'HumanLoopActivationConditions': '{...}' } }, HumanLoopConfig={ 'WorkteamArn': 'arn:aws:sagemaker:aws_region:aws_account_number:workteam/private-crowd/workteam_name', 'HumanTaskUiArn': 'arn:aws:sagemaker:aws_region:aws_account_number:human-task-ui/template_name', 'TaskTitle': 'Example task title', 'TaskDescription': 'Example task description.', 'TaskCount': 123, 'TaskAvailabilityLifetimeInSeconds': 123, 'TaskTimeLimitInSeconds': 123, 'TaskKeywords': [ 'Keyword1','Keyword2' ], 'PublicWorkforceTaskPrice': { 'AmountInUsd': { 'Dollars': 123, 'Cents': 123, 'TenthFractionsOfACent': 123 } } }, OutputConfig={ 'S3OutputPath': 's3://bucket/path/', 'KmsKeyId': '1234abcd-12ab-34cd-56ef-1234567890ab' }, RoleArn='arn:aws:iam::aws_account_number:role/role_name', Tags=[ { 'Key': 'KeyName', 'Value': 'ValueName' }, ] )
Amazon Rekognition – Image moderation

다음은 AWS SDK for Python (Boto3)을 사용하여 Amazon Rekognition 인적 검토 워크플로(흐름 정의)를 생성해 달라는 요청의 예입니다. Amazon Rekognition 흐름 정의를 생성하려면 먼저 'AWS/Rekognition/DetectModerationLabels/Image/V3'을 사용해야 합니다. Mechanical Turk 인력을 사용하는 경우에만 PublicWorkforceTaskPrice을 포함하세요.

sagemaker_client = boto3.client('sagemaker', aws_region) response = sagemaker_client.create_flow_definition( FlowDefinitionName='ExampleFlowDefinition', HumanLoopRequestSource={ 'AwsManagedHumanLoopRequestSource': 'AWS/Rekognition/DetectModerationLabels/Image/V3' }, HumanLoopActivationConfig={ 'HumanLoopActivationConditionsConfig': { 'HumanLoopActivationConditions': '{...}' } }, HumanLoopConfig={ 'WorkteamArn': 'arn:aws:sagemaker:aws_region:aws_account_number:workteam/private-crowd/workteam_name', 'HumanTaskUiArn': 'arn:aws:sagemaker:aws_region:aws_account_number:human-task-ui/template_name', 'TaskTitle': 'Example task title', 'TaskDescription': 'Example task description.', 'TaskCount': 123, 'TaskAvailabilityLifetimeInSeconds': 123, 'TaskTimeLimitInSeconds': 123, 'TaskKeywords': [ 'Keyword1','Keyword2' ], 'PublicWorkforceTaskPrice': { 'AmountInUsd': { 'Dollars': 123, 'Cents': 123, 'TenthFractionsOfACent': 123 } } }, OutputConfig={ 'S3OutputPath': 's3://bucket/path/', 'KmsKeyId': '1234abcd-12ab-34cd-56ef-1234567890ab' }, RoleArn='arn:aws:iam::aws_account_number:role/role_name', Tags=[ { 'Key': 'KeyName', 'Value': 'ValueName' }, ] )
Custom Workflow

다음은 사용자 지정 통합을 위해 인적 검토 워크플로(흐름 정의)를 생성해 달라는 요청의 예입니다. 이러한 유형의 인적 검토 워크플로를 생성하려면 흐름 정의 요청에서 HumanLoopRequestSource을 생략하세요. Mechanical Turk 인력을 사용하는 경우에만 PublicWorkforceTaskPrice을 포함하면 됩니다.

sagemaker_client = boto3.client('sagemaker', aws_region) response = sagemaker_client.create_flow_definition( FlowDefinitionName='ExampleFlowDefinition', HumanLoopActivationConfig={ 'HumanLoopActivationConditionsConfig': { 'HumanLoopActivationConditions': '{...}' } }, HumanLoopConfig={ 'WorkteamArn': 'arn:aws:sagemaker:aws_region:aws_account_number:workteam/private-crowd/workteam_name', 'HumanTaskUiArn': 'arn:aws:sagemaker:aws_region:aws_acount_number:human-task-ui/template_name', 'TaskTitle': 'Example task title', 'TaskDescription': 'Example task description.', 'TaskCount': 123, 'TaskAvailabilityLifetimeInSeconds': 123, 'TaskTimeLimitInSeconds': 123, 'TaskKeywords': [ 'Keyword1','Keyword2' ], 'PublicWorkforceTaskPrice': { 'AmountInUsd': { 'Dollars': 123, 'Cents': 123, 'TenthFractionsOfACent': 123 } } }, OutputConfig={ 'S3OutputPath': 's3://bucket/path/', 'KmsKeyId': '1234abcd-12ab-34cd-56ef-1234567890ab' }, RoleArn='arn:aws:iam::account_number:role/role_name', Tags=[ { 'Key': 'KeyName', 'Value': 'ValueName' }, ] )

다음 단계

CreateFlowDefinition API 작업이 성공적으로 호출된 경우 반환 값은 흐름 정의 Amazon 리소스 이름(ARN)입니다.

기본 제공 작업 유형을 사용하는 경우 흐름 정의 ARN을 사용하여 해당 AWS 서비스의 API(예: Amazon Textract API)를 사용하여 인적 루프를 시작할 수 있습니다. 사용자 지정 태스크 유형의 경우 사용자는 ARN을 사용하여 Amazon Augmented AI 런타임 API를 사용하는 인적 루프를 시작할 수 있습니다. 이러한 두 옵션에 대한 자세한 내용은 인적 루프 생성 및 시작 섹션을 참조하세요.