SDK와 함께 기초 모델 사용 SageMaker Python - 아마존 SageMaker

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

SDK와 함께 기초 모델 사용 SageMaker Python

모든 JumpStart 기반 모델은 SDK를 사용하여 프로그래밍 방식으로 배포할 수 있습니다. SageMaker Python 의 모델 ID를 사용하여 공개적으로 사용 가능한 텍스트 생성 기반 모델을 배포할 수 있습니다. 공개적으로 사용 가능한 텍스트 생성 모델 테이블 독점 모델은 AWS Marketplace에서 모델을 구독한 후 모델 패키지 정보를 사용하여 배포해야 합니다.

다음 섹션에서는 클래스를 사용하여 기초 모델을 미세 조정하는 방법과 JumpStartEstimator 클래스를 사용하여 모델을 배포하는 방법, 추가 Python SDK 유틸리티를 보여줍니다. JumpStartModel

중요

일부 파운데이션 모델은 EULA(최종 사용자 라이선스 계약)을 명시적으로 수락해야 합니다. 자세한 정보는 SDK를 통한 EULA 승인 SageMaker Python을 참조하세요.

공개적으로 사용 가능한 모든 기초 모델에 사용 가능한 모델 ID를 참조하려면 사전 학습된 모델 테이블을 포함한 내장 알고리즘을 참조하십시오. 검색 창에서 원하는 기초 모델의 이름을 검색하거나, 항목 보기 드롭다운 메뉴를 사용하여 표시되는 항목 수를 변경하거나, 페이지 왼쪽에 파란색으로 강조 표시된 다음 텍스트를 선택하여 사용 가능한 모델을 탐색하십시오.

공개적으로 사용 가능한 기초 모델을 학급에 맞게 미세 조정하십시오. JumpStartEstimator

SDK를 사용하여 단 몇 줄의 코드로 내장 알고리즘 또는 사전 학습된 모델을 미세 조정할 수 있습니다. SageMaker Python

  1. 먼저, 사전 학습된 모델 테이블을 포함하는 내장 알고리즘에서 원하는 모델의 모델 ID를 찾으십시오.

  2. 모델 ID를 사용하여 훈련 작업을 JumpStart 추정기로 정의하십시오.

    from sagemaker.jumpstart.estimator import JumpStartEstimator model_id = "huggingface-textgeneration1-gpt-j-6b" estimator = JumpStartEstimator(model_id=model_id)
  3. 미세 estimator.fit() 조정에 사용할 훈련 데이터를 가리키며 모델에서 실행합니다.

    estimator.fit( {"train": training_dataset_s3_path, "validation": validation_dataset_s3_path} )
  4. 그런 다음 deploy 메서드를 사용하여 추론을 위해 모델을 자동으로 배포하세요. 이 예제에서는 의 GPT-J 6B 모델을 사용합니다. Hugging Face

    predictor = estimator.deploy()
  5. 그런 다음 메서드를 사용하여 배포된 모델을 사용하여 추론을 실행할 수 있습니다. predict

    question = "What is Southern California often abbreviated as?" response = predictor.predict(question) print(response)
참고

이 예제에서는 질문 응답, 명명된 개체 인식, 요약 등을 비롯한 광범위한 텍스트 생성 사용 사례에 적합한 기초 모델 GPT-J 6B를 사용합니다. 모델 사용 사례에 대한 자세한 내용은 을 참조하십시오. 최신 파운데이션 모델 살펴보기

를 생성할 때 모델 버전이나 인스턴스 유형을 선택적으로 지정할 수 있습니다JumpStartEstimator. JumpStartEstimator 클래스와 해당 파라미터에 대한 자세한 내용은 을 참조하십시오 JumpStartEstimator.

기본 인스턴스 유형 확인

클래스를 사용하여 사전 학습된 모델을 미세 조정할 때 특정 모델 버전 또는 인스턴스 유형을 선택적으로 포함할 수 있습니다. JumpStartEstimator 모든 JumpStart 모델에는 기본 인스턴스 유형이 있습니다. 다음 코드를 사용하여 기본 교육 인스턴스 유형을 검색하십시오.

from sagemaker import instance_types instance_type = instance_types.retrieve_default( model_id=model_id, model_version=model_version, scope="training") print(instance_type)

instance_types.retrieve()메서드를 사용하면 해당 JumpStart 모델에 지원되는 모든 인스턴스 유형을 확인할 수 있습니다.

기본 하이퍼파라미터 확인

클래스의 retrieve_default() 메서드를 사용하여 훈련에 사용되는 디폴트 하이퍼파라미터를 확인할 수 있습니다. hyperparameters

from sagemaker import hyperparameters my_hyperparameters = hyperparameters.retrieve_default(model_id=model_id, model_version=model_version) print(my_hyperparameters) # Optionally override default hyperparameters for fine-tuning my_hyperparameters["epoch"] = "3" my_hyperparameters["per_device_train_batch_size"] = "4" # Optionally validate hyperparameters for the model hyperparameters.validate(model_id=model_id, model_version=model_version, hyperparameters=my_hyperparameters)

사용 가능한 하이퍼파라미터에 대한 자세한 내용은 을 참조하십시오. 일반적으로 지원되는 미세 조정 하이퍼파라미터

기본 지표 정의를 확인하세요.

기본 지표 정의를 확인할 수도 있습니다.

print(metric_definitions.retrieve_default(model_id=model_id, model_version=model_version))

JumpStartModel클래스와 함께 공개적으로 사용 가능한 기초 모델을 배포하세요.

