이제 API PlatoBlockchain Data Intelligence를 통해 Amazon SageMaker JumpStart 모델 및 알고리즘을 사용할 수 있습니다. 수직 검색. 일체 포함.

이제 API를 통해 Amazon SageMaker JumpStart 모델 및 알고리즘 사용 가능

12 월 2020에서, AWS가 일반 공급을 발표했습니다. of Amazon SageMaker 점프스타트, 능력 아마존 세이지 메이커 머신 러닝(ML)을 빠르고 쉽게 시작할 수 있도록 도와줍니다. JumpStart는 일반적인 비즈니스 문제를 해결하는 다양한 종단 간 솔루션은 물론 인기 있는 ML 작업 전반에 걸쳐 사전 훈련된 다양한 모델의 클릭 한 번으로 미세 조정 및 배포를 제공합니다. 이러한 기능은 ML 프로세스의 각 단계에서 무거운 작업을 제거하여 고품질 모델을 더 쉽게 개발하고 배포 시간을 단축합니다.

이전에는 모든 JumpStart 콘텐츠를 통해서만 사용할 수 있었습니다. 아마존 세이지 메이커 스튜디오, 이것은 사용자 친화적인 그래픽 인터페이스 기능과 상호 작용합니다. 오늘, 우리는 사용하기 쉬운 출시를 발표하게 된 것을 기쁘게 생각합니다. 점프스타트 API SageMaker Python SDK의 확장으로. 이러한 API를 사용하면 자체 데이터 세트에서 다양한 JumpStart 지원 사전 학습 모델을 프로그래밍 방식으로 배포하고 미세 조정할 수 있습니다. 이번 출시로 코드 워크플로, MLOps 파이프라인 및 SDK를 통해 SageMaker와 상호 작용하는 모든 곳에서 JumpStart 기능을 사용할 수 있습니다.

이 게시물에서는 JumpStart 기능의 현재 상태에 대한 업데이트를 제공하고 예제 사용 사례와 함께 JumpStart API의 사용 흐름을 안내합니다.

JumpStart 개요

JumpStart는 SageMaker에서 ML을 빠르게 시작하는 데 도움이 되는 다양한 기능이 포함된 다면적 제품입니다. 작성 당시 JumpStart를 사용하여 다음을 수행할 수 있습니다.

  • 일반적인 ML 작업을 위해 사전 학습된 모델 배포 – JumpStart를 사용하면 공개적으로 사용 가능한 대규모 데이터 세트에 대해 사전 훈련된 모델을 쉽게 배포하여 개발 노력 없이 일반적인 ML 작업을 해결할 수 있습니다. ML 연구 커뮤니티는 최근에 개발된 대부분의 모델을 공개적으로 사용할 수 있도록 하기 위해 많은 노력을 기울였습니다. JumpStart는 객체 감지, 텍스트 분류 및 텍스트 생성과 같은 가장 인기 있는 300가지 ML 작업에 걸쳐 15개 이상의 모델 컬렉션을 호스팅하므로 초보자가 쉽게 사용할 수 있습니다. 이러한 모델은 TensorFlow, PyTorch, Hugging Face 및 MXNet Hub와 같은 인기 있는 모델 허브에서 가져온 것입니다.
  • 사전 훈련된 모델 미세 조정 – JumpStart를 사용하면 자체 훈련 알고리즘을 작성할 필요 없이 사전 훈련된 모델을 미세 조정할 수 있습니다. ML에서는 한 영역에서 학습한 지식을 다른 영역으로 옮기는 능력을 전학 학습. 이전 학습을 사용하여 원래 모델을 처음부터 훈련하는 데 드는 비용보다 훨씬 저렴한 훈련 비용으로 더 작은 데이터 세트에서 정확한 모델을 생성할 수 있습니다. 또한 JumpStart에는 테이블 형식 데이터 회귀 및 분류를 위해 처음부터 훈련할 수 있는 LightGBM, CatBoost, XGBoost 및 Scikit-learn을 기반으로 하는 인기 있는 훈련 알고리즘이 포함되어 있습니다.
  • 사전 구축된 솔루션 사용 – JumpStart는 다음 세트를 제공합니다. 17가지 사전 구축된 솔루션 몇 번의 클릭만으로 배포할 수 있는 수요 예측, 산업 및 금융 애플리케이션과 같은 일반적인 ML 사용 사례에 적합합니다. 솔루션은 특정 비즈니스 사용 사례를 해결하기 위해 다양한 AWS 서비스를 함께 묶는 종단 간 ML 애플리케이션입니다. 그들은 사용 AWS 클라우드 포메이션 빠른 배포를 위한 템플릿 및 참조 아키텍처, 즉 완전히 사용자 지정할 수 있습니다.
  • SageMaker 알고리즘에 대한 노트북 예제 사용 – SageMaker는 다음 제품군을 제공합니다. 내장 알고리즘 데이터 과학자와 ML 실무자가 ML 모델 교육 및 배포를 빠르게 시작할 수 있도록 지원합니다. JumpStart는 이러한 알고리즘을 빠르게 사용하는 데 사용할 수 있는 샘플 노트북을 제공합니다.
  • 교육 비디오 및 블로그 활용 – JumpStart는 SageMaker 내에서 다양한 기능을 사용하는 방법을 가르치는 수많은 블로그 게시물과 비디오도 제공합니다.

