SageMaker Ground Truth (Labeling)
SageMaker Labeling
Home
AWS SageMaker 는 기계학습을 위한 서비스입니다.
그 중, Ground Truth Job을 통해 데이터 라벨링을 진행할 수 있습니다.
선행 작업 필요: 이 작업을 실행하기 전에, S3 버킷에 라벨링 작업을 진행 할 데이터를 업로드해야 합니다.
선행 작업 필요: 클라우드 아웃소싱 및 공급 업체를 통한 라벨링 작업이 아닌 경우, 레이블 지정 인력(팀)을 결성해야 합니다.
Ground Truth Job 생성
기본 설정
-
작업 이름: AWS 리전의 계정에서 고유해야 하는 작업 네임.
-
입력 데이터 설정:
- 자동화된 데이터 설정
- 자동으로 데이터 연결. 사용자가 S3에 저장된 데이터 세트의 위치와 레이블을 지정하려는 데이터 유형 등을 지정하면, Ground Truth 가 자동으로 해당 데이터 세트를 찾아 레이블링 작업에 연결.
- 데이터의 유형과 위치만 제공하면 자동으로 처리해주는 자동화 프로세스
- 수동 데이터 설정
- 입력 메니페스트 파일을 직접 연결.
- S3에 저장된 데이터를 일일이 지정해줘야 한다.
- 어떤 데이터 객체(예: 이미지 파일 등)를 레이블링 해야할 지 그 목록을 담고있는 파일
- 자동화된 데이터 설정
메니페스트 파일이 별도 존재하지 않는 경우를 제외하고 일반적으로 자동화된 데이터 설정을 따릅니다.
데이터 지정
데이터 셋트는 S3 버킷에 저장된 데이터를 사용합니다.
- S3 찾아보기를 클릭하여 데이터가 저장된 버킷 경로를 지정합니다.
버킷을 선택하고, 데이터가 저장된 객체를 명확하게 지정해야 합니다.
- S3 버킷 이름을 클릭하여, 라벨링 할 데이터가 저장된 명확한 폴더까지 접근 합니다.
- 라벨링 할 데이터가 폴더 속에 잘 지정되어 있는 지 확인합니다.
- 라벨링 할 데이터가 저장된 폴더를 지정, 선택합니다.
- 경로가 명확하게 지정된 지 확인합니다.
- 출력 데이터 세트가 저장될 위치를 지정합니다.
데이터 형식 지정
- 형식에 맞는 데이터를 지정합니다.
IAM Role 지정
S3 버킷 엑세스 권한 등의 정책을 지정해야 합니다.
이는 AWS IAM 정책에 따릅니다.
AWS IAM 정책을 생성하는 방법:
새 역할 생성하기
일반적으로 처음 시작하는 사용자 또는 개별 사용자가 따라할 수 있습니다.
- Create a new role 을 선택합니다.
- 특정 S3 버킷: 엑세스를 허용할 버킷을 지정합니다.
- 모든 S3 버킷: AWS 계정 내 모든 S3 버킷의 접근을 허용합니다.
- 새 규칙이 생성, 적용된 것을 확인합니다.
기존 역할 적용하기: Use existing role
기존 사용중이던 역할을 그대로 사용합니다.
- 기존 사용중이던 룰을 그대로 사용합니다.
기존 역할 적용하기: IAM 룰 가져오기
IAM 에 등록된 Role 을 가져옵니다.
- Enter a custom IAM role ARN 을 선택합니다.
- 직접 지정할 IAM 역할의 ARN 을 복사, 입력합니다.
고급 옵션
- 데이터 세트 객체를 일정 비율만큼 사용하거나, 쿼리를 지정하여 선택한 일부의 데이터만을 가져올 때 선택합니다.
데이터 체크
위와 같은 메시지를 응답 받으면, 데이터 지정에 성공했습니다.
Trouble Shooting: 입력 데이터 설정 오류
- 위 에러는 지정한 데이터 경로 상 저장된 데이터와 설정한 데이터 형식이 다를 때 발생합니다.
- 실제 저장된 데이터의 형식과 지정한 데이터의 형식을 명확하게 지정해야 합니다.
작업 유형 지정
각 데이터 형식과 목표 작업에 맞게 지정해야 합니다.
이미지
- 이미지 분류(단일 레이블): 하나의 이미지에 하나의 레이블. 즉, 하나의 결과값만을 가지는 분류 작업입니다.
- 이미지 분류(다중 레이블): 하나의 이미지에 여려개의 레이블이 존재합니다. 즉, 여려개의 결과 값을 가질 수 있는 분류 작업입니다.
- 경계 상자: Bounding Box. 각 오브젝트의 위치를 추적하는 바운딩 박스를 생성합니다.
- 의미 체계 분할: Segmentation. 오브젝트를 파악하고, 픽셀 단위 수준의 오브젝트 위치를 추적합니다.
- 레이블 확인: 이미지가 가지는 레이블이 명확한 지 확인합니다.
텍스트
동영상
포인트 클라우드 (Lidar)
작업자 지정
레이블링 작업은 다음과 같은 옵션을 가지고 있습니다.
Private
개인 및 협업 팀 단위로 라벨링을 수행합니다.
팀 결성
프라이빗 팀 결성 선행 작업이 요구됩니다. SageMaker 레이블 지정 인력 관리
- 프라이빗 팀을 선택합니다.
작업 단위 지정
- 테스크 작업 시간: 작업자당 단일 작업에서 부여할 수 있는 최대 시간입니다. 8시간이 최대 입니다.
-
테스크 만료 시간: 작업자 당 얼마의 기간동안 수행할 수 있는지 지정할 수 있습니다.
- Tip: 개별 팀의 경우 많은 시간을 부여해 두는것이 좋습니다.
오토 레이블링
레이블링 된 데이터를 바탕으로 모델을 학습시키고, 그 모델을 활용하여 나머지 데이터를 Auto Labeling 합니다.
- 데이터 세트의 일부를 오토 라벨링 할 수 있도록 합니다.
-
컴퓨팅 리소스(AWS EC2)를 소모하며 작업하게 됩니다.
- 오토 레이블링 발동 조건은 다음과 같습니다.
- 최소 1,250 개의 데이터 객체가 있어야 Auto Labeling 을 시작할 수 있다.
- 5,000 개 이상의 데이터 객체를 제공하는 것이 권장된다.
- 전체 데이터 객체 중 아래 비율만큼 수동으로 레이블링 해주어야 합니다.
- 전체 데이터 세트가 5,000개 이상일 경우: 전체 데이터의 10%
- 전체 데이터 세트가 5,000개 미만일 경우: 전체 데이터의 20%
- E.g., 2000개의 데이터 객체가 있을 때, 200개의 수동 라벨링 작업이 요구 됩니다.
객체당 작업자 수
- 하나의 데이터 객체를 몇 명에서 작업하는 지 지정합니다.
- 반복 작업으로 데이터의 정확도를 높일 수 있습니다.
- 선택하지 않으면, 데이터 세트를 여러 작업자가 나뉘어 작업합니다.
Amazon Mechanical Turk
AWS 의 클라우드 소싱 플랫폼으로, 작업 인력을 고용하여 라벨링을 수행할 수 있습니다.
- 작업당 가격: 레이블링에 비용을 제시합니다. 제시된 금액은 작업 난이도 및 단위 작업당 걸리는 시간, 품질 및 긴급성을 고려하여 지정할 수 있습니다.
- 다시말해, 이 가격을 제시하여 작업자를 모집하는 공고의 개념입니다. 작업자들은 여러 기준을 고려한 뒤 참여 의사를 밝힐 수 있습니다.
- 데이터 레이블 지정 자동화를 통해 오토 라벨링 작업이 가능하도록 합니다.
- 성인 콘텐츠를 포함하는 경우 체크 해제
VPC 구성
VPC 구성은 일반적으로 사용하지 않습니다.
- VPC 를 사용하면 작업이 Public 네트워크에 노출되지 않습니다.
레이블 지정 도구
아래 예시는 의미 체계 분할(Segmentation) 레이블링을 기준으로 제작하였습니다.
- 사람 및 장애물을 감지하는 모델을 만들기 위한 레이블링 작업 예시입니다.
- 위와 같이 레이블과 간단한 지침박스를 지정합니다.
- 레이블은 작업 생성 후 변경할 수 없습니다.
- 한글보다 영어 사용을 권장합니다.
- 더 상사한 지침서를 추가 지침을 통해 지정할 수 있습니다.
- 미리보기를 통해 실제 작업 환경을 볼 수 있습니다.
레이블 작업 생성 완료
위와 같은 결과가 나타나면 레이블 작업 생성이 완료된 것입니다.
레이블링 작업 생성이 완료되었을 경우 레이블 지정 인력 관리에서 구성한 워크 스페이스 URL 로 접속 가능합니다.
이전에 할당한 프라이빗 팀 대시보드에 접속하여 보면,
레이블 지정 작업에 작업이 성공적으로 추가된 것을 확인할 수 있습니다.
작업이 조직원들에게 공개되기까지 수 분이 소요될 수 있습니다.
이후, 라벨링 작업에 관한 내용은 아래 도큐먼트에서 확인 할 수 있습니다.
Leave a comment