

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

# 훈련된 모델을 사용하여 새 모델 아티팩트 생성
<a name="machine-learning-model-transform"></a>

Neptune ML 모델 변환 명령을 사용하면 사전 훈련된 모델 파라미터를 활용하여 처리된 그래프 데이터에서 노드 임베딩과 같은 모델 아티팩트를 계산할 수 있습니다.

## 증분 추론을 위한 모델 변환
<a name="machine-learning-model-transform-incremental"></a>

[증분 모델 추론 워크플로](machine-learning-overview-evolving-data-incremental.md#machine-learning-overview-incremental)에서 Neptune에서 내보낸 업데이트된 그래프 데이터를 처리한 후 다음과 같은 명령을 사용하여 모델 변환 작업을 시작할 수 있습니다.

------
#### [ AWS CLI ]

```
aws neptunedata start-ml-model-transform-job \
  --endpoint-url https://{{your-neptune-endpoint}}:{{port}} \
  --id "{{(a unique model-transform job ID)}}" \
  --data-processing-job-id "{{(the data-processing job-id of a completed job)}}" \
  --ml-model-training-job-id "{{(the ML model training job-id)}}" \
  --model-transform-output-s3-location "s3://{{(your S3 bucket)}}/neptune-model-transform/"
```

자세한 내용은 AWS CLI 명령 참조의 [start-ml-model-transform-job](https://docs.aws.amazon.com/cli/latest/reference/neptunedata/start-ml-model-transform-job.html)을 참조하세요.

------
#### [ SDK ]

```
import boto3
from botocore.config import Config

client = boto3.client(
    'neptunedata',
    endpoint_url='https://{{your-neptune-endpoint}}:{{port}}',
    config=Config(read_timeout=None, retries={'total_max_attempts': 1})
)

response = client.start_ml_model_transform_job(
    id='{{(a unique model-transform job ID)}}',
    dataProcessingJobId='{{(the data-processing job-id of a completed job)}}',
    mlModelTrainingJobId='{{(the ML model training job-id)}}',
    modelTransformOutputS3Location='s3://{{(your S3 bucket)}}/neptune-model-transform/'
)

print(response)
```

------
#### [ awscurl ]

```
awscurl https://{{your-neptune-endpoint}}:{{port}}/ml/modeltransform \
  --region {{us-east-1}} \
  --service neptune-db \
  -X POST \
  -H 'Content-Type: application/json' \
  -d '{
        "id" : "{{(a unique model-transform job ID)}}",
        "dataProcessingJobId" : "{{(the data-processing job-id of a completed job)}}",
        "mlModelTrainingJobId": "{{(the ML model training job-id)}}",
        "modelTransformOutputS3Location" : "s3://{{(your S3 bucket)}}/neptune-model-transform/"
      }'
```

**참고**  
이 예제에서는 자격 AWS 증명이 환경에 구성되어 있다고 가정합니다. {{us-east-1}}을 Neptune 클러스터의 리전으로 바꿉니다.

------
#### [ curl ]

```
curl \
  -X POST https://{{your-neptune-endpoint}}:{{port}}/ml/modeltransform \
  -H 'Content-Type: application/json' \
  -d '{
        "id" : "{{(a unique model-transform job ID)}}",
        "dataProcessingJobId" : "{{(the data-processing job-id of a completed job)}}",
        "mlModelTrainingJobId": "{{(the ML model training job-id)}}",
        "modelTransformOutputS3Location" : "s3://{{(your S3 bucket)}}/neptune-model-transform/"
      }'
```

------

그런 다음 이 작업의 ID를 create-endpoints API 호출에 전달하여 새 엔드포인트를 생성하거나 이 작업에서 생성된 새 모델 아티팩트로 기존 엔드포인트를 업데이트할 수 있습니다. 이를 통해 새 엔드포인트 또는 업데이트된 엔드포인트에서 업데이트된 그래프 데이터에 대한 모델 예측을 제공할 수 있습니다.

## 모든 훈련 작업에 사용할 수 있도록 모델 변환
<a name="machine-learning-model-transform-any-job"></a>

Neptune ML 모델 훈련 중에 시작된 모든 SageMaker AI 훈련 작업에 대한 모델 아티팩트를 생성하는 `trainingJobName` 파라미터를 제공할 수도 있습니다. Neptune ML 모델 훈련 작업은 잠재적으로 많은 SageMaker AI 훈련 작업을 시작할 수 있으므로, 이러한 SageMaker AI 훈련 작업을 기반으로 추론 엔드포인트를 유연하게 만들 수 있습니다.

예제:

------
#### [ AWS CLI ]

```
aws neptunedata start-ml-model-transform-job \
  --endpoint-url https://{{your-neptune-endpoint}}:{{port}} \
  --id "{{(a unique model-transform job ID)}}" \
  --training-job-name "{{(name of a completed SageMaker training job)}}" \
  --model-transform-output-s3-location "s3://{{(your S3 bucket)}}/neptune-model-transform/"
```

자세한 내용은 AWS CLI 명령 참조의 [start-ml-model-transform-job](https://docs.aws.amazon.com/cli/latest/reference/neptunedata/start-ml-model-transform-job.html)을 참조하세요.

------
#### [ SDK ]

```
import boto3
from botocore.config import Config

client = boto3.client(
    'neptunedata',
    endpoint_url='https://{{your-neptune-endpoint}}:{{port}}',
    config=Config(read_timeout=None, retries={'total_max_attempts': 1})
)

response = client.start_ml_model_transform_job(
    id='{{(a unique model-transform job ID)}}',
    trainingJobName='{{(name of a completed SageMaker training job)}}',
    modelTransformOutputS3Location='s3://{{(your S3 bucket)}}/neptune-model-transform/'
)

print(response)
```

------
#### [ awscurl ]

```
awscurl https://{{your-neptune-endpoint}}:{{port}}/ml/modeltransform \
  --region {{us-east-1}} \
  --service neptune-db \
  -X POST \
  -H 'Content-Type: application/json' \
  -d '{
        "id" : "{{(a unique model-transform job ID)}}",
        "trainingJobName" : "{{(name of a completed SageMaker training job)}}",
        "modelTransformOutputS3Location" : "s3://{{(your S3 bucket)}}/neptune-model-transform/"
      }'
```

**참고**  
이 예제에서는 자격 AWS 증명이 환경에 구성되어 있다고 가정합니다. {{us-east-1}}을 Neptune 클러스터의 리전으로 바꿉니다.

------
#### [ curl ]

```
curl \
  -X POST https://{{your-neptune-endpoint}}:{{port}}/ml/modeltransform \
  -H 'Content-Type: application/json' \
  -d '{
        "id" : "{{(a unique model-transform job ID)}}",
        "trainingJobName" : "{{(name of a completed SageMaker training job)}}",
        "modelTransformOutputS3Location" : "s3://{{(your S3 bucket)}}/neptune-model-transform/"
      }'
```

------

원래 훈련 작업이 사용자가 제공한 사용자 지정 모델을 위한 것이었다면 모델 변환을 간접적으로 호출할 때 `customModelTransformParameters` 객체를 포함해야 합니다. 사용자 지정 모델을 구현하고 사용하는 방법에 대한 자세한 정보는 [Neptune ML의 사용자 지정 모델](machine-learning-custom-models.md)의 내용을 참조하세요.

**참고**  
이 `modeltransform` 명령은 항상 해당 훈련에 가장 적합한 SageMaker AI 훈련 작업에서 모델 변환을 실행합니다.

모델 변환 작업에 대한 자세한 정보는 [modeltransform 명령](machine-learning-api-modeltransform.md)의 내용을 참조하세요.