SageMaker PythonSDK를 사용하여 단 몇 줄의 코드만으로 내장 알고리즘 또는 사전 학습된 모델을 SageMaker 엔드포인트에 배포할 수 있습니다.

  1. 먼저, 사전 학습된 모델 테이블을 포함하는 내장 알고리즘에서 원하는 모델의 모델 ID를 찾으십시오.

  2. 모델 ID를 사용하여 JumpStart 모델을 모델로 정의하십시오.

    from sagemaker.jumpstart.model import JumpStartModel model_id = "huggingface-text2text-flan-t5-xl" my_model = JumpStartModel(model_id=model_id)
  3. deploy메서드를 사용하면 추론을 위해 모델을 자동으로 배포할 수 있습니다. 이 예제에서는 의 FLAN-T5 XL 모델을 사용합니다. Hugging Face

    predictor = my_model.deploy()
  4. 그런 다음 메서드를 사용하여 배포된 모델을 사용하여 추론을 실행할 수 있습니다predict.

    question = "What is Southern California often abbreviated as?" response = predictor.predict(question) print(response)
참고

이 예제에서는 질문 응답, 요약, 챗봇 생성 등 다양한 텍스트 생성 사용 사례에 적합한 기초 모델 FLAN-T5 XL을 사용합니다. 모델 사용 사례에 대한 자세한 내용은 을 참조하십시오. 최신 파운데이션 모델 살펴보기

JumpStartModel 클래스와 해당 파라미터에 대한 자세한 내용은 을 참조하십시오 JumpStartModel.

기본 인스턴스 유형 확인

클래스를 사용하여 사전 학습된 모델을 배포할 때 선택적으로 특정 모델 버전 또는 인스턴스 유형을 포함할 수 있습니다. JumpStartModel 모든 JumpStart 모델에는 기본 인스턴스 유형이 있습니다. 다음 코드를 사용하여 기본 배포 인스턴스 유형을 검색합니다.

from sagemaker import instance_types instance_type = instance_types.retrieve_default( model_id=model_id, model_version=model_version, scope="inference") print(instance_type)

instance_types.retrieve()메서드를 사용하여 해당 JumpStart 모델에 지원되는 모든 인스턴스 유형을 확인하세요.

추론 구성 요소를 사용하여 공유 엔드포인트에 여러 모델을 배포할 수 있습니다.

추론 구성 요소는 유연성과 확장성을 높이기 위해 하나 이상의 모델을 엔드포인트에 배포하는 데 사용할 수 있는 SageMaker 호스팅 객체입니다. 모델의 를 기본 JumpStart 모델 기반 엔드포인트가 inference-component-based 아닌 것으로 변경해야 합니다. endpoint_type

predictor = my_model.deploy( endpoint_name = 'jumpstart-model-id-123456789012', endpoint_type = EndpointType.INFERENCE_COMPONENT_BASED )

추론 구성 요소를 사용하여 엔드포인트를 생성하고 모델을 배포하는 SageMaker 방법에 대한 자세한 내용은 을 참조하십시오. 여러 모델과의 공유 리소스 사용률

유효한 입력 및 출력 추론 형식을 확인하세요.

추론에 적합한 데이터 입력 및 출력 형식을 확인하려면 SerializersDeserializers 클래스의 retrieve_options() 메서드를 사용할 수 있습니다.

print(sagemaker.serializers.retrieve_options(model_id=model_id, model_version=model_version)) print(sagemaker.deserializers.retrieve_options(model_id=model_id, model_version=model_version))

지원되는 콘텐츠 및 허용 유형을 확인하십시오.

마찬가지로 retrieve_options() 메서드를 사용하여 모델에 지원되는 콘텐츠와 허용 유형을 확인할 수 있습니다.

print(sagemaker.content_types.retrieve_options(model_id=model_id, model_version=model_version)) print(sagemaker.accept_types.retrieve_options(model_id=model_id, model_version=model_version))

유틸리티에 대한 자세한 내용은 유틸리티 API를 참조하십시오.

SDK와 함께 독점 기반 모델 사용 SageMaker Python

독점 모델은 AWS Marketplace에서 모델을 구독한 후 모델 패키지 정보를 사용하여 배포해야 합니다. SageMaker 및 AWS Marketplace에 대한 자세한 내용은 의 Amazon SageMaker 알고리즘 및 모델 구매 및 판매를 참조하십시오 AWS Marketplace. 최신 독점 모델에 대한 AWS Marketplace 링크를 찾으려면 Amazon SageMaker JumpStart 시작하기를 참조하십시오.

에서 AWS Marketplace원하는 모델을 구독한 후 모델 공급자와 연결된 SageMaker Python SDK 및 SDK를 사용하여 기초 모델을 배포할 수 있습니다. 예를 들어 AI21 Labs, Cohere를 예로 들면, 각각, 및 패키지를 LightOn "ai21[SM]" 사용합니다. cohere-sagemaker lightonsage

예를 들어, AI21 Labs의 Jurassic-2 Jumbo Instruct를 사용하여 JumpStart 모델을 정의하려면 다음 코드를 사용하십시오.

import sagemaker import ai21 role = get_execution_role() sagemaker_session = sagemaker.Session() model_package_arn = "arn:aws:sagemaker:us-east-1:865070037744:model-package/j2-jumbo-instruct-v1-1-43-4e47c49e61743066b9d95efed6882f35" my_model = ModelPackage( role=role, model_package_arn=model_package_arn, sagemaker_session=sagemaker_session )

step-by-step 예를 들어 Studio Classic에서 원하는 전용 파운데이션 모델과 연결된 노트북을 찾아 실행하십시오. SageMaker 자세한 정보는 Amazon SageMaker 스튜디오 클래식에서 파운데이션 모델 사용을 참조하세요. SageMaker PythonSDK에 대한 자세한 내용은 을 참조하십시오. ModelPackage