고객이 클라우드로의 마이그레이션을 가속화하고 비즈니스를 혁신함에 따라 일부 고객은 멀티클라우드 환경에서 IT 운영을 관리해야 하는 상황에 직면하게 됩니다. 예를 들어 이미 다른 클라우드 공급자를 사용하고 있는 회사를 인수했거나 AWS에서 제공하는 고유한 기능을 통해 가치를 생성하는 워크로드를 보유하고 있을 수 있습니다. 또 다른 예로는 최종 고객에게 혜택을 주기 위해 다양한 클라우드 플랫폼에서 제품과 서비스를 제공하는 ISV(독립 소프트웨어 공급업체)가 있습니다. 또는 조직이 기본 클라우드 공급자를 사용할 수 없는 지역에서 운영 중일 수 있으며 데이터 주권 또는 데이터 상주 요구 사항을 충족하기 위해 보조 클라우드 공급자를 사용할 수 있습니다.
이러한 시나리오에서 생성 AI, 대규모 언어 모델(LLM) 및 기계 학습(ML) 기술을 비즈니스의 핵심 부분으로 수용하기 시작하면 다음을 활용할 수 있는 옵션을 찾을 수 있습니다. AWS AI 및 ML 멀티클라우드 환경에서 AWS 외부의 기능. 예를 들어, 다음을 활용하고 싶을 수도 있습니다. 아마존 세이지 메이커 ML 모델을 구축 및 학습하거나 Amazon SageMaker 점프스타트 몇 번의 버튼 클릭만으로 배포할 수 있는 사전 구축된 기반 또는 타사 ML 모델을 배포합니다. 아니면 이점을 활용하고 싶을 수도 있습니다. 아마존 기반암 생성적 AI 애플리케이션을 구축 및 확장하거나 AWS의 사전 훈련된 AI 서비스, 기계 학습 기술을 배울 필요가 없습니다. AWS는 조직이 원하는 시나리오에 대한 지원을 제공합니다. 자체 모델을 Amazon SageMaker로 가져오기 or 예측을 위해 Amazon SageMaker Canvas에.
이 게시물에서는 멀티클라우드 환경에서 AWS의 가장 광범위하고 심층적인 AI/ML 기능 세트를 활용하기 위해 필요한 여러 옵션 중 하나를 보여줍니다. AWS에서 ML 모델을 구축 및 훈련하고 다른 플랫폼에 모델을 배포하는 방법을 보여줍니다. Amazon SageMaker를 사용하여 모델을 훈련하고 모델 아티팩트를 저장합니다. 아마존 단순 스토리지 서비스 (Amazon S3), Azure에서 모델을 배포 및 실행합니다. 이 접근 방식은 가장 포괄적인 기능 세트를 위해 ML용 AWS 서비스를 사용하지만 우리가 논의한 상황 중 하나에서 다른 클라우드 공급자에서 모델을 실행해야 하는 경우에 유용합니다.
주요 개념
아마존 세이지 메이커 스튜디오 머신러닝을 위한 웹 기반 통합 개발 환경(IDE)입니다. SageMaker Studio를 사용하면 데이터 과학자, ML 엔지니어 및 데이터 엔지니어가 하나의 웹 인터페이스에서 데이터를 준비하고, ML 모델을 구축, 교육 및 배포할 수 있습니다. SageMaker Studio를 사용하면 데이터 준비부터 ML 모델 구축, 교육 및 배포에 이르기까지 ML 개발 수명 주기의 모든 단계에서 특별히 제작된 도구에 액세스하여 데이터 과학 팀 생산성을 최대 XNUMX배 향상시킬 수 있습니다. SageMaker Studio 노트북 SageMaker 및 기타 AWS 서비스의 특수 목적 ML 도구와 통합되는 빠른 시작 협업 노트북입니다.
SageMaker는 비즈니스 분석가, 데이터 과학자 및 MLOps 엔지니어가 ML 전문 지식에 관계없이 모든 사용 사례에 대해 ML 모델을 구축, 훈련 및 배포할 수 있도록 지원하는 포괄적인 ML 서비스입니다.
AWS 제공 딥 러닝 컨테이너 훈련 및 추론을 위해 SageMaker와 함께 사용할 수 있는 PyTorch, TensorFlow 및 Apache MXNet과 같은 널리 사용되는 ML 프레임워크용 DLC입니다. DLC는 Docker 이미지로 제공됩니다. Amazon Elastic Container Registry (아마존 ECR). Docker 이미지는 인기 있는 딥 러닝 프레임워크의 최신 버전과 훈련 및 추론에 필요한 기타 종속성을 사용하여 사전 설치 및 테스트되었습니다. SageMaker에서 관리하는 사전 구축된 Docker 이미지의 전체 목록은 다음을 참조하세요. Docker 레지스트리 경로 및 예제 코드. Amazon ECR은 보안 검색을 지원하며 다음과 통합됩니다. 아마존 인스펙터 조직의 이미지 규정 준수 보안 요구 사항을 충족하고 취약성 평가 검색을 자동화하는 취약성 관리 서비스입니다. 조직에서도 사용할 수 있습니다. AWS 트레이닝 및 AWS 인 페렌 시아 ML 훈련 작업 또는 추론 실행을 위한 더 나은 가격 대비 성능을 위해.
솔루션 개요
이 섹션에서는 SageMaker를 사용하여 모델을 구축 및 훈련하고 Azure Functions에 모델을 배포하는 방법을 설명합니다. 우리는 SageMaker Studio 노트북을 사용하여 모델을 구축, 교육 및 배포합니다. PyTorch용으로 사전 구축된 Docker 이미지를 사용하여 SageMaker에서 모델을 교육합니다. 이 경우 훈련된 모델을 Azure에 배포하지만 동일한 접근 방식을 사용하여 온프레미스 또는 기타 클라우드 플랫폼과 같은 다른 플랫폼에 모델을 배포할 수 있습니다.
훈련 작업을 생성하면 SageMaker는 ML 컴퓨팅 인스턴스를 시작하고 훈련 코드와 훈련 데이터 세트를 사용하여 모델을 훈련합니다. 훈련 작업에 대한 입력으로 지정하는 S3 버킷에 결과 모델 아티팩트 및 기타 출력을 저장합니다. 모델 훈련이 완료되면 다음을 사용합니다. 열린 신경망 교환 (ONNX) 런타임 라이브러리를 사용하여 PyTorch 모델을 ONNX 모델로 내보낼 수 있습니다.
마지막으로 Azure CLI를 사용하여 Python으로 작성된 사용자 지정 추론 코드와 함께 ONNX 모델을 Azure Functions에 배포합니다. ONNX는 대부분의 일반적으로 사용되는 ML 프레임워크 및 도구. 한 가지 주목할 점은 PyTorch에서 TensorFlow로와 같은 다른 대상 배포 프레임워크를 사용하려는 경우 ML 모델을 ONNX로 변환하는 것이 유용하다는 것입니다. 소스와 대상 모두에서 동일한 프레임워크를 사용하는 경우 모델을 ONNX 형식으로 변환할 필요가 없습니다.
다음 다이어그램은 이 접근 방식의 아키텍처를 보여줍니다.
우리는 SageMaker Studio 노트북을 다음과 함께 사용합니다. SageMaker Python SDK 모델을 구축하고 훈련합니다. SageMaker Python SDK는 SageMaker에서 ML 모델을 훈련하고 배포하기 위한 오픈 소스 라이브러리입니다. 자세한 내용은 다음을 참조하세요. Amazon SageMaker Studio 노트북 생성 또는 열기.
다음 섹션의 코드 조각은 Data Science 3.0 이미지 및 Python 3.0 커널을 사용하여 SageMaker Studio 노트북 환경에서 테스트되었습니다.
이 솔루션에서는 다음 단계를 보여줍니다.
- PyTorch 모델을 훈련합니다.
- PyTorch 모델을 ONNX 모델로 내보냅니다.
- 모델과 추론 코드를 패키징합니다.
- Azure Functions에 모델을 배포합니다.
사전 조건
다음과 같은 전제 조건이 있어야 합니다.
- AWS 계정.
- SageMaker 도메인 및 SageMaker Studio 사용자. 이를 생성하는 방법에 대한 지침은 다음을 참조하세요. 빠른 설정을 사용하여 Amazon SageMaker 도메인에 온보딩.
- Azure CLI.
- Azure Functions를 만들고 관리할 수 있는 권한이 있는 서비스 주체에 대한 자격 증명 및 Azure에 대한 액세스입니다.
PyTorch를 사용하여 모델 훈련
이 섹션에서는 PyTorch 모델을 훈련하는 단계를 자세히 설명합니다.
종속성 설치
모델 훈련 및 모델 배포에 필요한 단계를 수행하려면 라이브러리를 설치하십시오.
pip install torchvision onnx onnxruntime
초기 설정 완료
우리는 Python 용 AWS SDK (Boto3) 그리고 SageMaker Python SDK. 설정의 일부로 다음을 정의합니다.
- SageMaker 및 자체 계정의 컨텍스트 내에서 편리한 방법을 제공하는 세션 객체입니다.
- 교육 및 호스팅 서비스에 권한을 위임하는 데 사용되는 SageMaker 역할 ARN입니다. 이러한 서비스가 데이터와 모델이 저장된 S3 버킷에 액세스할 수 있도록 하려면 이것이 필요합니다. 비즈니스 요구 사항을 충족하는 역할을 만드는 방법에 대한 지침은 다음을 참조하세요. SageMaker 역할. 이 게시물에서는 Studio 노트북 인스턴스와 동일한 실행 역할을 사용합니다. 우리는 호출을 통해 이 역할을 얻습니다.
sagemaker.get_execution_role()
. - 훈련 작업이 실행될 기본 지역입니다.
- 모델 출력을 저장하는 데 사용하는 기본 버킷과 접두사입니다.
다음 코드를 참조하십시오.
import sagemaker
import boto3
import os execution_role = sagemaker.get_execution_role()
region = boto3.Session().region_name
session = sagemaker.Session()
bucket = session.default_bucket()
prefix = "sagemaker/mnist-pytorch"
훈련 데이터 세트 만들기
공개 버킷에서 사용 가능한 데이터세트를 사용합니다. sagemaker-example-files-prod-{region}
. 데이터세트에는 다음 파일이 포함되어 있습니다.
- 기차-이미지-idx3-ubyte.gz – 훈련 세트 이미지가 포함되어 있습니다.
- 기차-라벨-idx1-ubyte.gz – 트레이닝 세트 라벨이 포함되어 있습니다.
- t10k-이미지-idx3-ubyte.gz – 테스트 세트 이미지가 포함되어 있습니다.
- t10k-라벨-idx1-ubyte.gz – 테스트 세트 라벨이 포함되어 있습니다.
우리는을 사용하여torchvision.datasets
훈련 데이터 버킷에 데이터를 업로드하기 전에 공개 버킷에서 로컬로 데이터를 다운로드하는 모듈입니다. 이 버킷 위치를 SageMaker 훈련 작업에 대한 입력으로 전달합니다. 훈련 스크립트는 이 위치를 사용하여 훈련 데이터를 다운로드하고 준비한 다음 모델을 훈련합니다. 다음 코드를 참조하세요.
MNIST.mirrors = [ f"https://sagemaker-example-files-prod-{region}.s3.amazonaws.com/datasets/image/MNIST/"
] MNIST( "data", download=True, transform=transforms.Compose( [transforms.ToTensor(), transforms.Normalize((0.1307,), (0.3081,))] ),
)
학습 스크립트 만들기
SageMaker를 사용하면 다음을 사용하여 자신만의 모델을 가져올 수 있습니다. 스크립트 모드. 스크립트 모드를 사용하면 사전 구축된 SageMaker 컨테이너를 사용하고 사용자 지정 라이브러리 및 종속성과 함께 모델 정의가 포함된 자체 교육 스크립트를 제공할 수 있습니다. 그만큼 SageMaker Python SDK 스크립트를 다음과 같이 전달합니다. entry_point
컨테이너는 제공된 스크립트에서 학습 기능을 로드하고 실행하여 모델을 학습시킵니다.
훈련이 완료되면 SageMaker는 훈련 작업에 매개변수로 제공한 S3 버킷에 모델 출력을 저장합니다.
우리의 훈련 코드는 다음과 같이 조정되었습니다. PyTorch 예제 스크립트. 다음 코드에서 발췌한 내용은 모델 정의와 학습 함수를 보여줍니다.
# define network class Net(nn.Module): def __init__(self): super(Net, self).__init__() self.conv1 = nn.Conv2d(1, 32, 3, 1) self.conv2 = nn.Conv2d(32, 64, 3, 1) self.dropout1 = nn.Dropout(0.25) self.dropout2 = nn.Dropout(0.5) self.fc1 = nn.Linear(9216, 128) self.fc2 = nn.Linear(128, 10) def forward(self, x): x = self.conv1(x) x = F.relu(x) x = self.conv2(x) x = F.relu(x) x = F.max_pool2d(x, 2) x = self.dropout1(x) x = torch.flatten(x, 1) x = self.fc1(x) x = F.relu(x) x = self.dropout2(x) x = self.fc2(x) output = F.log_softmax(x, dim=1) return output
# train def train(args, model, device, train_loader, optimizer, epoch): model.train() for batch_idx, (data, target) in enumerate(train_loader): data, target = data.to(device), target.to(device) optimizer.zero_grad() output = model(data) loss = F.nll_loss(output, target) loss.backward() optimizer.step() if batch_idx % args.log_interval == 0: print('Train Epoch: {} [{}/{} ({:.0f}%)]tLoss: {:.6f}'.format( epoch, batch_idx * len(data), len(train_loader.dataset), 100. * batch_idx / len(train_loader), loss.item())) if args.dry_run: break
모델 훈련
이제 환경을 설정하고 입력 데이터 세트와 사용자 지정 교육 스크립트를 만들었으므로 SageMaker를 사용하여 모델 교육을 시작할 수 있습니다. SageMaker Python SDK의 PyTorch 추정기를 사용하여 SageMaker에서 훈련 작업을 시작합니다. 필수 매개변수를 추정기에 전달하고 fit 메소드를 호출합니다. PyTorch 추정기에서 fit을 호출하면 SageMaker는 스크립트를 훈련 코드로 사용하여 훈련 작업을 시작합니다.
from sagemaker.pytorch import PyTorch output_location = f"s3://{bucket}/{prefix}/output"
print(f"training artifacts will be uploaded to: {output_location}") hyperparameters={ "batch-size": 100, "epochs": 1, "lr": 0.1, "gamma": 0.9, "log-interval": 100
} instance_type = "ml.c4.xlarge"
estimator = PyTorch( entry_point="train.py", source_dir="code", # directory of your training script role=execution_role, framework_version="1.13", py_version="py39", instance_type=instance_type, instance_count=1, volume_size=250, output_path=output_location, hyperparameters=hyperparameters
) estimator.fit(inputs = { 'training': f"{inputs}", 'testing': f"{inputs}"
})
훈련된 모델을 ONNX 모델로 내보내기
훈련이 완료되고 모델이 Amazon S3의 사전 정의된 위치에 저장되면 ONNX 런타임을 사용하여 모델을 ONNX 모델로 내보냅니다.
훈련이 완료된 후 실행할 훈련 스크립트에 모델을 ONNX로 내보내는 코드를 포함합니다.
PyTorch는 입력을 사용하여 모델을 실행하고 출력을 계산하는 데 사용된 연산자의 추적을 기록하여 모델을 ONNX로 내보냅니다. PyTorch에서 올바른 유형의 무작위 입력을 사용합니다. torch.onnx.export
모델을 ONNX로 내보내는 기능입니다. 또한 모델이 변수를 허용하도록 입력의 첫 번째 차원을 동적으로 지정합니다. batch_size
추론 중 입력의 수입니다.
def export_to_onnx(model, model_dir, device): logger.info("Exporting the model to onnx.") dummy_input = torch.randn(1, 1, 28, 28).to(device) input_names = [ "input_0" ] output_names = [ "output_0" ] path = os.path.join(model_dir, 'mnist-pytorch.onnx') torch.onnx.export(model, dummy_input, path, verbose=True, input_names=input_names, output_names=output_names, dynamic_axes={'input_0' : {0 : 'batch_size'}, # variable length axes 'output_0' : {0 : 'batch_size'}})
ONNX는 PyTorch, CNTK(Microsoft Cognitive Toolkit) 등과 같은 딥 러닝 프레임워크 간의 상호 운용성을 지원하는 딥 러닝 모델을 위한 개방형 표준 형식입니다. 즉, 이러한 프레임워크 중 하나를 사용하여 모델을 교육한 다음 사전 교육된 모델을 ONNX 형식으로 내보낼 수 있습니다. 모델을 ONNX로 내보내면 배포 장치 및 플랫폼을 더욱 다양하게 선택할 수 있는 이점을 얻을 수 있습니다.
모델 아티팩트 다운로드 및 추출
훈련 스크립트가 저장한 ONNX 모델은 SageMaker에 의해 훈련 작업을 시작할 때 지정한 출력 위치의 Amazon S3에 복사되었습니다. 모델 아티팩트는 다음과 같은 압축된 아카이브 파일로 저장됩니다. model.tar.gz
. 이 아카이브 파일을 Studio 노트북 인스턴스의 로컬 디렉터리에 다운로드하고 모델 아티팩트, 즉 ONNX 모델을 추출합니다.
import tarfile local_model_file = 'model.tar.gz'
model_bucket,model_key = estimator.model_data.split('/',2)[-1].split('/',1)
s3 = boto3.client("s3")
s3.download_file(model_bucket,model_key,local_model_file) model_tar = tarfile.open(local_model_file)
model_file_name = model_tar.next().name
model_tar.extractall('.')
model_tar.close()
ONNX 모델 검증
ONNX 모델은 다음과 같은 파일로 내보내집니다. mnist-pytorch.onnx
훈련 스크립트를 통해 이 파일을 다운로드하고 추출한 후 선택적으로 다음을 사용하여 ONNX 모델을 검증할 수 있습니다. onnx.checker
기준 치수. NS check_model
이 모듈의 함수는 모델의 일관성을 확인합니다. 테스트가 실패하면 예외가 발생합니다.
import onnx onnx_model = onnx.load("mnist-pytorch.onnx")
onnx.checker.check_model(onnx_model)
모델 및 추론 코드 패키징
이 게시물에서는 Azure Functions에 .zip 배포를 사용합니다. 이 방법에서는 모델, 관련 코드 및 Azure Functions 설정을 .zip 파일로 패키징하고 Azure Functions에 게시합니다. 다음 코드는 배포 패키지의 디렉터리 구조를 보여줍니다.
mnist-onnx
├── function_app.py
├── model
│ └── mnist-pytorch.onnx
└── requirements.txt
종속성 나열
추론 코드에 대한 종속성을 나열합니다. requirements.txt
우리 패키지의 루트에 있는 파일입니다. 이 파일은 패키지를 게시할 때 Azure Functions 환경을 빌드하는 데 사용됩니다.
azure-functions
numpy
onnxruntime
추론 코드 작성
Python을 사용하여 ONNX 런타임 라이브러리를 사용하여 모델을 로드하고 추론을 실행하는 다음 추론 코드를 작성합니다. 이는 Azure Functions 앱이 엔드포인트를 사용할 수 있도록 지시합니다. /classify
상대 경로.
import logging
import azure.functions as func
import numpy as np
import os
import onnxruntime as ort
import json app = func.FunctionApp() def preprocess(input_data_json): # convert the JSON data into the tensor input return np.array(input_data_json['data']).astype('float32') def run_model(model_path, req_body): session = ort.InferenceSession(model_path) input_data = preprocess(req_body) logging.info(f"Input Data shape is {input_data.shape}.") input_name = session.get_inputs()[0].name # get the id of the first input of the model try: result = session.run([], {input_name: input_data}) except (RuntimeError) as e: print("Shape={0} and error={1}".format(input_data.shape, e)) return result[0] def get_model_path(): d=os.path.dirname(os.path.abspath(__file__)) return os.path.join(d , './model/mnist-pytorch.onnx') @app.function_name(name="mnist_classify")
@app.route(route="classify", auth_level=func.AuthLevel.ANONYMOUS)
def main(req: func.HttpRequest) -> func.HttpResponse: logging.info('Python HTTP trigger function processed a request.') # Get the img value from the post. try: req_body = req.get_json() except ValueError: pass if req_body: # run model result = run_model(get_model_path(), req_body) # map output to integer and return result string. digits = np.argmax(result, axis=1) logging.info(type(digits)) return func.HttpResponse(json.dumps({"digits": np.array(digits).tolist()})) else: return func.HttpResponse( "This HTTP triggered function successfully.", status_code=200 )
Azure Functions에 모델 배포
이제 필요한 .zip 형식으로 패키지된 코드가 있으므로 Azure Functions에 게시할 준비가 되었습니다. Azure 리소스를 생성하고 관리하는 명령줄 유틸리티인 Azure CLI를 사용하여 이를 수행합니다. 다음 코드를 사용하여 Azure CLI를 설치합니다.
!pip install -q azure-cli
그런 다음 다음 단계를 완료하십시오.
- Azure에 로그인합니다.
!az login
- 리소스 생성 매개변수를 설정합니다.
import random random_suffix = str(random.randint(10000,99999)) resource_group_name = f"multicloud-{random_suffix}-rg" storage_account_name = f"multicloud{random_suffix}" location = "ukwest" sku_storage = "Standard_LRS" functions_version = "4" python_version = "3.9" function_app = f"multicloud-mnist-{random_suffix}"
- 다음 명령을 사용하여 필수 구성 요소 리소스와 함께 Azure Functions 앱을 만듭니다.
!az group create --name {resource_group_name} --location {location} !az storage account create --name {storage_account_name} --resource-group {resource_group_name} --location {location} --sku {sku_storage} !az functionapp create --name {function_app} --resource-group {resource_group_name} --storage-account {storage_account_name} --consumption-plan-location "{location}" --os-type Linux --runtime python --runtime-version {python_version} --functions-version {functions_version}
- Functions 패키지를 배포할 때 Azure Functions를 설정합니다.
requirements.txt
파일은 애플리케이션 종속성을 구축하는 데 사용됩니다.!az functionapp config appsettings set --name {function_app} --resource-group {resource_group_name} --settings @./functionapp/settings.json
- Python v2 모델을 실행하고 .zip 배포 후 수신한 코드에서 빌드를 수행하도록 Functions 앱을 구성합니다.
{ "AzureWebJobsFeatureFlags": "EnableWorkerIndexing", "SCM_DO_BUILD_DURING_DEPLOYMENT": true }
- 올바른 구성을 갖춘 리소스 그룹, 스토리지 컨테이너 및 Functions 앱이 있으면 Functions 앱에 코드를 게시합니다.
!az functionapp deployment source config-zip -g {resource_group_name} -n {function_app} --src {function_archive} --build-remote true
모델 테스트
ML 모델을 HTTP 트리거로 Azure Functions에 배포했습니다. 즉, Functions 앱 URL을 사용하여 함수에 HTTP 요청을 보내 함수를 호출하고 모델을 실행할 수 있습니다.
입력을 준비하려면 SageMaker 예제 파일 버킷에서 테스트 이미지 파일을 다운로드하고 모델에 필요한 형식으로 샘플 세트를 준비하십시오.
from torch.utils.data import DataLoader
from torchvision import datasets, transforms
import matplotlib.pyplot as plt transform=transforms.Compose( [transforms.ToTensor(), transforms.Normalize((0.1307,), (0.3081,))]
) test_dataset = datasets.MNIST(root='../data', download=True, train=False, transform=transform)
test_loader = DataLoader(test_dataset, batch_size=16, shuffle=True) test_features, test_labels = next(iter(test_loader))
요청 라이브러리를 사용하여 샘플 입력이 포함된 추론 엔드포인트에 게시 요청을 보냅니다. 추론 엔드포인트는 다음 코드에 표시된 형식을 사용합니다.
import requests, json def to_numpy(tensor): return tensor.detach().cpu().numpy() if tensor.requires_grad else tensor.cpu().numpy() url = f"https://{function_app}.azurewebsites.net/api/classify"
response = requests.post(url, json.dumps({"data":to_numpy(test_features).tolist()}) )
predictions = json.loads(response.text)['digits']
정리
모델 테스트가 완료되면 스토리지 컨테이너 및 Functions 앱을 포함하여 포함된 리소스와 함께 리소스 그룹을 삭제합니다.
!az group delete --name {resource_group_name} --yes
또한 비용을 줄이기 위해 SageMaker Studio 내에서 유휴 리소스를 종료하는 것이 좋습니다. 자세한 내용은 다음을 참조하세요. Amazon SageMaker Studio 내에서 유휴 리소스를 자동으로 종료하여 비용 절감.
결론
이 게시물에서는 SageMaker를 사용하여 ML 모델을 구축 및 훈련하고 다른 클라우드 제공업체에 배포하는 방법을 보여주었습니다. 솔루션에서는 SageMaker Studio 노트북을 사용했지만 프로덕션 워크로드에는 다음을 사용하는 것이 좋습니다. MLOps 모델 개발 및 배포를 가속화하기 위해 반복 가능한 교육 워크플로를 생성합니다.
이 게시물에서는 멀티클라우드 환경에서 모델을 배포하고 실행하는 가능한 모든 방법을 보여주지 않았습니다. 예를 들어 모델을 추론 코드 및 종속성 라이브러리와 함께 컨테이너 이미지로 패키징하여 모든 플랫폼에서 컨테이너화된 애플리케이션으로 모델을 실행할 수도 있습니다. 이 접근 방식에 대한 자세한 내용은 다음을 참조하세요. Amazon CodeCatalyst를 사용하여 멀티클라우드 환경에 컨테이너 애플리케이션 배포. 게시물의 목적은 조직이 멀티클라우드 환경에서 AWS AI/ML 기능을 어떻게 사용할 수 있는지 보여주기 위한 것입니다.
저자 소개
라자 바이디아나탄 글로벌 금융 서비스 고객을 지원하는 AWS의 솔루션 아키텍트입니다. Raja는 고객과 협력하여 비즈니스에 장기적으로 긍정적인 영향을 미치는 복잡한 문제에 대한 솔루션을 설계합니다. 그는 IT 전략, 기업 데이터 관리, 애플리케이션 아키텍처 분야에 숙련된 강력한 엔지니어링 전문가이며 특히 분석 및 기계 학습에 관심이 있습니다.
아만딥 바즈와 금융 서비스 기업을 지원하는 AWS의 수석 솔루션 아키텍트입니다. 그는 업계 동향과 조직 우선순위를 기반으로 적절한 클라우드 전환 전략을 식별하여 조직이 비즈니스 성과를 달성하도록 돕습니다. Amandeep이 컨설팅하는 영역 중 일부는 클라우드 마이그레이션, 클라우드 전략(하이브리드 및 멀티클라우드 포함), 디지털 혁신, 데이터 및 분석, 기술 전반입니다.
프레마 아이어 AWS Enterprise Support의 수석 기술 계정 관리자입니다. 그녀는 다양한 프로젝트에서 외부 고객과 협력하여 고객이 AWS를 사용할 때 솔루션의 가치를 향상시킬 수 있도록 돕습니다.
- SEO 기반 콘텐츠 및 PR 배포. 오늘 증폭하십시오.
- PlatoData.Network 수직 생성 Ai. 자신에게 권한을 부여하십시오. 여기에서 액세스하십시오.
- PlatoAiStream. 웹3 인텔리전스. 지식 증폭. 여기에서 액세스하십시오.
- 플라톤ESG. 탄소, 클린테크, 에너지, 환경, 태양광, 폐기물 관리. 여기에서 액세스하십시오.
- PlatoHealth. 생명 공학 및 임상 시험 인텔리전스. 여기에서 액세스하십시오.
- 출처: https://aws.amazon.com/blogs/machine-learning/train-and-deploy-ml-models-in-a-multicloud-environment-using-amazon-sagemaker/
- :있다
- :이다
- :아니
- :어디
- $UP
- 1
- 10
- 100
- 13
- 25
- 28
- 32
- 7
- 9
- a
- 소개
- 가속
- 수락
- ACCESS
- 계정
- 달성
- 획득한
- 이점
- 후
- AI
- AI / ML
- All
- 수
- 따라
- 이미
- 또한
- 이기는하지만
- 아마존
- 아마존 세이지 메이커
- Amazon SageMaker 캔버스
- 아마존 세이지 메이커 스튜디오
- Amazon Web Services
- an
- 애널리스트
- 분석
- 및
- 익명
- 다른
- 어떤
- 아파치
- 앱
- 어플리케이션
- 어플리케이션
- 접근
- 적당한
- 아키텍처
- 아카이브
- 있군요
- 지역
- AS
- 평가
- At
- 자동화
- 자동적으로
- 가능
- AWS
- 축
- 하늘빛
- 기반으로
- BE
- 된
- 전에
- 시작하다
- 유익한
- 이익
- 더 나은
- 사이에
- 두
- 가져
- 더 넓은
- 빌드
- 건물
- 사업
- 비자 면제 프로그램에 해당하는 국가의 시민권을 가지고 있지만
- by
- 전화
- 라는
- 부름
- CAN
- 캔버스
- 기능
- 나르다
- 케이스
- 확인하는 것이 좋다.
- 수업
- 분류
- 클릭
- 클라우드
- 암호
- 인지
- 협력
- 회사
- 완전한
- 복잡한
- compliance
- 포괄적 인
- 계산
- 구성
- 포함
- 컨테이너
- 용기
- 이 포함되어 있습니다
- 문맥
- 편의
- 변하게 하다
- 변환
- 핵심
- 비용
- 수
- 만들
- 만든
- 만들기
- 창조
- 신임장
- 관습
- 고객
- 데이터
- 데이터 관리
- 데이터 준비
- 데이터 과학
- 데이터 세트
- 깊은
- 깊은 학습
- 가장 깊은
- 태만
- 밝히다
- 정의
- 보여
- 의존성
- 의존
- 배포
- 배포
- 배치
- 전개
- 설명
- 세부 묘사
- 세부설명
- 개발
- 장치
- 디바이스
- 다른
- 디지털
- 디지털 전환
- 숫자
- 외형 치수
- 논의 된
- do
- 도커
- 도메인
- 한
- 말라
- 아래 (down)
- 다운로드
- ...동안
- 동적
- e
- 그렇지 않으면
- 포옹
- 수
- 가능
- end
- 종점
- 엔지니어링
- 엔지니어
- Enterprise
- 기업
- 환경
- 시대
- 신기원
- 모든
- 예
- 외
- 예외
- 실행
- 전문적 지식
- 수출
- 수출
- 외부
- 추출물
- 실패
- 특징
- 를
- 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에
- 파일
- 금융
- 금융 서비스
- Find
- 먼저,
- 맞게
- 수행원
- 럭셔리
- 체재
- Foundation
- 뼈대
- 프레임 워크
- 에
- 기능
- 기능
- 일반
- 생성
- 생성적인
- 제너레이티브 AI
- 얻을
- 글로벌
- 글로벌 금융
- 그룹
- 있다
- he
- 도움이
- 도움이
- 호스팅
- 방법
- How To
- HTML
- HTTP
- HTTPS
- 잡종
- ID
- 식별
- 유휴
- if
- 설명하다
- 영상
- 형상
- 영향
- import
- 가져 오기
- 개선
- 개선
- in
- 포함
- 포함
- 독립
- 산업
- 정보
- 처음에는
- 입력
- 입력
- 설치
- 예
- 명령
- 통합
- 통합 된
- 의지
- 이해
- 인터페이스
- 상호 운용성
- 으로
- IT
- 그
- 일
- 작업
- JPG
- JSON
- 언어
- 넓은
- 최근
- 시작
- 배우다
- 배우기
- 길이
- 이점
- 도서관
- 도서관
- wifecycwe
- 라인
- 리눅스
- 명부
- 하중
- 잔뜩
- 지방의
- 장소 상에서
- 위치
- 로깅
- 장기
- 찾고
- 오프
- 기계
- 기계 학습
- 확인
- 관리
- 관리
- 구축
- 매니저
- .
- 지도
- 매트플롯립
- XNUMX월..
- 방법
- 소개
- 만족
- 방법
- 방법
- Microsoft
- 수도
- 이주
- ML
- MLOps
- 모드
- 모델
- 모델
- 모듈
- 배우기
- 가장
- name
- 이름
- 즉
- 필요
- 필요
- 요구
- 그물
- 네트워크
- 신경의
- 신경망
- 수첩
- numpy
- 대상
- of
- on
- ONE
- 열 수
- 오픈 소스
- 운영
- 행정부
- 운영자
- 옵션
- or
- 주문
- 조직
- 조직
- 조직
- OS
- 기타
- 우리의
- 아웃
- 결과
- 출력
- 외부
- 자신의
- 꾸러미
- 포장하는
- 매개 변수
- 매개 변수
- 부품
- 특별한
- 파티
- 패스
- 패스
- 통로
- 수행
- 권한
- 플랫폼
- 플랫폼
- 플라톤
- 플라톤 데이터 인텔리전스
- 플라토데이터
- 인기 문서
- 긍정적인
- 가능한
- 게시하다
- 예측
- 준비
- Prepare
- 전제 조건
- 일차
- 교장
- 문제
- 처리됨
- 생산
- 생산력
- 제품
- 링크를
- 프로젝트
- 제공
- 제공
- 공급자
- 제공
- 공개
- 게시
- Python
- 파이 토치
- 빠른
- 높인
- 닥치는대로의
- 준비
- 수신
- 추천
- 방송
- 감소
- 참조
- 관계없이
- 지방
- 레지스트리
- 상대적인
- 반복 가능
- 의뢰
- 요청
- 필요
- 필수
- 요구조건 니즈
- 의지
- 제품 자료
- 응답
- 결과
- 결과
- return
- 연락해주세요
- 직위별
- 뿌리
- 달리기
- 달리는
- 실행
- 현자
- 같은
- 저장
- 규모
- 스캐닝
- 시나리오
- 과학
- 과학자
- 스크립트
- SDK
- 보조
- 섹션
- 섹션
- 보안
- 참조
- 선택
- 본인
- 보내다
- 연장자
- 서비스
- 서비스
- 세션
- 세트
- 설정
- 설치
- 셰이프
- 그녀
- 영상을
- 표시
- 보여
- 표시
- 쇼
- 종료
- 종료
- 단순, 간단, 편리
- 상황
- 숙련 된
- 기술
- So
- 소프트웨어
- 해결책
- 솔루션
- 일부
- 출처
- 주권
- 지정
- 단계
- 표준
- 스타트
- 시작
- 시작
- 단계
- 저장
- 저장
- 저장
- 전략
- 끈
- 강한
- 구조
- 스튜디오
- 그후
- 성공적으로
- 이러한
- SUPPORT
- 지원
- 지원
- 받아
- 소요
- 목표
- 팀
- 테크니컬
- 기술
- Technology
- 안색
- 텐서 흐름
- test
- 테스트
- 지원
- 본문
- 그
- XNUMXD덴탈의
- 소스
- 그들의
- 그들
- 그들 자신
- 그때
- Bowman의
- 그들
- 맡은 일
- 제삼
- 이
- 시대
- 에
- 툴킷
- 검색을
- 토치
- 토치비전
- 더듬다
- Train
- 훈련 된
- 트레이닝
- 변환
- 변환
- 변환 전략
- 변환
- 트렌드
- 트리거
- 방아쇠를 당긴
- 참된
- 시도
- 유형
- 유일한
- 업로드
- 업로드
- URL
- 사용
- 유스 케이스
- 익숙한
- 사용자
- 사용
- 사용
- 유틸리티
- 유효 기간
- 가치
- 변수
- 종류
- 공급 업체
- 버전
- 취약점
- 필요
- 였다
- 방법
- we
- 웹
- 웹 서비스
- 웹 기반
- 잘
- 언제
- 어느
- 의지
- 과
- 이내
- 워크 플로우
- 일
- 쓰다
- 쓴
- X
- 아직
- 자신의
- 너의
- 제퍼 넷
- 지퍼