

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

# AWS Clean Rooms ML에서 훈련된 모델 생성
<a name="create-trained-model"></a>

사전 조건: 
+ 에 액세스할 수 AWS 계정 있는 AWS Clean Rooms
+ 에 설정된 공동 작업 AWS Clean Rooms
+ 공동 작업과 연결된 구성된 모델 알고리즘
+ 구성된 ML 입력 채널 하나 이상
+ 공동 작업에서 ML 모델을 생성하고 관리할 수 있는 적절한 권한

구성된 모델 알고리즘을 공동 작업에 연결한 다음 ML 입력 채널을 생성하고 구성하면 훈련된 모델을 생성할 준비가 된 것입니다. *훈련된 모델은* 공동 작업 구성원이 데이터를 공동으로 분석하는 데 사용됩니다.

다음 절차를 사용하여 훈련된 모델을 생성할 수 있습니다.

또는 증분 훈련을 사용하여 새 데이터로 기존 모델을 개선하거나 분산 훈련을 사용하여 여러 컴퓨팅 인스턴스에서 모델을 훈련할 수 있습니다.

**Topics**
+ [AWS Clean Rooms ML에서 증분 훈련 사용](use-incremental-training.md)
+ [AWS Clean Rooms ML에서 분산 훈련 사용](use-distributed-training.md)

------
#### [ Console ]

**훈련된 모델을 생성하려면(콘솔)**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/cleanrooms](https://console.aws.amazon.com/cleanrooms/home) AWS Clean Rooms 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **공동 작업**을 선택합니다.

1. **공동 작업** 페이지에서 훈련된 모델을 생성할 공동 작업을 선택합니다.

1. 공동 작업이 열리면 **ML 모델** 탭을 선택합니다.

1. **사용자 지정 ML 모델의** **훈련된 모델** 섹션에서 **훈련된 모델 생성을** 선택합니다.

1. **훈련된 모델 생성** 페이지의 **연결된 모델 알고리즘**에 알고리즘을 지정합니다.

1. **훈련된 모델 세부 정보에** 다음을 입력합니다.

   1. **이름**에 공동 작업에서 모델의 고유한 이름을 입력합니다.

   1. (선택 사항) **설명**에 훈련된 모델에 대한 설명을 입력합니다.

   1. **훈련 데이터 입력 모드에서** 다음 중 하나를 선택합니다.
      + ML 스토리지 볼륨에 맞는 더 작은 데이터 세트가 있고 훈련 스크립트에 대한 기존 파일 시스템 액세스를 선호하는 경우 **파일을** 선택합니다.
      + 대규모 데이터 세트의 경우 **파이프**를 선택하여 S3에서 직접 데이터를 스트리밍하므로 모든 것을 디스크에 다운로드할 필요가 없으므로 훈련 속도를 개선하고 스토리지 요구 사항을 줄일 수 있습니다.
      + 특히 순차적으로 데이터를 읽거나 더 적은 파일을 처리하여 시작 시간을 단축할 때 S3 스트리밍의 이점을 파일 시스템 액세스와 결합하려면 **FastFile**을 선택합니다.

1. **ML 입력 채널 세부 정보**에서 다음을 수행합니다.

   1. **ML 입력 채널**의 경우 모델 알고리즘에 데이터를 제공하는 ML 입력 채널을 지정합니다.

      다른 채널을 추가하려면 **다른 ML 입력 채널 추가**를 선택합니다. 최대 19개의 ML 입력 채널을 추가할 수 있습니다.

   1. **채널 이름**에 ML 입력 채널의 이름을 입력합니다.

   1. **Amazon S3 데이터 배포 유형**에서 다음 중 하나를 선택합니다.
      + **완전히 복제됨을** 선택하여 각 훈련 인스턴스에 데이터 세트의 전체 사본을 제공합니다. 이는 데이터 세트가 메모리에 들어갈 만큼 작거나 각 인스턴스가 모든 데이터에 액세스해야 하는 경우에 가장 적합합니다.
      + **S3 키로 샤딩을** 선택하여 S3 키를 기반으로 훈련 인스턴스 간에 데이터 세트를 분할합니다. 각 인스턴스는 총 S3 객체의 약 1/n을 수신합니다. 여기서 'n'은 인스턴스 수입니다. 이는 병렬로 처리하려는 대규모 데이터 세트에 가장 적합합니다.
**참고**  
배포 유형을 선택할 때 데이터 세트 크기와 훈련 요구 사항을 고려하세요. **완전 복제는** 완전한 데이터 액세스를 제공하지만 더 많은 스토리지가 필요한 반면, ** S3 키로 샤딩하면** 대규모 데이터 세트를 분산 처리할 수 있습니다.

1. **최대 훈련 기간**에서 모델을 훈련할 최대 시간을 선택합니다.

1. **하이퍼파라미터에서** 알고리즘별 파라미터와 해당 값을 지정합니다. 하이퍼파라미터는 훈련 중인 모델에 고유하며 모델 훈련을 미세 조정하는 데 사용됩니다.

1. **환경 변수**에서 알고리즘별 변수와 해당 값을 지정합니다. 환경 변수는 Docker 컨테이너에서 설정됩니다.

1. **암호화**에서 사용자 지정를 사용하려면 **사용자 지정 KMS 키로 보안 암호 암호화** 확인란을 AWS KMS key선택합니다.

1. **EC2 리소스 구성**에서 모델 훈련에 사용되는 컴퓨팅 리소스에 대한 정보를 지정합니다.

   1. **인스턴스 유형**에서 실행할 인스턴스 유형을 선택합니다.

   1. **인스턴스 수**에 인스턴스 수를 입력합니다.

   1. **볼륨 크기 GB에** ML 스토리지 볼륨 크기를 입력합니다.

1. **훈련된 모델 생성을** 선택합니다.

------
#### [ API ]

훈련된 모델을 생성하려면(API)

모델을 훈련할 수 있는 구성원은 ML 입력 채널과 모델 알고리즘을 선택하여 훈련을 시작합니다.

특정 파라미터로 다음 코드를 실행합니다.

```
import boto3 
acr_ml_client= boto3.client('cleanroomsml')

acr_ml_client.create_trained_model(
    membershipIdentifier= 'membership_id',
    configuredModelAlgorithmAssociationArn = 'arn:aws:cleanrooms-ml:region:account:membership/membershipIdentifier/configured-model-algorithm-association/identifier',
    name='trained_model_name',
    resourceConfig={
        'instanceType': "ml.m5.xlarge",
        'volumeSizeInGB': 1
    },
    dataChannels=[
        {
            "mlInputChannelArn": channel_arn_1,
            "channelName": "channel_name"
        },
        {
            "mlInputChannelArn": channel_arn_2,
            "channelName": "channel_name"
        }
    ]
)
```

------

**참고**  
훈련된 모델을 생성한 후에는 편집할 수 없습니다. 변경하려면 훈련된 모델을 삭제하고 새 모델을 생성합니다.