View a markdown version of this page

ModelBuilder 클래스와 함께 공개적으로 사용 가능한 파운데이션 모델 배포 - Amazon SageMaker AI

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

ModelBuilder 클래스와 함께 공개적으로 사용 가능한 파운데이션 모델 배포

SageMaker Python SDK를 사용하여 몇 줄의 코드만으로 기본 제공 알고리즘 또는 사전 훈련된 모델을 SageMaker AI 엔드포인트에 배포할 수 있습니다.

  1. 먼저에서 선택한 모델의 모델 ID를 찾습니다사용 가능한 파운데이션 모델.

  2. 모델 ID를 사용하여 모델을 JumpStart 모델로 정의합니다.

    from sagemaker.serve import ModelBuilder from sagemaker.core.jumpstart.configs import JumpStartConfig jumpstart_config = JumpStartConfig(model_id="huggingface-text2text-flan-t5-xl") model_builder = ModelBuilder.from_jumpstart_config(jumpstart_config=jumpstart_config)
  3. deploy 메서드를 사용하여 추론을 위해 모델을 자동으로 배포합니다. 이 예제에서는 Hugging Face의 FLAN-T5 XL 모델을 사용합니다.

    model = model_builder.build() endpoint = model_builder.deploy()
  4. 그런 다음 invoke 메서드를 사용하여 배포된 모델로 추론을 실행할 수 있습니다. 이와 같은 텍스트 생성 모델은 inputs 키가 있는 JSON 요청 본문을 수락합니다. 를 사용하여 페이로드를 직렬화json.dumps하고 콘텐츠 유형을 로 설정합니다application/json.

    import json question = "What is Southern California often abbreviated as?" payload = {"inputs": question, "parameters": {"max_new_tokens": 100}} response = endpoint.invoke(body=json.dumps(payload), content_type="application/json") print(response.body.read().decode('utf-8'))
참고

이 예제에서는 파운데이션 모델 FLAN-T5 XL을 사용합니다. 이 모델은 질문 응답, 요약, 챗봇 생성 등을 포함한 다양한 텍스트 생성 사용 사례에 적합합니다. 모델 사용 사례에 대한 자세한 내용은 사용 가능한 파운데이션 모델 섹션을 참조하세요.

ModelBuilder 클래스 및 해당 파라미터에 대한 자세한 내용은 문서 읽기 웹 사이트의 SageMaker Python SDK 설명서에서 ModelBuilder를 참조하세요.

기본 인스턴스 유형 확인

사전 훈련된 모델을 배포할 때 선택적으로에서 모델 버전을 지정할 수 있습니다JumpStartConfig. 에서 인스턴스 유형을 선택할 수도 있습니다ModelBuilder(예: instance_type 파라미터 사용). 모든 JumpStart 모델에는 기본 인스턴스 유형이 있습니다. 다음 코드를 사용하여 기본 배포 인스턴스 유형을 검색합니다.

from sagemaker.core 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 AI 호스팅 객체입니다. JumpStart 모델의 endpoint_type를 기본 모델 기반 엔드포인트가 아닌 추론 구성 요소 기반으로 변경해야 합니다. inference-component-based 엔드포인트 유형으로 가져오기 EndpointType 및 배포:

from sagemaker.core.enums import EndpointType endpoint = model_builder.deploy( endpoint_name = 'jumpstart-model-id-123456789012', endpoint_type = EndpointType.INFERENCE_COMPONENT_BASED )

추론 구성 요소를 사용하여 엔드포인트를 만들고 SageMaker AI 모델을 배포하는 방법에 대한 자세한 내용은 여러 모델을 사용한 공유 리소스 사용률 섹션을 참조하세요.

유효한 입력 및 출력 추론 형식 확인

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

from sagemaker.core.serializers.implementations import retrieve_options as retrieve_serializer_options from sagemaker.core.deserializers.implementations import retrieve_options as retrieve_deserializer_options print(retrieve_serializer_options(model_id=model_id, model_version=model_version)) print(retrieve_deserializer_options(model_id=model_id, model_version=model_version))

지원되는 콘텐츠 확인 및 유형 수락

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

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

유틸리티에 대한 자세한 내용은 Utility API를 참조하세요.