더 많은 조직이 더 깊은 통찰력을 얻기 위해 머신 러닝(ML)으로 전환함에 따라 두 가지 주요 걸림돌은 레이블 지정 및 수명 주기 관리입니다. 레이블 지정은 ML 모델이 학습할 수 있도록 데이터를 식별하고 컨텍스트를 제공하기 위해 레이블을 추가하는 것입니다. 레이블은 오디오 파일의 문구, 사진의 자동차 또는 MRI의 장기를 나타낼 수 있습니다. ML 모델이 데이터에 대해 작동하도록 하려면 데이터 레이블 지정이 필요합니다. 수명 주기 관리는 ML 실험을 설정하고 결과를 얻는 데 사용된 데이터 세트, 라이브러리, 버전 및 모델을 문서화하는 프로세스와 관련이 있습니다. 팀은 하나의 접근 방식에 정착하기 전에 수백 가지 실험을 실행할 수 있습니다. 그 실험의 요소에 대한 기록 없이는 그 접근 방식으로 돌아가서 다시 만들기가 어려울 수 있습니다.
많은 ML 예제 및 자습서는 대상 값이 포함된 데이터 세트로 시작합니다. 그러나 실제 데이터에 항상 이러한 목표 값이 있는 것은 아닙니다. 예를 들어, 감정 분석에서 사람은 일반적으로 리뷰가 긍정적인지, 부정적인지, 혼합인지 판단할 수 있습니다. 그러나 리뷰는 아무런 판단 가치가 없는 텍스트 모음으로 구성됩니다. 만들기 위해서는 지도 학습 이 문제를 해결하기 위해서는 고품질의 레이블이 지정된 데이터 세트가 필수적입니다. 아마존 세이지 메이커 그라운드 진실 은(는) ML용으로 매우 정확한 교육 데이터 세트를 쉽게 구축할 수 있는 완전 관리형 데이터 레이블링 서비스입니다.
Databricks를 AWS의 데이터 및 분석 플랫폼으로 사용하여 ETL(추출, 변환 및 로드) 작업을 수행하는 조직의 경우 궁극적인 목표는 종종 지도 학습 모델을 교육하는 것입니다. 이 게시물에서는 Databricks가 Ground Truth 및 아마존 세이지 메이커 데이터 라벨링 및 모델 배포용.
솔루션 개요
Ground Truth는 ML용으로 매우 정확한 교육 데이터 세트를 쉽게 구축할 수 있게 해주는 완전 관리형 데이터 레이블 지정 서비스입니다. Ground Truth 콘솔을 통해 몇 분 안에 사용자 지정 또는 내장 데이터 레이블 지정 워크플로를 만들 수 있습니다. 이러한 워크플로는 3D 포인트 클라우드, 비디오, 이미지 및 텍스트를 비롯한 다양한 사용 사례를 지원합니다. 또한 Ground Truth는 ML 모델을 사용하여 데이터에 레이블을 지정하는 자동 데이터 레이블 지정을 제공합니다.
공개적으로 사용 가능한 Amazon 고객 리뷰 데이터 세트에서 모델을 교육합니다. 대략적인 단계는 다음과 같습니다.
- 레이블을 지정할 원시 데이터 세트를 추출하고 다음으로 이동합니다. 아마존 단순 스토리지 서비스 (아마존 S3).
- SageMaker에서 라벨링 작업을 생성하여 라벨링을 수행합니다.
- 샘플을 사용하여 Databricks 플랫폼에서 리뷰 텍스트의 감정을 분류하기 위해 간단한 Scikit-learn 선형 학습자 모델을 빌드하고 훈련합니다. 수첩.
- ML플로우 구성 요소를 사용하여 MLOps를 생성 및 수행하고 모델 아티팩트를 저장합니다.
- 다음을 사용하여 모델을 SageMaker 끝점으로 배포합니다. MLflow SageMaker 라이브러리 실시간 추론을 위해
다음 다이어그램은 Ground Truth 및 MLflow를 사용한 레이블 지정 및 ML 여정을 보여줍니다.
SageMaker에서 라벨링 작업 생성
감정 분석 모델을 구축 중이기 때문에 Amazon 고객 리뷰 데이터 세트에서 텍스트 부분만 추출합니다. 추출되면 텍스트를 S3 버킷에 넣은 다음 SageMaker 콘솔을 통해 Ground Truth 레이블 지정 작업을 생성합니다.
에 라벨링 작업 생성 페이지에서 모든 필수 필드를 작성하십시오. 이 페이지의 단계의 일부로 Ground Truth를 사용하면 작업 매니페스트 파일을 생성할 수 있습니다. Ground Truth는 입력 매니페스트 파일을 사용하여 라벨링 작업의 파일 또는 개체 수를 식별하여 올바른 수의 작업이 생성되어 인간(또는 기계) 라벨러에게 전송됩니다. 파일은 S3 버킷에 자동으로 저장됩니다. 다음 단계는 작업 범주 및 작업 선택을 지정하는 것입니다. 이 사용 사례에서는 다음을 선택합니다. 본문 작업 범주로, 텍스트 분류 작업 선택을 위한 단일 레이블로 리뷰 텍스트에 긍정적, 부정적 또는 중립적 단일 감정이 있습니다.
마지막으로 텍스트 데이터에 레이블을 지정하는 방법에 대해 레이블러를 위한 간단하지만 간결한 지침을 작성합니다. 지침은 레이블링 도구에 표시되며 이때 선택적으로 주석자의 보기를 검토할 수 있습니다. 마지막으로 작업을 제출하고 콘솔에서 진행 상황을 모니터링합니다.
레이블링 작업이 진행되는 동안 레이블이 지정된 데이터를 볼 수도 있습니다. 산출 탭. 우리는 각 리뷰 텍스트와 레이블을 모니터링할 수 있으며 작업이 사람이나 기계에 의해 수행되었는지 여부를 모니터링할 수 있습니다. 라벨링 작업의 100%를 사람이 수행하도록 선택하거나 기계 주석을 선택하여 작업 속도를 높이고 인건비를 줄일 수 있습니다.
작업이 완료되면 레이블 지정 작업 요약에 출력 매니페스트 및 레이블이 지정된 데이터 세트에 대한 링크가 포함됩니다. Amazon S3로 이동하여 S3 버킷 폴더에서 둘 다 다운로드할 수도 있습니다.
다음 단계에서는 Databricks 노트북을 사용합니다. ML플로우, 그리고 Ground Truth로 레이블이 지정된 데이터세트를 사용하여 사이 킷 러닝 모델입니다.
Amazon S3에서 레이블이 지정된 데이터 세트 다운로드
Amazon S3에서 레이블이 지정된 데이터 세트를 다운로드하는 것으로 시작합니다. 매니페스트는 JSON 형식으로 저장되며 Databricks의 Spark DataFrame에 로드합니다. 감정 분석 모델을 훈련하려면 Ground Truth 레이블 지정 작업에서 주석을 추가한 리뷰 텍스트와 감정만 필요합니다. select()를 사용하여 이 두 기능을 추출합니다. 그런 다음 Scikit-learn 알고리즘에는 Pandas DataFrame 형식이 필요하기 때문에 데이터 세트를 PySpark DataFrame에서 Pandas DataFrame으로 변환합니다.
다음으로 Scikit-learn을 사용합니다. CountVectorizer
를 설정하여 리뷰 텍스트를 빅그램 벡터로 변환하려면 ngram_range
최대 값은 2입니다. CountVectorizer
텍스트를 토큰 수의 행렬로 변환합니다. 그런 다음 우리는 사용 TfidfTransformer
빅그램 벡터를 용어 주파수 역 문서 주파수(TF-IDF) 형식으로 변환합니다.
우리는 bigram 벡터와 TF-IDF가 있는 bigram으로 수행된 훈련의 정확도 점수를 비교합니다. TF-IDF는 문서 모음에서 문서와 단어의 관련성을 평가하는 통계적 측정값입니다. 리뷰 텍스트는 상대적으로 짧은 경향이 있기 때문에 TF-IDF가 예측 모델의 성능에 미치는 영향을 관찰할 수 있습니다.
MLflow 실험 설정
MLflow는 Databricks에서 개발했으며 현재 오픈 소스 프로젝트. MLflow는 ML 수명 주기를 관리하므로 실험을 쉽게 추적, 재생성 및 게시할 수 있습니다.
MLflow 실험을 설정하기 위해 다음을 사용합니다. mlflow.sklearn.autolog()
하이퍼파라미터, 메트릭 및 모델 아티팩트의 자동 로깅을 활성화하기 위해 estimator.fit()
, estimator.fit_predict()
, 과 estimator.fit_transform()
라고 합니다. 또는 다음을 호출하여 수동으로 수행할 수 있습니다. mlflow.log_param()
과 mlflow.log_metric()
.
변환된 데이터 세트를 SGD(Stochastic Gradient Descent) 학습을 통해 선형 분류기에 맞춥니다. SGD를 사용하면 손실의 기울기가 한 번에 하나의 샘플로 추정되고 모델은 강도 일정이 감소하면서 업데이트됩니다.
이전에 준비한 두 데이터 세트는 train_and_show_scores()
훈련을 위한 기능. 훈련 후에는 모델을 등록하고 아티팩트를 저장해야 합니다. 우리는 사용 mlflow.sklearn.log_model()
그렇게 할 수 있습니다.
배포하기 전에 실험 결과를 살펴보고 비교할 두 가지 실험(하나는 bigram용이고 다른 하나는 TF-IDF가 있는 bigram용)을 선택합니다. 우리의 사용 사례에서는 bigram TF-IDF로 훈련된 두 번째 모델이 약간 더 나은 성능을 보였으므로 배포할 모델을 선택합니다. 모델 등록 후 모델을 배포하여 모델 단계를 프로덕션으로 변경합니다. MLflow UI 또는 다음을 사용하는 코드에서 이 작업을 수행할 수 있습니다. transition_model_version_stage()
.
모델을 SageMaker 끝점으로 배포 및 테스트
훈련된 모델을 배포하기 전에 SageMaker에서 모델을 호스팅할 Docker 컨테이너를 빌드해야 합니다. 컨테이너를 빌드하고 푸시하는 간단한 MLflow 명령을 실행하여 이를 수행합니다. Amazon Elastic Container Registry (Amazon ECR)은 AWS 계정에 있습니다.
이제 Amazon ECR 콘솔에서 이미지 URI를 찾을 수 있습니다. 이미지 URI를 다음으로 전달합니다. image_url
매개변수 및 사용 DEPLOYMENT_MODE_CREATE
새 배포인 경우 모드 매개변수의 경우. 기존 엔드포인트를 새 버전으로 업데이트하는 경우 다음을 사용하십시오. DEPLOYMENT_MODE_REPLACE
.
SageMaker 끝점을 테스트하기 위해 끝점 이름과 입력 데이터를 매개변수로 사용하는 함수를 만듭니다.
결론
이 게시물에서는 Ground Truth를 사용하여 원시 데이터 세트에 레이블을 지정하고 레이블이 지정된 데이터를 사용하여 Scikit-learn을 사용하여 간단한 선형 분류기를 훈련하는 방법을 보여주었습니다. 이 예에서는 MLflow를 사용하여 하이퍼파라미터 및 메트릭을 추적하고, 프로덕션 등급 모델을 등록하고, 훈련된 모델을 SageMaker에 엔드포인트로 배포합니다. 데이터를 처리하는 Databricks와 함께 이 전체 사용 사례를 자동화할 수 있으므로 새 데이터가 도입되면 레이블을 지정하고 모델로 처리할 수 있습니다. 이러한 파이프라인과 모델을 자동화함으로써 데이터 과학 팀은 매일 데이터 업데이트를 관리하는 데 시간을 소비하는 대신 새로운 사용 사례에 집중하고 더 많은 통찰력을 얻을 수 있습니다.
시작하려면 다음을 확인하세요. Amazon SageMaker Ground Truth를 사용하여 데이터 레이블 지정 그리고 가입 AWS의 Databricks 14일 무료 평가판. Databricks가 SageMaker 및 다음과 같은 다른 AWS 서비스와 통합되는 방법에 대해 자세히 알아보려면 AWS 접착제 과 아마존 레드 시프트방문 AWS의 데이터브릭.
또한 이 게시물에 사용된 다음 리소스를 확인하세요.
다음을 사용하십시오. 수첩 시작하는.
저자에 관하여
루미 올슨 AWS 파트너 프로그램의 솔루션 아키텍트입니다. 그녀는 현재 역할에서 서버리스 및 기계 학습 솔루션을 전문으로 하며 자연어 처리 기술에 대한 배경 지식을 가지고 있습니다. 그녀는 여가 시간의 대부분을 태평양 북서부의 자연을 탐험하며 딸과 함께 보냅니다.
Igor Alekseev는 데이터 및 분석 부문 AWS의 파트너 솔루션 아키텍트입니다. Igor는 전략적 파트너와 협력하여 복잡한 AWS 최적화 아키텍처를 구축할 수 있도록 지원합니다. AWS에 합류하기 전에 데이터/솔루션 설계자로 Hadoop 에코시스템의 여러 데이터 레이크를 포함하여 빅 데이터에서 많은 프로젝트를 구현했습니다. 데이터 엔지니어로서 그는 AI/ML을 사기 탐지 및 사무 자동화에 적용하는 데 참여했습니다. Igor의 프로젝트는 통신, 금융, 공공 안전, 제조 및 의료를 포함한 다양한 산업 분야에 있었습니다. 이전에 Igor는 전체 스택 엔지니어/기술 책임자로 일했습니다.
나시어 아메드 AWS 비즈니스를 지원하는 Databricks의 수석 파트너 솔루션 설계자입니다. Naseer는 AWS 기반 데이터 웨어하우징, 비즈니스 인텔리전스, 앱 개발, 컨테이너, 서버리스, 기계 학습 아키텍처를 전문으로 합니다. 그는 Databricks에서 2021년 올해의 SME로 선정되었으며 열렬한 암호화폐 애호가입니다.
- "
- 100
- 2021
- 3d
- 소개
- 계정
- 정확한
- 또한
- 연산
- All
- 아마존
- 분석
- 분석
- 앱
- 앱 개발
- 적용
- 접근
- 오디오
- 자동
- 자동화
- 가능
- AWS
- 배경
- 기초
- 빅 데이터
- 빌드
- 건물
- 빌드
- 내장
- 사업
- 비즈니스 인텔리전스
- 자동차
- 가지 경우
- 범주
- 왼쪽 메뉴에서
- 분류
- 암호
- 수집
- 커뮤니케이션
- 복잡한
- 콘솔에서
- 컨테이너
- 이 포함되어 있습니다
- 비용
- 만든
- 만들기
- 암호화는
- Current
- 관습
- 데이터
- 데이터 과학
- 깊이
- 배포
- 배치
- 전개
- Detection System
- 개발
- 개발
- 어려운
- 분포
- 도커
- 서류
- 하지 않습니다
- 드라이브
- 용이하게
- 생태계
- 가능
- 종점
- 기사
- 필수
- 예상
- 예
- 실험
- 특징
- Fields
- 최종적으로
- 재원
- 맞게
- 초점
- 수행원
- 체재
- 사기
- 무료
- 가득 찬
- 기능
- 생성
- 골
- 가는
- 건강 관리
- 높은
- 고도로
- 방법
- How To
- HTTPS
- 사람의
- 인간
- 수백
- 식별
- 확인
- 영상
- 구현
- 포함
- 산업
- 입력
- 통찰력
- 인텔리전스
- 참여
- IT
- 일
- 작업
- 키
- 레이블링
- 레이블
- 노동
- 언어
- 리드
- 배우다
- 배우기
- 레벨
- 도서관
- 모래밭
- 하중
- 기계
- 기계 학습
- 만든
- 제작
- 관리
- 구축
- 관리
- 수동으로
- 제조
- 매트릭스
- 측정
- 통계
- 혼합 된
- ML
- 모델
- 모델
- 모니터
- 배우기
- 가장
- 움직임
- 자연의
- 자연
- 수첩
- 번호
- 제공
- 주문
- 조직
- 기타
- 태평양
- 파트너
- 파트너
- 성능
- 사람
- 플랫폼
- 포인트 적립
- 긍정적인
- 문제
- 방법
- 생산
- 프로그램
- 프로젝트
- 제공
- 공개
- 게시
- 살갗이 벗어 진
- 실시간
- 기록
- 회원가입
- 등록된
- 관련된
- 필수
- 자료
- 결과
- 리뷰
- 리뷰
- 달리기
- 달리는
- 안전
- 과학
- 감정
- 서버리스
- 서비스
- 서비스
- 세트
- 설정
- 짧은
- 단순, 간단, 편리
- So
- 해결책
- 솔루션
- 풀다
- 전문적으로
- 지출
- 스택
- 단계
- 스타트
- 시작
- 통계적인
- 저장
- 전략의
- SUPPORT
- 지원
- 목표
- 작업
- 팀
- 기술
- test
- 을 통하여
- 시간
- 토큰
- 수단
- 선로
- 트레이닝
- 변환
- 시도
- 자습서
- ui
- 궁극의
- 폭로하다
- 업데이트
- 사용
- 보통
- 가치
- 종류
- Video
- 관측
- 여부
- 없이
- 작업
- 일
- 일
- year