AWS Clean Rooms ML에서 증분 훈련 사용 - AWS Clean Rooms

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

AWS Clean Rooms ML에서 증분 훈련 사용

사전 조건:

  • 에 액세스할 수 AWS 계정 있는 AWS Clean Rooms

  • 공동 작업의 기존 훈련된 모델

  • 증분 훈련을 위한 새 데이터 세트 또는 업데이트된 데이터 세트

  • 공동 작업에서 ML 모델을 생성하고 관리할 수 있는 적절한 권한

  • 기존 모델의 하이퍼파라미터 및 구성에 대한 지식

증분 훈련을 사용하면 기존 모델의 아티팩트와 업데이트된 데이터 세트를 사용하여 새 모델을 훈련할 수 있습니다. 점진적 훈련은 시간 및 리소스를 둘 다 절약할 수 있습니다.

점진적 훈련 사용:

  • 이전 훈련에서 고려하지 않은 기본 패턴이 있는 확장된 데이터 세트를 사용하여 새 모델을 훈련합니다.

  • 다른 하이퍼파라미터를 사용하거나 다른 데이터 세트를 사용하여 모델의 여러 변형을 훈련합니다.

Console
증분 훈련 작업을 실행하려면(콘솔)
  1. 에 로그인 AWS Management Console 하고 https://console.aws.amazon.com/cleanrooms AWS Clean Rooms 콘솔을 엽니다.

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

  3. 공동 작업 페이지에서 증분 훈련에 사용할 모델 아티팩트가 있는 공동 작업을 선택합니다.

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

  5. 사용자 지정 ML 모델의 훈련된 모델 섹션에서 점진적으로 훈련하려는 훈련된 모델 옆에 있는 라디오 버튼을 선택합니다.

  6. 개요 페이지의 버전에서

    1. 점진적으로 훈련하려는 훈련된 모델 옆에 있는 라디오 버튼을 선택합니다.

    2. 버전에서 훈련을 선택합니다.

  7. 버전에서 훈련된 모델 생성 페이지의 훈련된 모델 버전에서 버전을 선택합니다.

    기본 모델 버전이 자동으로 선택됩니다. 다른 버전이 있는 경우이 버전을 변경할 수 있습니다.

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

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

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

    3. 훈련 데이터 입력 모드에서 다음 중 하나를 선택합니다.

      • ML 스토리지 볼륨에 맞는 더 작은 데이터 세트가 있고 훈련 스크립트에 대한 기존 파일 시스템 액세스를 선호하는 경우 파일을 선택합니다.

      • 대규모 데이터 세트의 경우 파이프를 선택하여 S3에서 직접 데이터를 스트리밍하므로 모든 데이터를 디스크에 다운로드할 필요가 없으므로 훈련 속도를 개선하고 스토리지 요구 사항을 줄일 수 있습니다.

      • 특히 순차적으로 데이터를 읽거나 시작 시간을 단축하기 위해 더 적은 파일을 처리할 때 S3에서 스트리밍하는 이점을 파일 시스템 액세스와 결합하려면 FastFile을 선택합니다.

    4. 증분 훈련 채널 이름에 증분 훈련 채널의 이름을 입력합니다.

      참고

      버전 ID 없이 증분 훈련 채널 이름을 지정하면 시스템은 증분 훈련에 기본 모델을 사용합니다.

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

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

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

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

    3. Amazon S3 데이터 배포 유형에서 다음 중 하나를 선택합니다.

      • 완전히 복제됨을 선택하여 각 훈련 인스턴스에 데이터 세트의 전체 사본을 제공합니다. 이는 데이터 세트가 메모리에 들어갈 만큼 작거나 각 인스턴스가 모든 데이터에 액세스해야 하는 경우에 가장 적합합니다.

      • S3 키로 샤딩을 선택하여 S3 키를 기반으로 훈련 인스턴스 간에 데이터 세트를 분할합니다. 각 인스턴스는 총 S3 객체의 약 1/n을 수신합니다. 여기서 'n'은 인스턴스 수입니다. 이는 병렬로 처리하려는 대규모 데이터 세트에 가장 적합합니다.

      참고

      배포 유형을 선택할 때 데이터 세트 크기와 훈련 요구 사항을 고려하세요. 완전 복제는 완전한 데이터 액세스를 제공하지만 더 많은 스토리지가 필요한 반면, S3 키로 샤딩하면 대규모 데이터 세트를 분산 처리할 수 있습니다.

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

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

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

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

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

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

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

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

  15. 버전에서 훈련된 모델 생성을 선택합니다.

API

증분 훈련 작업(API)을 실행하려면

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

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 }, incrementalTrainingDataChannels=[ { 'trainedModelArn': trained_model_arn, 'channelName': 'channel_name' }, ] dataChannels=[ { 'mlInputChannelArn': channel_arn_1, 'channelName': 'channel_name' }, { 'mlInputChannelArn': channel_arn_2, 'channelName': 'channel_name' } ] )
참고

제한: 최대 총 20개의 채널( dataChannels 및 모두 포함incrementalTrainingDataChannels).

참고

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