모델 미세 조정 - Amazon SageMaker

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

모델 미세 조정

미세 조정을 사용하면 처음부터 훈련하지 않고도 새 데이터 세트를 기반으로 사전 훈련된 모델을 훈련시킬 수 있습니다. 전이 학습이라고도 하는 이 프로세스를 통해 더 작은 데이터 세트를 사용하고 훈련 시간을 단축하여 정확한 모델을 생성할 수 있습니다. 카드에 미세 조정 가능한 속성이 로 설정된 경우 모델을 미세 조정할 수 있습니다.

JumpStart fine-tunable Image Classification - TensorFlow model

중요

2023년 11월 30일부터 이전 Amazon SageMaker Studio 환경이 이제 Amazon SageMaker Studio Classic으로 명명되었습니다. 다음 섹션은 Studio Classic 애플리케이션 사용에 따라 다릅니다. 업데이트된 Studio 환경 사용에 대한 자세한 내용은 섹션을 참조하세요Amazon SageMaker Studio.

참고

Studio의 JumpStart 모델 미세 조정에 대한 자세한 내용은 섹션을 참조하세요. Studio에서 모델 미세 조정

데이터 소스 미세 조정

모델을 미세 조정할 때 기본 데이터 세트를 사용하거나 Amazon S3 버킷에 있는 자체 데이터를 선택할 수 있습니다.

사용 가능한 버킷을 찾아보려면 S3 버킷 찾기를 선택하세요. 이러한 버킷은 Studio Classic 계정을 설정하는 데 사용되는 권한으로 제한됩니다. Amazon S3 버킷 위치 입력을 URI 선택하여 Amazon S3를 지정할 수도 있습니다. Amazon S3

JumpStart data source settings with default dataset selected.

작은 정보

버킷의 데이터 형식을 지정하는 방법을 알아보려면 자세히 알아보기를 선택하세요. 모델의 설명 섹션에는 입력 및 출력에 대한 세부 정보가 있습니다. 

텍스트 모델의 경우:

  • 버킷에는 data.csv 파일이 있어야 합니다.

  • 첫 번째 열은 클래스 레이블의 고유한 정수여야 합니다. 예: 1, 2, 3, 4, n

  • 두 번째 열은 문자열이어야 합니다.

  • 두 번째 열에는 모델의 유형 및 언어와 일치하는 해당 텍스트가 있어야 합니다. 

비전 모델의 경우:

  • 버킷에는 클래스 수만큼 많은 하위 디렉터리가 있어야 합니다.

  • 각 하위 디렉터리에는 해당 클래스에 속하는 이미지가 .jpg 형식으로 포함되어야 합니다.

참고

는 리전 간 요청을 SageMaker 허용하지 않으므로 Amazon S3 버킷은 Studio Classic을 실행하는 AWS 리전 SageMaker 곳과 동일해야 합니다.

배포 구성 미세 조정

p3 패밀리는 딥 러닝 트레이닝을 위한 가장 빠른 패밀리로 권장되며, 모델을 미세 조정하는 데 권장됩니다. 다음 차트는 각 인스턴스 유형의 수GPUs를 보여줍니다. p2 및 g4 인스턴스 유형을 포함하여 다른 옵션을 선택할 수도 있습니다.

인스턴스 유형 GPUs
p3.2xlarge 1
p3.8xlarge 4
p3.16xlarge 8
p3dn.24xlarge 8

하이퍼파라미터

모델을 미세 조정하는 데 사용되는 훈련 작업의 하이퍼파라미터를 사용자 지정할 수 있습니다. 미세 조정 가능한 각 모델에 사용할 수 있는 하이퍼파라미터는 모델에 따라 다릅니다. 사용 가능한 각 하이퍼파라미터에 대한 자세한 내용은 Amazon의 내장 알고리즘 및 사전 훈련된 모델 SageMaker에서 선택한 모델의 하이퍼파라미터 설명서를 참조하세요. 예를 들어 미세 조정 가능한 이미지 분류 - TensorFlow 하이퍼파라미터에 대한 이미지 분류 - TensorFlow 하이퍼파라미터 자세한 내용은 섹션을 참조하세요.