JumpStart는 사용자 지정 VPC 설정 및 KMS 암호화 키를 허용하므로 기업 환경 내에서 사용 가능한 모델과 솔루션을 안전하게 사용할 수 있습니다. SageMaker Studio 내에서 또는 SageMaker Python SDK를 통해 보안 설정을 JumpStart에 전달할 수 있습니다.

JumpStart 지원 ML 작업 및 API 예시 노트북

JumpStart는 현재 가장 널리 사용되는 ML 작업 15개를 지원합니다. 그 중 13개는 비전 및 NLP 기반 작업이며 그 중 8개는 코드 없는 미세 조정을 지원합니다. 또한 테이블 형식 데이터 모델링을 위해 널리 사용되는 XNUMX가지 알고리즘을 지원합니다. 작업 및 샘플 노트북에 대한 링크가 다음 표에 요약되어 있습니다.

태스크 사전 훈련된 모델을 사용한 추론 커스텀 데이터세트에 대한 교육 지원되는 프레임워크 예제 노트북
이미지 분류 파이토치, 텐서플로우 JumpStart 소개 – 이미지 분류
객체 감지 파이토치, 텐서플로우, MXNet JumpStart 소개 – 개체 감지
시맨틱 분할 MX 넷 JumpStart 소개 – 시맨틱 분할
인스턴스 세분화 아니 MX 넷 JumpStart 소개 – 인스턴스 분할
이미지 임베딩 아니 텐서플로우, MXNet JumpStart 소개 – 이미지 포함
텍스트 분류 TensorFlow JumpStart 소개 – 텍스트 분류
문장 쌍 분류 TensorFlow, 포옹 얼굴 JumpStart 소개 – 문장 쌍 분류
질문 답변 파이 토치 JumpStart 소개 – 질문 답변
명명 된 개체 인식 아니 포옹하는 얼굴 JumpStart 소개 – 명명된 엔티티 인식
텍스트 요약 아니 포옹하는 얼굴 JumpStart 소개 – 텍스트 요약
텍스트 생성 아니 포옹하는 얼굴 JumpStart 소개 – 텍스트 생성
기계 번역 아니 포옹하는 얼굴 JumpStart 소개 – 기계 번역
텍스트 임베딩 아니 텐서플로우, MXNet JumpStart 소개 – 텍스트 포함
표 분류 LightGBM, CatBoost, XGBoost, 선형 학습기 JumpStart 소개 – 표 분류 – LightGBM, CatBoost
JumpStart 소개 – 표 분류 – XGBoost, 선형 학습기
테이블 형식 회귀 LightGBM, CatBoost, XGBoost, 선형 학습기 JumpStart 소개 – 테이블 형식 회귀 – LightGBM, CatBoost
JumpStart 소개 – 테이블 형식 회귀 – XGBoost, 선형 학습기

