W miarę jak klienci przyspieszają migrację do chmury i przekształcają swoją działalność, niektórzy znajdują się w sytuacjach, w których muszą zarządzać operacjami IT w środowisku wielochmurowym. Na przykład mogłeś nabyć firmę, która działała już w oparciu o innego dostawcę usług w chmurze, lub możesz mieć obciążenie pracą, które generuje wartość dzięki unikalnym możliwościom zapewnianym przez AWS. Innym przykładem są niezależni dostawcy oprogramowania (ISV), którzy udostępniają swoje produkty i usługi na różnych platformach chmurowych, z korzyścią dla klientów końcowych. Lub organizacja może działać w regionie, w którym główny dostawca chmury nie jest dostępny, i aby spełnić wymagania dotyczące suwerenności danych lub miejsca zamieszkania danych, może skorzystać z dodatkowego dostawcy chmury.
W tych scenariuszach, gdy zaczniesz wykorzystywać generatywną sztuczną inteligencję, duże modele językowe (LLM) i technologie uczenia maszynowego (ML) jako podstawową część swojej działalności, możesz szukać opcji, z których możesz skorzystać AWS AI i ML możliwości poza AWS w środowisku wielochmurowym. Na przykład możesz chcieć skorzystać z Amazon Sage Maker do budowania i uczenia modelu ML lub używania Szybki start Amazon SageMaker w celu wdrożenia gotowych modeli uczenia maszynowego lub modeli uczenia maszynowego innych firm, które można wdrożyć jednym kliknięciem kilku przycisków. A może chcesz skorzystać Amazońska skała macierzysta do tworzenia i skalowania generatywnych aplikacji AI lub możesz je wykorzystać Wstępnie przeszkolone usługi AI AWS, które nie wymagają uczenia się umiejętności uczenia maszynowego. AWS zapewnia wsparcie dla scenariuszy, w których organizacje tego chcą wprowadź swój własny model do Amazon SageMaker or do Amazon SageMaker Canvas w celu uzyskania prognoz.
W tym poście pokazujemy jedną z wielu opcji, dzięki którym możesz skorzystać z najszerszego i najgłębszego zestawu możliwości AI/ML AWS w środowisku wielochmurowym. Pokazujemy, jak zbudować i wytrenować model ML w AWS oraz wdrożyć model na innej platformie. Trenujemy model za pomocą Amazon SageMaker, przechowujemy w nim artefakty modelu Usługa Amazon Simple Storage (Amazon S3) oraz wdrażaj i uruchamiaj model na platformie Azure. To podejście jest korzystne, jeśli korzystasz z usług AWS dla ML ze względu na ich najbardziej wszechstronny zestaw funkcji, ale w jednej z omówionych przez nas sytuacji musisz uruchomić swój model u innego dostawcy chmury.
Kluczowe idee
Studio Amazon SageMaker to internetowe, zintegrowane środowisko programistyczne (IDE) do uczenia maszynowego. SageMaker Studio umożliwia analitykom danych, inżynierom ML i inżynierom danych przygotowywanie danych, budowanie, trenowanie i wdrażanie modeli ML w jednym interfejsie internetowym. Dzięki SageMaker Studio możesz uzyskać dostęp do specjalnie zaprojektowanych narzędzi na każdym etapie cyklu życia programowania ML, od przygotowania danych po budowanie, trenowanie i wdrażanie modeli ML, zwiększając produktywność zespołu zajmującego się analityką danych nawet dziesięciokrotnie. Notatniki SageMaker Studio to szybkie, współpracujące notatniki, które integrują się ze specjalnie zaprojektowanymi narzędziami ML w SageMaker i innych usługach AWS.
SageMaker to kompleksowa usługa ML umożliwiająca analitykom biznesowym, badaczom danych i inżynierom MLOps budowanie, trenowanie i wdrażanie modeli ML dla każdego przypadku użycia, niezależnie od wiedzy specjalistycznej w zakresie ML.
AWS zapewnia Kontenery głębokiego uczenia (DLC) dla popularnych platform ML, takich jak PyTorch, TensorFlow i Apache MXNet, których można używać z SageMaker do uczenia i wnioskowania. DLC są dostępne jako obrazy Dockera w formacie Rejestr elastycznego pojemnika Amazon (Amazon ECR). Obrazy platformy Docker są preinstalowane i testowane z najnowszymi wersjami popularnych platform głębokiego uczenia się, a także innymi zależnościami potrzebnymi do uczenia i wnioskowania. Aby zapoznać się z pełną listą gotowych obrazów Dockera zarządzanych przez SageMaker, zobacz Ścieżki rejestru Dockera i przykładowy kod. Amazon ECR obsługuje skanowanie bezpieczeństwa i jest zintegrowany z Inspektor Amazona usługę zarządzania lukami w zabezpieczeniach, która pozwala spełnić wymagania bezpieczeństwa dotyczące zgodności obrazu w Twojej organizacji i zautomatyzować skanowanie w celu oceny podatności na zagrożenia. Organizacje mogą również korzystać Szkolenie AWS i Inferencja AWS dla lepszego stosunku ceny do wydajności w przypadku uruchamiania zadań szkoleniowych lub wnioskowania ML.
Omówienie rozwiązania
W tej sekcji opisujemy, jak zbudować i wytrenować model przy użyciu programu SageMaker oraz wdrożyć model w Azure Functions. Do budowania, trenowania i wdrażania modelu używamy notatnika SageMaker Studio. Model szkolimy w SageMaker, korzystając z gotowego obrazu Dockera dla PyTorch. Chociaż w tym przypadku wdrażamy przeszkolony model na platformie Azure, można zastosować to samo podejście do wdrożenia modelu na innych platformach, takich jak lokalnie lub na innych platformach w chmurze.
Kiedy tworzymy zadanie szkoleniowe, SageMaker uruchamia instancje obliczeniowe ML i używa naszego kodu szkoleniowego oraz zbioru danych szkoleniowych do uczenia modelu. Zapisuje powstałe artefakty modelu i inne dane wyjściowe w segmencie S3, który określamy jako dane wejściowe do zadania szkoleniowego. Po zakończeniu uczenia modelu używamy metody Otwórz wymianę sieci neuronowej (ONNX) do eksportowania modelu PyTorch jako modelu ONNX.
Na koniec wdrażamy model ONNX wraz z niestandardowym kodem wnioskowania napisanym w języku Python w Azure Functions przy użyciu interfejsu wiersza polecenia platformy Azure. ONNX obsługuje większość powszechnie używane frameworki i narzędzia ML. Należy zauważyć, że konwersja modelu ML na ONNX jest przydatna, jeśli chcesz użyć innej docelowej platformy wdrażania, takiej jak PyTorch na TensorFlow. Jeśli używasz tej samej struktury zarówno w źródle, jak i w miejscu docelowym, nie musisz konwertować modelu do formatu ONNX.
Poniższy diagram ilustruje architekturę tego podejścia.
Używamy notatnika SageMaker Studio wraz z SageMaker SDK dla Pythona zbudować i wytrenować nasz model. SageMaker Python SDK to biblioteka typu open source do szkolenia i wdrażania modeli ML w SageMaker. Więcej szczegółów znajdziesz w Utwórz lub otwórz notatnik Amazon SageMaker Studio.
Fragmenty kodu w poniższych sekcjach zostały przetestowane w środowisku notatnika SageMaker Studio przy użyciu obrazu Data Science 3.0 i jądra Pythona 3.0.
W tym rozwiązaniu demonstrujemy następujące kroki:
- Trenuj model PyTorch.
- Wyeksportuj model PyTorch jako model ONNX.
- Spakuj model i kod wnioskowania.
- Wdróż model w Azure Functions.
Wymagania wstępne
Powinieneś mieć następujące wymagania wstępne:
- Konto AWS.
- Domena SageMaker i użytkownik SageMaker Studio. Aby uzyskać instrukcje dotyczące ich tworzenia, zobacz Włączenie do domeny Amazon SageMaker za pomocą szybkiej konfiguracji.
- Interfejs wiersza polecenia platformy Azure.
- Dostęp do platformy Azure i poświadczenia dla jednostki usługi, która ma uprawnienia do tworzenia Azure Functions i zarządzania nimi.
Trenuj model za pomocą PyTorch
W tej sekcji szczegółowo opisujemy kroki uczenia modelu PyTorch.
Zainstaluj zależności
Zainstaluj biblioteki, aby wykonać kroki wymagane do szkolenia modeli i wdrażania modelu:
pip install torchvision onnx onnxruntime
Zakończ wstępną konfigurację
Zaczynamy od importu pliku AWS SDK dla Pythona (Boto3) oraz SageMaker SDK dla Pythona. W ramach konfiguracji definiujemy następujące elementy:
- Obiekt sesji zapewniający wygodne metody w kontekście SageMaker i naszego własnego konta.
- Rola SageMaker, której ARN używała do delegowania uprawnień do usługi szkoleniowej i hostingowej. Potrzebujemy tego, aby te usługi mogły uzyskać dostęp do segmentów S3, w których przechowywane są nasze dane i model. Aby uzyskać instrukcje dotyczące tworzenia roli spełniającej potrzeby biznesowe, zobacz Role Mędrca. W tym poście używamy tej samej roli wykonawczej, co nasza instancja notatnika Studio. Tę rolę dostajemy dzwoniąc
sagemaker.get_execution_role()
. - Domyślny region, w którym będzie uruchamiane nasze zadanie szkoleniowe.
- Domyślny segment i prefiks, którego używamy do przechowywania danych wyjściowych modelu.
Zobacz następujący kod:
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"
Utwórz zestaw danych szkoleniowych
Korzystamy ze zbioru danych dostępnego w zasobniku publicznym sagemaker-example-files-prod-{region}
. Zbiór danych zawiera następujące pliki:
- train-images-idx3-ubyte.gz – Zawiera obrazy zestawu treningowego
- train-labels-idx1-ubyte.gz – Zawiera etykiety zestawu treningowego
- t10k-images-idx3-ubyte.gz – Zawiera obrazy zestawu testowego
- t10k-labels-idx1-ubyte.gz – Zawiera etykiety zestawu testowego
Używamytorchvision.datasets
moduł do lokalnego pobierania danych z publicznego zasobnika przed przesłaniem ich do naszego zasobnika danych szkoleniowych. Przekazujemy tę lokalizację zasobnika jako dane wejściowe do zadania szkoleniowego SageMaker. Nasz skrypt szkoleniowy używa tej lokalizacji do pobierania i przygotowywania danych szkoleniowych, a następnie uczenia modelu. Zobacz następujący kod:
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,))] ),
)
Utwórz skrypt szkoleniowy
Dzięki SageMaker możesz przynieść swój własny model za pomocą tryb skryptu. W trybie skryptowym możesz korzystać z gotowych kontenerów SageMaker i udostępniać własny skrypt szkoleniowy, który zawiera definicję modelu wraz ze wszystkimi niestandardowymi bibliotekami i zależnościami. The SageMaker SDK dla Pythona przekazuje nasz skrypt jako plik entry_point
do kontenera, który ładuje i uruchamia funkcję pociągu z dostarczonego skryptu w celu wytrenowania naszego modelu.
Po zakończeniu szkolenia SageMaker zapisuje dane wyjściowe modelu w zasobniku S3, który udostępniliśmy jako parametr zadania szkoleniowego.
Nasz kod szkoleniowy został zaadaptowany z poniższego Przykładowy skrypt PyTorch. Poniższy fragment kodu przedstawia definicję modelu i funkcję pociągu:
# 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
Trenuj model
Teraz, gdy skonfigurowaliśmy nasze środowisko i utworzyliśmy wejściowy zbiór danych oraz niestandardowy skrypt szkoleniowy, możemy rozpocząć uczenie modelu za pomocą SageMaker. Używamy estymatora PyTorch w pakiecie SageMaker Python SDK, aby rozpocząć zadanie szkoleniowe w SageMaker. Przekazujemy wymagane parametry do estymatora i wywołujemy metodę dopasowania. Kiedy wywołujemy fit w estymatorze PyTorch, SageMaker rozpoczyna zadanie szkoleniowe, używając naszego skryptu jako kodu szkoleniowego:
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}"
})
Wyeksportuj przeszkolony model jako model ONNX
Po zakończeniu szkolenia i zapisaniu naszego modelu w predefiniowanej lokalizacji w Amazon S3 eksportujemy model do modelu ONNX przy użyciu środowiska uruchomieniowego ONNX.
Dołączamy kod umożliwiający wyeksportowanie naszego modelu do ONNX w naszym skrypcie szkoleniowym, który będzie uruchamiany po zakończeniu szkolenia.
PyTorch eksportuje model do ONNX, uruchamiając model przy użyciu naszych danych wejściowych i rejestrując ślad operatorów użytych do obliczenia danych wyjściowych. Używamy losowego wejścia odpowiedniego typu w PyTorch torch.onnx.export
funkcja eksportowania modelu do ONNX. Określamy również pierwszy wymiar w naszych danych wejściowych jako dynamiczny, aby nasz model akceptował zmienną batch_size
danych wejściowych podczas wnioskowania.
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 to otwarty standardowy format modeli głębokiego uczenia się, który umożliwia interoperacyjność między platformami głębokiego uczenia się, takimi jak PyTorch, Microsoft Cognitive Toolkit (CNTK) i nie tylko. Oznacza to, że możesz użyć dowolnej z tych platform do uczenia modelu, a następnie eksportowania wstępnie wytrenowanych modeli w formacie ONNX. Eksportując model do ONNX, zyskujesz dostęp do szerszego wyboru urządzeń i platform wdrożeniowych.
Pobierz i wyodrębnij artefakty modelu
Model ONNX zapisany w naszym skrypcie szkoleniowym został skopiowany przez SageMaker do Amazon S3 w lokalizacji wyjściowej, którą określiliśmy podczas rozpoczynania zadania szkoleniowego. Artefakty modelu są przechowywane w postaci skompresowanego pliku archiwum o nazwie model.tar.gz
. Pobieramy ten plik archiwum do lokalnego katalogu w naszej instancji notatnika Studio i wyodrębniamy artefakty modelu, a mianowicie model 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()
Zweryfikuj model ONNX
Model ONNX jest eksportowany do pliku o nazwie mnist-pytorch.onnx
według naszego skryptu szkoleniowego. Po pobraniu i rozpakowaniu tego pliku możemy opcjonalnie sprawdzić model ONNX za pomocą onnx.checker
moduł. ten check_model
funkcja w tym module sprawdza spójność modelu. W przypadku niepowodzenia testu zgłaszany jest wyjątek.
import onnx onnx_model = onnx.load("mnist-pytorch.onnx")
onnx.checker.check_model(onnx_model)
Spakuj model i kod wnioskowania
W tym poście używamy wdrożenia .zip dla Azure Functions. W tej metodzie pakujemy nasz model, towarzyszący mu kod i ustawienia Azure Functions w pliku ZIP i publikujemy go w Azure Functions. Poniższy kod przedstawia strukturę katalogów naszego pakietu wdrożeniowego:
mnist-onnx
├── function_app.py
├── model
│ └── mnist-pytorch.onnx
└── requirements.txt
Lista zależności
Lista zależności naszego kodu wnioskowania znajduje się w pliku requirements.txt
plik w katalogu głównym naszego pakietu. Ten plik służy do budowania środowiska Azure Functions po opublikowaniu pakietu.
azure-functions
numpy
onnxruntime
Napisz kod wnioskowania
Używamy języka Python do napisania następującego kodu wnioskowania, korzystając z biblioteki ONNX Runtime do załadowania naszego modelu i uruchomienia wnioskowania. Spowoduje to, że aplikacja Azure Functions udostępni punkt końcowy w /classify
względna ścieżka dostępu.
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 )
Wdróż model w Azure Functions
Teraz, gdy kod jest spakowany w wymaganym formacie ZIP, możemy go opublikować w Azure Functions. Robimy to za pomocą interfejsu wiersza polecenia platformy Azure, narzędzia wiersza poleceń do tworzenia zasobów platformy Azure i zarządzania nimi. Zainstaluj interfejs wiersza polecenia platformy Azure za pomocą następującego kodu:
!pip install -q azure-cli
Następnie wykonaj następujące czynności:
- Zaloguj się do Azure:
!az login
- Skonfiguruj parametry tworzenia zasobu:
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}"
- Użyj następujących poleceń, aby utworzyć aplikację Azure Functions wraz z wstępnie wymaganymi zasobami:
!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}
- Skonfiguruj Azure Functions tak, aby po wdrożeniu pakietu Functions plik
requirements.txt
plik służy do budowania zależności naszej aplikacji:!az functionapp config appsettings set --name {function_app} --resource-group {resource_group_name} --settings @./functionapp/settings.json
- Skonfiguruj aplikację Functions, aby uruchamiała model języka Python v2 i wykonywała kompilację na kodzie otrzymanym po wdrożeniu pliku .zip:
{ "AzureWebJobsFeatureFlags": "EnableWorkerIndexing", "SCM_DO_BUILD_DURING_DEPLOYMENT": true }
- Gdy grupa zasobów, kontener magazynu i aplikacja Functions będą już miały odpowiednią konfigurację, opublikuj kod w aplikacji Functions:
!az functionapp deployment source config-zip -g {resource_group_name} -n {function_app} --src {function_archive} --build-remote true
Przetestuj model
Wdrożyliśmy model uczenia maszynowego w Azure Functions jako wyzwalacz HTTP, co oznacza, że możemy użyć adresu URL aplikacji Functions do wysłania żądania HTTP do funkcji w celu wywołania funkcji i uruchomienia modelu.
Aby przygotować dane wejściowe, pobierz pliki obrazów testowych z zasobnika przykładowych plików SageMaker i przygotuj zestaw próbek do formatu wymaganego przez model:
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))
Użyj biblioteki żądań, aby wysłać żądanie publikacji do punktu końcowego wnioskowania z przykładowymi danymi wejściowymi. Punkt końcowy wnioskowania przyjmuje format pokazany w następującym kodzie:
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']
Sprzątać
Po zakończeniu testowania modelu usuń grupę zasobów wraz z zawartymi w niej zasobami, w tym kontenerem magazynu i aplikacją Functions:
!az group delete --name {resource_group_name} --yes
Dodatkowo zaleca się zamknięcie bezczynnych zasobów w SageMaker Studio w celu zmniejszenia kosztów. Aby uzyskać więcej informacji, zobacz Oszczędzaj koszty, automatycznie wyłączając nieaktywne zasoby w Amazon SageMaker Studio.
Wnioski
W tym poście pokazaliśmy, jak zbudować i wytrenować model ML za pomocą SageMaker i wdrożyć go u innego dostawcy usług w chmurze. W rozwiązaniu wykorzystaliśmy notatnik SageMaker Studio, jednak w przypadku obciążeń produkcyjnych zalecamy użycie MLOps do tworzenia powtarzalnych przepływów pracy szkoleniowych w celu przyspieszenia opracowywania i wdrażania modelu.
W tym poście nie pokazano wszystkich możliwych sposobów wdrożenia i uruchomienia modelu w środowisku wielochmurowym. Można na przykład spakować model do obrazu kontenera wraz z kodem wnioskowania i bibliotekami zależności, aby uruchomić model jako aplikację kontenerową na dowolnej platformie. Więcej informacji na temat tego podejścia można znaleźć w artykule Wdrażaj aplikacje kontenerowe w środowisku wielochmurowym za pomocą Amazon CodeCatalyst. Celem tego wpisu jest pokazanie, w jaki sposób organizacje mogą wykorzystać możliwości AWS AI/ML w środowisku wielochmurowym.
O autorach
Raja Vaidyanathan jest architektem rozwiązań w AWS obsługującym globalnych klientów z branży usług finansowych. Raja współpracuje z klientami, aby opracowywać rozwiązania złożonych problemów, które mają długoterminowy pozytywny wpływ na ich działalność. Jest specjalistą w dziedzinie inżynierii, specjalizującym się w strategii IT, zarządzaniu danymi korporacyjnymi i architekturze aplikacji, ze szczególnym uwzględnieniem analityki i uczenia maszynowego.
Amandeepa Bajwę jest starszym architektem rozwiązań w AWS wspierającym przedsiębiorstwa świadczące usługi finansowe. Pomaga organizacjom osiągać wyniki biznesowe poprzez identyfikację odpowiedniej strategii transformacji chmury w oparciu o trendy branżowe i priorytety organizacyjne. Niektóre obszary, w których konsultuje się Amandeep, to migracja do chmury, strategia chmurowa (w tym hybrydowa i wielochmurowa), transformacja cyfrowa, dane i analityka oraz ogólnie technologia.
Prema Iyer jest starszym menedżerem ds. obsługi technicznej AWS Enterprise Support. Współpracuje z klientami zewnętrznymi przy różnorodnych projektach, pomagając im podnosić wartość ich rozwiązań podczas korzystania z AWS.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- PlatoData.Network Pionowe generatywne AI. Wzmocnij się. Dostęp tutaj.
- PlatoAiStream. Inteligencja Web3. Wiedza wzmocniona. Dostęp tutaj.
- PlatonESG. Węgiel Czysta technologia, Energia, Środowisko, Słoneczny, Gospodarowanie odpadami. Dostęp tutaj.
- Platon Zdrowie. Inteligencja w zakresie biotechnologii i badań klinicznych. Dostęp tutaj.
- Źródło: https://aws.amazon.com/blogs/machine-learning/train-and-deploy-ml-models-in-a-multicloud-environment-using-amazon-sagemaker/
- :ma
- :Jest
- :nie
- :Gdzie
- $W GÓRĘ
- 1
- 10
- 100
- 13
- 25
- 28
- 32
- 7
- 9
- a
- O nas
- przyśpieszyć
- Akceptuje
- dostęp
- Konto
- Osiągać
- nabyty
- Korzyść
- Po
- AI
- AI / ML
- Wszystkie kategorie
- pozwala
- wzdłuż
- już
- również
- Chociaż
- Amazonka
- Amazon Sage Maker
- Płótno Amazon SageMaker
- Studio Amazon SageMaker
- Amazon Web Services
- an
- analitycy
- analityka
- i
- Anonimowy
- Inne
- każdy
- Apache
- Aplikacja
- Zastosowanie
- aplikacje
- podejście
- właściwy
- architektura
- Archiwum
- SĄ
- obszary
- AS
- oszacowanie
- At
- zautomatyzować
- automatycznie
- dostępny
- AWS
- OSIE
- Lazur
- na podstawie
- BE
- być
- zanim
- rozpocząć
- korzystny
- korzyści
- Ulepsz Swój
- pomiędzy
- obie
- przynieść
- szerszy
- budować
- Budowanie
- biznes
- ale
- by
- wezwanie
- nazywa
- powołanie
- CAN
- brezentowy
- możliwości
- nieść
- walizka
- Wykrywanie urządzeń szpiegujących
- klasa
- Klasyfikuj
- kliknij
- Chmura
- kod
- poznawczy
- współpracy
- sukcesy firma
- kompletny
- kompleks
- spełnienie
- wszechstronny
- obliczać
- systemu
- zawarte
- Pojemnik
- Pojemniki
- zawiera
- kontekst
- wygoda
- konwertować
- 轉換
- rdzeń
- Koszty:
- mógłby
- Stwórz
- stworzony
- Tworzenie
- tworzenie
- Listy uwierzytelniające
- zwyczaj
- Klientów
- dane
- zarządzanie danymi
- Przygotowywanie danych
- nauka danych
- zbiory danych
- głęboko
- głęboka nauka
- najgłębszy
- Domyślnie
- określić
- definicja
- wykazać
- Zależności
- Zależność
- rozwijać
- wdrażane
- wdrażanie
- Wdrożenie
- opisać
- detal
- detale
- oprogramowania
- urządzenie
- urządzenia
- różne
- cyfrowy
- cyfrowy Transformacja
- cyfry
- Wymiary
- omówione
- do
- Doker
- domena
- zrobić
- nie
- na dół
- pobieranie
- podczas
- dynamiczny
- e
- więcej
- objąć
- Umożliwia
- umożliwiając
- zakończenia
- Punkt końcowy
- Inżynieria
- Inżynierowie
- Enterprise
- przedsiębiorstwa
- Środowisko
- epoka
- epoki
- Każdy
- przykład
- Z wyjątkiem
- wyjątek
- egzekucja
- ekspertyza
- eksport
- eksport
- zewnętrzny
- wyciąg
- nie
- Korzyści
- kilka
- filet
- Akta
- budżetowy
- usługi finansowe
- Znajdź
- i terminów, a
- dopasować
- następujący
- W razie zamówieenia projektu
- format
- Fundacja
- Framework
- Ramy
- od
- funkcjonować
- Funkcje
- Ogólne
- generuje
- generatywny
- generatywna sztuczna inteligencja
- otrzymać
- Globalne
- globalne finanse
- Zarządzanie
- Have
- he
- pomoc
- pomaga
- Hosting
- W jaki sposób
- How To
- HTML
- http
- HTTPS
- Hybrydowy
- ID
- identyfikacja
- Idle
- if
- ilustruje
- obraz
- zdjęcia
- Rezultat
- importować
- importowanie
- podnieść
- poprawy
- in
- zawierać
- Włącznie z
- niezależny
- przemysł
- Informacja
- początkowy
- wkład
- Wejścia
- zainstalować
- przykład
- instrukcje
- integrować
- zintegrowany
- zamiar
- zainteresowania
- Interfejs
- Interoperacyjność
- najnowszych
- IT
- JEGO
- Praca
- Oferty pracy
- jpg
- json
- język
- duży
- firmy
- uruchamia
- UCZYĆ SIĘ
- nauka
- Długość
- Dźwignia
- biblioteki
- Biblioteka
- wifecycwe
- Linia
- linux
- Lista
- załadować
- masa
- miejscowy
- lokalnie
- lokalizacja
- zalogowaniu
- długoterminowy
- poszukuje
- od
- maszyna
- uczenie maszynowe
- robić
- zarządzanie
- zarządzane
- i konserwacjami
- kierownik
- wiele
- mapa
- matplotlib
- Może..
- znaczy
- Poznaj nasz
- Spełnia
- metoda
- metody
- Microsoft
- może
- migracja
- ML
- MLOps
- Moda
- model
- modele
- Moduł
- jeszcze
- większość
- Nazwa
- O imieniu
- mianowicie
- Potrzebować
- potrzebne
- wymagania
- netto
- sieć
- nerwowy
- sieci neuronowe
- notatnik
- tępy
- przedmiot
- of
- on
- ONE
- koncepcja
- open source
- operacyjny
- operacje
- operatorzy
- Opcje
- or
- zamówienie
- organizacja
- organizacyjny
- organizacji
- OS
- Inne
- ludzkiej,
- na zewnątrz
- wyniki
- wydajność
- zewnętrzne
- własny
- pakiet
- pakowane
- parametr
- parametry
- część
- szczególny
- przyjęcie
- przechodzić
- przebiegi
- ścieżka
- wykonać
- uprawnienia
- Platforma
- Platformy
- plato
- Analiza danych Platona
- PlatoDane
- Popularny
- pozytywny
- możliwy
- Post
- Przewidywania
- przygotowanie
- Przygotować
- warunki wstępne
- pierwotny
- Główny
- problemy
- Obrobiony
- Produkcja
- wydajność
- Produkty
- profesjonalny
- projektowanie
- zapewniać
- pod warunkiem,
- dostawca
- zapewnia
- publiczny
- publikować
- Python
- płomień
- Szybki
- przypadkowy
- gotowy
- otrzymuje
- Zalecana
- nagranie
- zmniejszyć
- odnosić się
- Bez względu
- region
- rejestr
- względny
- powtarzalne
- zażądać
- wywołań
- wymagać
- wymagany
- wymagania
- Zasób
- Zasoby
- odpowiedź
- dalsze
- wynikły
- powrót
- prawo
- Rola
- korzeń
- run
- bieganie
- działa
- sagemaker
- taki sam
- zapisywane
- Skala
- skanowanie
- scenariusze
- nauka
- Naukowcy
- scenariusz
- Sdk
- wtórny
- Sekcja
- działy
- bezpieczeństwo
- widzieć
- wybór
- SAMEGO SIEBIE
- wysłać
- senior
- usługa
- Usługi
- Sesja
- zestaw
- w panelu ustawień
- ustawienie
- Shape
- ona
- powinien
- pokazać
- pokazał
- pokazane
- Targi
- zamknąć
- wyłączania
- Prosty
- sytuacje
- wykwalifikowany
- umiejętności
- So
- Tworzenie
- rozwiązanie
- Rozwiązania
- kilka
- Źródło
- suwerenność
- określony
- STAGE
- standard
- początek
- rozpoczęty
- rozpocznie
- Cel
- przechowywanie
- sklep
- przechowywany
- Strategia
- sznur
- silny
- Struktura
- studio
- Następnie
- Z powodzeniem
- taki
- wsparcie
- Wspierający
- podpory
- Brać
- trwa
- cel
- zespół
- Techniczny
- Technologies
- Technologia
- dziesięć
- tensorflow
- test
- przetestowany
- Testowanie
- XNUMX
- że
- Połączenia
- Źródło
- ich
- Im
- sami
- następnie
- Te
- one
- rzecz
- Trzeci
- to
- czasy
- do
- Zestaw narzędzi
- narzędzia
- pochodnia
- Pochodnia
- Wyśledzić
- Pociąg
- przeszkolony
- Trening
- Przekształcać
- Transformacja
- Strategia transformacji
- transformacje
- Trendy
- wyzwalać
- rozsierdzony
- prawdziwy
- próbować
- rodzaj
- wyjątkowy
- przesłanych
- Uploading
- URL
- posługiwać się
- przypadek użycia
- używany
- Użytkownik
- zastosowania
- za pomocą
- użyteczność
- UPRAWOMOCNIĆ
- wartość
- zmienna
- różnorodność
- sprzedawców
- Wersje
- wrażliwość
- chcieć
- była
- sposoby
- we
- sieć
- usługi internetowe
- Web-based
- DOBRZE
- jeśli chodzi o komunikację i motywację
- który
- będzie
- w
- w ciągu
- przepływów pracy
- działa
- napisać
- napisany
- X
- jeszcze
- You
- Twój
- zefirnet
- Zamek błyskawiczny