하이퍼파라미터를 변경하지 않고 텍스트 모델에 기본 데이터 세트를 사용하면 결과적으로 거의 동일한 모델을 얻을 수 있습니다. 비전 모델의 경우 기본 데이터 세트는 사전 훈련된 모델을 훈련시키는 데 사용되는 데이터 세트와 다르므로 결과적으로 모델이 달라집니다.

모델 간에 일반적으로 사용되는 하이퍼파라미터는 다음과 같습니다.

  • 에포크 – 한 에포크는 전체 데이터 세트를 한 번 순환하는 것입니다. 여러 간격으로 하나의 배치가 완성되고, 여러 배치가 모여 결국 한 에포크를 완성하게 됩니다. 모델의 정확도가 허용 가능한 수준에 도달하거나 오류율이 허용 수준 아래로 떨어질 때까지 여러 에포크가 실행됩니다.

  • 학습률 – 에포크 간에 값을 변경해야 하는 양. 모델이 세분화됨에 따라 내부 가중치를 조정하고 오류율을 점검하여 모델이 개선되는지 확인합니다. 일반적인 학습률은 0.1 또는 0.01인데, 0.01은 훨씬 작은 조정으로 인해 훈련이 수렴되는 데 오랜 시간이 걸릴 수 있는 반면, 0.1은 훨씬 커서 훈련이 오버슈팅될 수 있습니다. 이는 모델 훈련을 위해 조정할 수 있는 기본 하이퍼파라미터 중 하나입니다. 텍스트 모델의 경우 학습 속도가 훨씬 작으면(의 경우 5e-5BERT) 모델이 더 정확해질 수 있습니다.

  • 배치 크기 - GPUs 훈련을 위해 에 보낼 각 간격에 대해 선택할 데이터 세트의 레코드 수입니다.

    이미지 예제에서는 당 32개의 이미지를 전송할 수 GPU있으므로 32개가 배치 크기입니다. 둘 이상의 가 있는 인스턴스 유형을 선택하면 GPU배치가 의 수로 나뉩니다GPUs. 권장 배치 크기는 사용 중인 데이터와 모델에 따라 달라집니다. 예를 들어, 이미지 데이터를 최적화하는 방법은 언어 데이터를 처리하는 방법과 다릅니다.

    배포 구성 섹션의 인스턴스 유형 차트에서 인스턴스 유형GPUs당 수를 확인할 수 있습니다. 표준 권장 배치 크기(예: 비전 모델의 경우 32)로 시작하세요. 그런 다음 선택한 인스턴스 유형GPUs에서 의 수를 곱합니다. 예를 들어 를 사용하는 경우 배치 크기가 의 수에 맞게 조정되므로 p3.8xlarge32(배치 크기)에 4(GPUs)를 곱하여 총 128이 됩니다GPUs. 와 같은 텍스트 모델의 경우 배치 크기 64로 시작한 다음 필요에 따라 줄BERT이세요.

훈련 출력

미세 조정 프로세스가 완료되면 상위 모델, 훈련 작업 이름, 훈련 작업, ARN훈련 시간 및 출력 경로와 같은 모델에 대한 정보를 JumpStart 제공합니다. 출력 경로는 Amazon S3 버킷에서 새 모델을 찾을 수 있는 위치입니다. 폴더 구조는 사용자가 제공한 모델 이름을 사용하며 모델 파일은 /output 하위 폴더에 있으며 항상 이름이 model.tar.gz로 지정됩니다. 

예시: s3://bucket/model-name/output/model.tar.gz

모델 훈련을 위한 기본값 구성

IAM 역할, 및 KMS 키와 같은 파라미터의 기본값을 구성하여 JumpStart 모델 배포 VPCs및 훈련을 위해 미리 채울 수 있습니다. 자세한 내용은 섹션을 참조하세요 JumpStart 모델의 기본값 구성.