작업에 따라 앞의 표에 링크된 샘플 노트북은 다음 프로세스의 전체 또는 일부를 안내할 수 있습니다.

  • 특정 작업에 대해 JumpStart 지원 사전 훈련 모델을 선택하십시오.
  • 사전 훈련된 모델을 호스팅하고, 실시간으로 예측을 얻고, 결과를 적절하게 표시합니다.
  • 자신이 선택한 하이퍼파라미터로 사전 훈련된 모델을 미세 조정하고 추론을 위해 배포합니다.

JumpStart API를 사용하여 개체 감지 모델 미세 조정 및 배포

다음 섹션에서는 객체 감지라는 대표적인 작업에서 새로운 JumpStart API를 사용하는 방법에 대한 단계별 안내를 제공합니다. 사전 훈련된 객체 감지 모델을 사용하여 경계 상자가 있는 이미지의 미리 정의된 클래스 집합에서 객체를 식별하는 방법을 보여줍니다. 마지막으로 자체 데이터를 가져와서 비즈니스 요구에 특정한 이미지의 개체를 감지하기 위해 자체 데이터 세트에서 사전 훈련된 모델을 미세 조정하는 방법을 보여줍니다. 우리는 제공 이 연습과 함께 제공되는 노트북.

다음과 같은 높은 수준의 단계를 거칩니다.

  1. 사전 훈련된 모델에서 추론을 실행합니다.
    1. JumpStart 아티팩트를 검색하고 끝점을 배포합니다.
    2. 끝점을 쿼리하고 응답을 구문 분석하고 모델 예측을 표시합니다.
  2. 자체 데이터세트에서 사전 훈련된 모델을 미세 조정합니다.
    1. 훈련 아티팩트를 검색합니다.
    2. 훈련을 실행합니다.

사전 훈련된 모델에서 추론 실행

이 섹션에서는 JumpStart에서 적절한 사전 훈련된 모델을 선택하고 이 모델을 SageMaker 엔드포인트에 배포하고 배포된 엔드포인트에서 추론을 실행하는 방법을 보여줍니다. 모든 단계는 주피터 노트북.

JumpStart 아티팩트 검색 및 끝점 배포

SageMaker는 Docker 컨테이너 기반 플랫폼입니다. JumpStart는 사용 가능한 프레임워크별 SageMaker 딥 러닝 컨테이너 (DLC). 추가 패키지와 선택한 작업에 대한 학습 및 추론을 처리하는 스크립트를 가져옵니다. 마지막으로 사전 훈련된 모델 아티팩트를 별도로 가져옵니다. model_uris, 플랫폼에 유연성을 제공합니다. 단일 훈련 또는 추론 스크립트로 동일한 작업에 대해 사전 훈련된 모델을 원하는 수만큼 사용할 수 있습니다. 다음 코드를 참조하십시오.

infer_model_id, infer_model_version = "pytorch-od-nvidia-ssd", "*" # Retrieve the inference docker container uri. This is the base container PyTorch image for the model selected above. deploy_image_uri = image_uris.retrieve(region=None, framework=None, image_scope="inference",model_id=infer_model_id, model_version=infer_model_version, instance_type=inference_instance_type) # Retrieve the inference script uri. This includes all dependencies and scripts for model loading, inference handling etc.
deploy_source_uri = script_uris.retrieve(model_id=infer_model_id, model_version=infer_model_version, script_scope="inference") # Retrieve the base model uri. This includes the pre-trained nvidia-ssd model and parameters.
base_model_uri = model_uris.retrieve(model_id=infer_model_id, model_version=infer_model_version, model_scope="inference")

다음으로 리소스를 세이지메이커 모델 인스턴스를 만들고 엔드포인트를 배포합니다.

