View a markdown version of this page

모델 배포 - Amazon SageMaker AI

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

모델 배포

훈련 작업이 완료되면 훈련된 모델을 출력 모델 패키지 그룹에서 모델 패키지로 사용할 수 있습니다. 배포에는 두 가지 옵션이 있습니다.

옵션 1: SageMaker AI AI 추론을 사용하여 배포

실시간, 서버리스 또는 비동기 예측을 위해 SageMaker AI 추론 엔드포인트에서 모델을 호스팅합니다. 이 옵션을 사용하면 인스턴스 유형, 조정 정책 및 네트워크 구성을 세부적으로 제어할 수 있습니다. 지연 시간이 짧은 서비스, 사용자 지정 추론 로직 또는 기존 SageMaker AI 워크플로와의 긴밀한 통합이 필요한 경우에 적합합니다.

배포하려면 완료된 훈련 작업OutputModelPackageArn에서를 검색하고 이를 사용하여 엔드포인트를 생성합니다.

# Retrieve the output model ARN from your completed job aws sagemaker describe-job \ --job-name "my-agent-rft-job" \ --job-category AgentRFT \ --region us-west-2

전체 배포 옵션 및 구성은 SageMaker AI 설명서의 추론을 위한 모델 배포를 참조하세요.

옵션 2: Amazon Bedrock으로 가져오기

모델을 Amazon Bedrock으로 가져와 엔드포인트 구성 없이 Bedrock의 관리형 추론 APIs 사용합니다. Amazon Bedrock은 SageMaker AI에서 미세 조정된 사용자 지정 오픈 소스 파운데이션 모델(예: Mistral AI 또는 Llama) 및 Amazon Nova 모델 가져오기를 지원합니다. 자세한 내용은 Amazon Bedrock 사용 설명서의 Amazon Bedrock으로 사전 훈련된 모델 가져오기를 참조하세요. Nova 모델의 경우 사용자 지정 모델 생성을 사용하여 가져오기를 참조하세요.

SageMaker AI Studio를 사용하여 배포

  • 작업 > 훈련으로 이동하여 Multi-turn RL 탭을 선택합니다.

  • 완료된 작업을 선택하고 사용자 지정 모델 세부 정보에서 모델을 선택하여 성능 지표, 모델 계보 및 훈련 로그를 검토합니다.

  • 거버넌스 탭에서 모델을 승인하여 배포에 적합하도록 합니다.

  • 배포(Deploy)를 선택합니다. SageMaker AI AI 실시간 엔드포인트에 배포할지 또는 Amazon Bedrock을 통해 배포할지 여부와 새 엔드포인트를 생성할지 또는 기존 엔드포인트를 재사용할지 선택합니다.

  • 인스턴스 유형을 선택하고 선택적으로 VPC 설정, IAM 역할 및 KMS 암호화 키를 구성합니다.

  • 배포 탭에서 배포 진행 상황을 모니터링합니다.

  • 배포 > 엔드포인트로 이동합니다. 엔드포인트 및 연결된 추론 구성 요소가 InService 상태에 도달하면 엔드포인트를 호출할 준비가 된 것입니다.

SageMaker AI Python SDK를 사용하여 배포

SageMaker AI 엔드포인트에 배포:

from sagemaker.serve import ModelBuilder from sagemaker.core.resources import ModelPackage # Get the output model package from your completed training job model_package = ModelPackage.get( model_package_name=job.output_model_package_arn ) model_builder = ModelBuilder( model=model_package, image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/djl-inference:0.36.0-lmi24.0.0-cu129", instance_type="ml.g6e.48xlarge", ) model_builder.accept_eula = True model_builder.build() endpoint = model_builder.deploy( endpoint_name="mtrl-finetuned-endpoint", instance_type="ml.g6e.48xlarge", initial_instance_count=1, )

엔드포인트를 호출합니다.

import json response = endpoint.invoke( body=json.dumps({ "model": "/opt/ml/model", "messages": [{"role": "user", "content": "What is 25 * 4?"}], "max_tokens": 200, "stream": False, }).encode("utf-8"), content_type="application/json", )