기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
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"
의 경우 입니다.
자체 RequestRowSerializer
및 ResponseRowDeserializer
를 구현하여 추론 코드가 지원하는 데이터 형식(예: .libsvm 또는 .csv)으로부터 행을 직렬화 및 역직렬화합니다.