# Create the SageMaker model instance
model = Model(image_uri=deploy_image_uri, source_dir=deploy_source_uri, model_data=base_model_uri, entry_point="inference.py", role=aws_role, predictor_cls=Predictor, name=endpoint_name) # deploy the Model. Note that we need to pass Predictor class when we deploy model through Model class for being able to run inference through the sagemaker API.
base_model_predictor = model.deploy(initial_instance_count=1, instance_type=inference_instance_type, predictor_cls=Predictor, endpoint_name=endpoint_name)

엔드포인트 배포를 완료하는 데 몇 분 정도 걸릴 수 있습니다.

끝점 쿼리, 응답 구문 분석 및 예측 표시

배포된 모델에서 추론을 얻으려면 입력 이미지를 수락 유형과 함께 바이너리 형식으로 제공해야 합니다. JumpStart에서 반환되는 경계 상자의 수를 정의할 수 있습니다. 다음 코드 스니펫에서는 다음을 추가하여 이미지당 XNUMX개의 경계 상자를 예측합니다. ;n_predictions=10Accept. xx개의 상자를 예측하려면 다음으로 변경할 수 있습니다. ;n_predictions=xx , 또는 생략하여 예측된 모든 상자를 가져옵니다. ;n_predictions=xx 전적으로.

def query(model_predictor, image_file_name): with open(image_file_name, "rb") as file: input_img_rb = file.read() return model_predictor.predict(input_img_rb,{ "ContentType": "application/x-image", "Accept": "application/json;verbose;n_predictions=10"}) query_response = query(base_model_predictor, Naxos_Taverna)

다음 코드 스니펫은 객체 감지가 어떻게 생겼는지 보여줍니다. 각 객체 클래스에 대해 예측된 확률은 경계 상자와 함께 시각화됩니다. 우리는 사용 parse_responsedisplay_predictions 함께 제공되는 도움말에 정의된 도우미 기능 수첩.

normalized_boxes, classes_names, confidences = parse_response(query_response)
display_predictions(Naxos_Taverna, normalized_boxes, classes_names, confidences)

다음 스크린샷은 예측 레이블과 경계 상자가 있는 이미지의 출력을 보여줍니다.

이제 API PlatoBlockchain Data Intelligence를 통해 Amazon SageMaker JumpStart 모델 및 알고리즘을 사용할 수 있습니다. 수직 검색. 일체 포함.

자체 데이터세트에서 사전 훈련된 모델 미세 조정

JumpStart의 기존 개체 감지 모델은 COCO 또는 VOC 데이터 세트에서 사전 훈련됩니다. 그러나 원래 사전 교육 데이터 세트에 존재하지 않는 개체 클래스를 식별해야 하는 경우 이러한 새 개체 유형을 포함하는 새 데이터 세트에서 모델을 미세 조정해야 합니다. 예를 들어 주방 용품을 식별하고 배포된 사전 훈련된 SSD 모델에서 추론을 실행해야 하는 경우 모델은 새 이미지 유형의 특성을 인식하지 못하므로 출력이 올바르지 않습니다.

이 섹션에서는 사전 훈련된 모델을 미세 조정하여 JumpStart API를 사용하여 새 객체 클래스를 감지하는 것이 얼마나 쉬운지 보여줍니다. 자세한 내용이 포함된 전체 코드 예제는 수첩.

훈련 아티팩트 검색

훈련 아티팩트는 이전 섹션에서 설명한 추론 아티팩트와 유사합니다. 교육에는 기본 Docker 컨테이너, 즉 다음 예제 코드의 MXNet 컨테이너가 필요합니다. 교육에 필요한 추가 패키지는 교육 스크립트에 포함되어 있습니다. train_sourcer_uri. 사전 훈련된 모델과 해당 매개변수는 별도로 패키징됩니다.

