Amazon에서 Apache Spark SageMaker 를 사용한 모델 훈련 및 호스팅에 사용자 지정 알고리즘 사용 - Amazon SageMaker

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

Amazon에서 Apache Spark SageMaker 를 사용한 모델 훈련 및 호스팅에 사용자 지정 알고리즘 사용

에서는 예제가 모델 훈련을 SageMaker 위해 Amazon에서 제공하는 k-means 알고리즘을 사용하기 kMeansSageMakerEstimator 때문에 를 SageMaker Spark for Scala 예제사용합니다. 대신 모델 훈련을 위해 자체 사용자 지정 알고리즘을 사용하도록 선택할 수도 있습니다. 이미 도커 이미지를 생성했다고 가정하는 경우 자체 SageMakerEstimator를 생성하고 사용자 지정 이미지에 대한 Amazon Elastic Container Registry 경로를 지정할 수 있습니다.

다음 예제는 SageMakerEstimator에서 KMeansSageMakerEstimator를 생성하는 방법을 보여줍니다. 새 예측기에서 훈련 및 추론 코드 이미지에 대한 도커 레지스트리 경로를 명시적으로 지정합니다.

import com.amazonaws.services.sagemaker.sparksdk.IAMRole import com.amazonaws.services.sagemaker.sparksdk.SageMakerEstimator import com.amazonaws.services.sagemaker.sparksdk.transformation.serializers.ProtobufRequestRowSerializer import com.amazonaws.services.sagemaker.sparksdk.transformation.deserializers.KMeansProtobufResponseRowDeserializer val estimator = new SageMakerEstimator( trainingImage = "811284229777.dkr.ecr.us-east-1.amazonaws.com/kmeans:1", modelImage = "811284229777.dkr.ecr.us-east-1.amazonaws.com/kmeans:1", requestRowSerializer = new ProtobufRequestRowSerializer(), responseRowDeserializer = new KMeansProtobufResponseRowDeserializer(), hyperParameters = Map("k" -> "10", "feature_dim" -> "784"), sagemakerRole = IAMRole(roleArn), trainingInstanceType = "ml.p2.xlarge", trainingInstanceCount = 1, endpointInstanceType = "ml.c4.xlarge", endpointInitialInstanceCount = 1, trainingSparkDataFormat = "sagemaker")

코드에서 SageMakerEstimator생성자의 파라미터에 다음이 포함됩니다.

  • trainingImage - 사용자 지정 코드가 포함된 훈련 이미지의 도커 레지스트리 경로를 식별합니다.

  • modelImage - 추론 코드가 포함된 이미지의 도커 레지스트리 경로를 식별합니다.

  • requestRowSerializer - com.amazonaws.services.sagemaker.sparksdk.transformation.RequestRowSerializer을 구현합니다.

    이 파라미터는 추론을 SageMaker 위해 입력의 행을 직렬화DataFrame하여 에서 호스팅되는 모델로 전송합니다.

  • responseRowDeserializer - 구현

    com.amazonaws.services.sagemaker.sparksdk.transformation.ResponseRowDeserializer.

    이 파라미터는 에서 호스팅되는 모델의 응답을 다시 SageMaker로 역직렬화합니다DataFrame.

  • trainingSparkDataFormat - Spark가 DataFrame에서 S3로 훈련 데이터를 업로드할 때 사용하는 데이터 형식을 지정합니다. 예를 들어 protobuf 형식의 "sagemaker" 경우 , 쉼표로 구분된 값의 "csv" 경우 , LibSVM 형식"libsvm"의 경우 입니다.

자체 RequestRowSerializerResponseRowDeserializer를 구현하여 추론 코드가 지원하는 데이터 형식(예: .libsvm 또는 .csv)으로부터 행을 직렬화 및 역직렬화합니다.