기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Apache Spark와 함께 Amazon SageMaker AI에서 모델 훈련 및 호스팅을 위해 사용자 지정 알고리즘 사용
SageMaker AI Spark for Scala 예시에서는 예시가 모델 훈련에 Amazon SageMaker AI에서 제공하는 k-means 알고리즘을 사용하므로 kMeansSageMakerEstimator를 사용합니다. 대신 모델 훈련을 위해 자체 사용자 지정 알고리즘을 사용하도록 선택할 수도 있습니다. 이미 도커 이미지를 생성했다고 가정하는 경우 자체 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을 구현합니다.이 파라미터는 입력
DataFrame의 열을 직렬화하고 추론용으로 SageMaker AI에 호스팅된 모델로 전송합니다. -
responseRowDeserializer- 구현com.amazonaws.services.sagemaker.sparksdk.transformation.ResponseRowDeserializer.이 파라미터는 SageMaker AI에 호스팅된 모델로부터의 응답을 역직렬화하고
DataFrame으로 돌려보냅니다. -
trainingSparkDataFormat- Spark가DataFrame에서 S3로 훈련 데이터를 업로드할 때 사용하는 데이터 형식을 지정합니다. 예를 들어"sagemaker"는 protobuf 형식,"csv"는 쉼표로 구분된 값,"libsvm"은 LibSVM 형식입니다.
자체 RequestRowSerializer및 ResponseRowDeserializer를 구현하여 추론 코드가 지원하는 데이터 형식(예: .libsvm 또는 .csv)으로부터 행을 직렬화 및 역직렬화합니다.