train_model_id, train_model_version, train_scope = "mxnet-od-ssd-512-vgg16-atrous-coco","*","training"
training_instance_type = "ml.p2.xlarge" # Retrieve the docker image. This is the base container MXNet image for the model selected above. train_image_uri = image_uris.retrieve(region=None, framework=None, model_id=train_model_id, model_version=train_model_version, image_scope=train_scope,instance_type=training_instance_type) # Retrieve the training script and dependencies. This contains all the necessary files including data processing, model training etc.
train_source_uri = script_uris.retrieve(model_id=train_model_id, model_version=train_model_version, script_scope=train_scope) # Retrieve the pre-trained model tarball to further fine-tune
train_model_uri = model_uris.retrieve(
model_id=train_model_id, model_version=train_model_version, model_scope=train_scope)

훈련 실행

훈련을 실행하려면 몇 가지 추가 매개변수와 함께 필요한 아티팩트를 SageMaker 추정기 그리고 전화 .fit 기능:

# Create SageMaker Estimator instance
od_estimator = Estimator( role=aws_role, image_uri=train_image_uri, source_dir=train_source_uri, model_uri=train_model_uri, entry_point="transfer_learning.py", # Entry-point file in source_dir and present in train_source_uri. instance_count=1, instance_type=training_instance_type, max_run=360000, hyperparameters=hyperparameters, output_path=s3_output_location,
) # Launch a SageMaker Training job by passing s3 path of the training data
od_estimator.fit({"training": training_dataset_s3_path}, logs=True)

알고리즘이 훈련되는 동안 코드 자체를 실행 중인 SageMaker 노트북이나 다음 중 하나에서 진행 상황을 모니터링할 수 있습니다. 아마존 클라우드 워치. 훈련이 완료되면 미세 조정된 모델 아티팩트가 아마존 단순 스토리지 서비스 (Amazon S3) 교육 구성에 지정된 출력 위치. 이제 사전 훈련된 모델과 동일한 방식으로 모델을 배포할 수 있습니다. 에서 나머지 프로세스를 따를 수 있습니다. 수첩.

결론

이번 포스트에서는 새롭게 출시된 JumpStart API의 가치와 사용법에 대해 설명드렸습니다. JumpStart에서 지원되는 다양한 ML 작업에 대한 17개의 예제 노트북에 대한 링크를 제공하고 객체 감지 노트북을 안내했습니다.

JumpStart를 실험하는 여러분의 의견을 기다립니다.


저자에 관하여

이제 API PlatoBlockchain Data Intelligence를 통해 Amazon SageMaker JumpStart 모델 및 알고리즘을 사용할 수 있습니다. 수직 검색. 일체 포함.비벡 마단 박사 Amazon SageMaker JumpStart 팀의 응용 과학자입니다. 그는 일리노이 대학교 어바나 샴페인에서 박사 학위를 받았고 조지아 공대에서 박사후 연구원이었습니다. 그는 기계 학습 및 알고리즘 설계 분야에서 활발한 연구원이며 EMNLP, ICLR, COLT, FOCS 및 SODA 컨퍼런스에 논문을 발표했습니다.

이제 API PlatoBlockchain Data Intelligence를 통해 Amazon SageMaker JumpStart 모델 및 알고리즘을 사용할 수 있습니다. 수직 검색. 일체 포함.주앙 모 우라 Amazon Web Services의 AI/ML 전문가 솔루션 아키텍트입니다. 그는 주로 NLP 사용 사례에 중점을 두고 고객이 딥 러닝 모델 교육 및 배포를 최적화하도록 지원합니다.

이제 API PlatoBlockchain Data Intelligence를 통해 Amazon SageMaker JumpStart 모델 및 알고리즘을 사용할 수 있습니다. 수직 검색. 일체 포함.Ashish Khetan 박사 는 수석 응용 과학자입니다. Amazon SageMaker 점프스타트Amazon SageMaker 내장 알고리즘 기계 학습 알고리즘을 개발하는 데 도움이 됩니다. 그는 기계 학습 및 통계적 추론 분야에서 활발한 연구원이며 NeurIPS, ICML, ICLR, JMLR 및 ACL 회의에서 많은 논문을 발표했습니다.

타임 스탬프 :

더보기 AWS 기계 학습