Kun asiakkaat nopeuttavat siirtymistään pilveen ja muuttavat liiketoimintaansa, jotkut joutuvat tilanteisiin, joissa heidän on johdettava IT-toimintojaan monipilviympäristössä. Olet esimerkiksi saattanut hankkia yrityksen, joka oli jo käynnissä toisella pilvipalveluntarjoajalla, tai sinulla voi olla työtaakka, joka tuottaa arvoa AWS:n tarjoamista ainutlaatuisista ominaisuuksista. Toinen esimerkki on riippumattomat ohjelmistotoimittajat (ISV), jotka tuovat tuotteensa ja palvelunsa saataville eri pilvialustoille loppuasiakkaidensa hyödyksi. Tai organisaatio voi toimia alueella, jossa ensisijaista pilvipalveluntarjoajaa ei ole saatavilla, ja täyttääkseen datan itsemääräämisoikeuden tai datan asuinpaikkavaatimukset voivat käyttää toissijaista pilvipalveluntarjoajaa.
Näissä skenaarioissa, kun alat omaksua generatiiviset tekoälyt, suuret kielimallit (LLM) ja koneoppimisteknologiat (ML) liiketoimintasi ydinosaksi, saatat etsiä vaihtoehtoja hyödyntääksesi AWS AI ja ML ominaisuudet AWS:n ulkopuolella monipilviympäristössä. Voit esimerkiksi haluta käyttää Amazon Sage Maker rakentaa ja kouluttaa ML-mallia tai käyttää Amazon SageMaker Jumpstart ottaa käyttöön valmiita perusrakenteita tai kolmannen osapuolen ML-malleja, jotka voit ottaa käyttöön muutamalla painikkeella. Tai saatat haluta hyödyntää Amazonin kallioperä luoda ja skaalata generatiivisia tekoälysovelluksia, tai voit hyödyntää sitä AWS:n esikoulutetut tekoälypalvelut, jotka eivät vaadi koneoppimistaitojen oppimista. AWS tarjoaa tukea skenaarioihin, joissa organisaatiot haluavat tuoda oman mallinsa Amazon SageMakeriin or Amazon SageMaker Canvasille ennusteita varten.
Tässä viestissä esittelemme yhden monista vaihtoehdoista, joilla voit hyödyntää AWS:n laajinta ja syvintä AI/ML-ominaisuuksia monipilviympäristössä. Näytämme, kuinka voit rakentaa ja kouluttaa ML-mallin AWS:ssä ja ottaa mallin käyttöön toisella alustalla. Koulutamme mallin käyttämällä Amazon SageMakeria, tallennamme mallin artefaktit sisään Amazonin yksinkertainen tallennuspalvelu (Amazon S3) ja ota malli käyttöön ja käytä sitä Azuressa. Tämä lähestymistapa on hyödyllinen, jos käytät AWS-palveluita ML:lle sen kattavimpien ominaisuuksien joukossa, mutta sinun on kuitenkin käytettävä malliasi toisessa pilvipalveluntarjoajassa jossakin käsittelemistämme tilanteista.
Keskeiset käsitteet
Amazon SageMaker Studio on verkkopohjainen, integroitu kehitysympäristö (IDE) koneoppimiseen. SageMaker Studion avulla datatieteilijät, ML-insinöörit ja tietosuunnittelijat voivat valmistella tietoja, rakentaa, kouluttaa ja ottaa käyttöön ML-malleja yhdessä verkkoliittymässä. SageMaker Studion avulla voit käyttää tarkoituksenmukaisia työkaluja ML-kehityksen elinkaaren jokaiseen vaiheeseen tietojen valmistelusta ML-mallien rakentamiseen, koulutukseen ja käyttöönottoon, mikä parantaa datatieteiden tiimien tuottavuutta jopa kymmenen kertaa. SageMaker Studio muistikirjat ovat pikakäynnistys, yhteiskäyttöön tarkoitettuja muistikirjoja, jotka integroituvat tarkoitukseen rakennettuihin ML-työkaluihin SageMakerissa ja muissa AWS-palveluissa.
SageMaker on kattava ML-palvelu, jonka avulla yritysanalyytikot, datatieteilijät ja MLOps-insinöörit voivat rakentaa, kouluttaa ja ottaa käyttöön ML-malleja kaikissa käyttötapauksissa ML-asiantuntemuksesta riippumatta.
AWS tarjoaa Deep Learning Containers (DLC) suosituille ML-kehyksille, kuten PyTorch, TensorFlow ja Apache MXNet, joita voit käyttää SageMakerin kanssa harjoitteluun ja päättelyyn. DLC:t ovat saatavilla Docker-kuvina Amazonin elastisten säiliörekisteri (Amazon ECR). Docker-otokset on esiasennettu ja testattu uusimmilla versioilla suosittujen syväoppimiskehysten sekä muiden koulutusta ja päätelmiä varten tarvittavien riippuvuuksien kanssa. Katso täydellinen luettelo SageMakerin hallinnoimista esivalmistetuista Docker-kuvista Dockerin rekisteripolut ja esimerkkikoodi. Amazon ECR tukee suojausskannausta, ja se on integroitu Amazonin tarkastaja haavoittuvuuksien hallintapalvelu, joka täyttää organisaatiosi kuvanmukaisuuden suojausvaatimukset ja automatisoi haavoittuvuuden arvioinnin. Myös organisaatiot voivat käyttää AWS Trainium ja AWS Inferencia paremman hinta-suorituskyvyn saamiseksi ML-harjoittelutöiden suorittamiseen tai päättelyyn.
Ratkaisun yleiskatsaus
Tässä osiossa kuvataan mallin rakentaminen ja kouluttaminen SageMakerin avulla ja mallin käyttöönotto Azure Functionsissa. Käytämme SageMaker Studio -kannettavaa mallin rakentamiseen, kouluttamiseen ja käyttöönottoon. Koulutamme mallin SageMakerissa käyttämällä valmiiksi rakennettua Docker-kuvaa PyTorchille. Vaikka otamme tässä tapauksessa käyttöön koulutetun mallin Azuressa, voit käyttää samaa lähestymistapaa ottaaksesi mallin käyttöön muilla alustoilla, kuten tiloissa tai muilla pilvialustoilla.
Kun luomme koulutustyön, SageMaker käynnistää ML-laskentaesiintymät ja käyttää koulutuskoodiamme ja koulutustietojoukkoamme mallin kouluttamiseen. Se tallentaa tuloksena olevat mallin artefaktit ja muut tulosteet S3-säihöön, jonka määritämme koulutustyön syötteeksi. Kun mallikoulutus on valmis, käytämme Avaa Neural Network Exchange (ONNX) ajonaikainen kirjasto PyTorch-mallin viemiseksi ONNX-mallina.
Lopuksi otamme käyttöön ONNX-mallin yhdessä Pythonissa kirjoitetun mukautetun johtopäätöskoodin kanssa Azure Functionsissa Azure CLI:n avulla. ONNX tukee useimpia yleisesti käytetyt ML-kehykset ja työkalut. Yksi huomioitava asia on, että ML-mallin muuntaminen ONNX:ksi on hyödyllistä, jos haluat käyttää eri kohde-käyttöönottokehystä, kuten PyTorchia TensorFlowiin. Jos käytät samaa viitekehystä sekä lähteessä että kohteessa, sinun ei tarvitse muuntaa mallia ONNX-muotoon.
Seuraava kaavio havainnollistaa tämän lähestymistavan arkkitehtuuria.
Käytämme SageMaker Studio -muistikirjaa yhdessä SageMaker Python SDK rakentaa ja kouluttaa malliamme. SageMaker Python SDK on avoimen lähdekoodin kirjasto ML-mallien koulutukseen ja käyttöönottoon SageMakerissa. Katso lisätietoja osoitteesta Luo tai avaa Amazon SageMaker Studio -muistikirja.
Seuraavien osioiden koodinpätkät on testattu SageMaker Studio -muistikirjaympäristössä Data Science 3.0 -kuvan ja Python 3.0 -ytimen avulla.
Tässä ratkaisussa esittelemme seuraavat vaiheet:
- Harjoittele PyTorch-malli.
- Vie PyTorch-malli ONNX-mallina.
- Pakkaa malli ja päättelykoodi.
- Ota malli käyttöön Azure Functionsissa.
Edellytykset
Sinulla tulee olla seuraavat edellytykset:
- AWS-tili.
- SageMaker-verkkotunnus ja SageMaker Studion käyttäjä. Katso ohjeet näiden luomiseen Sisääntulo Amazon SageMaker -verkkotunnukseen pika-asetuksella.
- Azure CLI.
- Pääsy Azureen ja valtuustiedot palvelun pääkäyttäjälle, jolla on oikeudet luoda ja hallita Azure Functions -toimintoja.
Kouluta malli PyTorchilla
Tässä osiossa kerromme yksityiskohtaisesti PyTorch-mallin opettamisen vaiheet.
Asenna riippuvuudet
Asenna kirjastot suorittaaksesi mallikoulutuksen ja mallin käyttöönoton edellyttämät vaiheet:
pip install torchvision onnx onnxruntime
Suorita alkuasetukset loppuun
Aloitamme tuomalla AWS SDK Pythonille (Boto3) ja SageMaker Python SDK. Osana asennusta määritämme seuraavat:
- Istuntoobjekti, joka tarjoaa mukavuusmenetelmiä SageMakerin ja oman tilimme yhteydessä.
- SageMaker-rooli ARN, jota käytettiin valtuuksien delegoimiseen koulutus- ja isännöintipalvelulle. Tarvitsemme tätä, jotta nämä palvelut pääsevät käsiksi S3-ämpäriin, joihin tietomme ja mallimme on tallennettu. Katso ohjeet yrityksesi tarpeita vastaavan roolin luomiseen osoitteesta SageMakerin roolit. Käytämme tässä viestissä samaa suoritusroolia kuin Studio-muistikirjaesiintymämme. Tämän roolin saamme soittamalla
sagemaker.get_execution_role()
. - Oletusalue, jossa koulutustyömme suoritetaan.
- Oletusämpäri ja etuliite, jota käytämme mallitulosteen tallentamiseen.
Katso seuraava koodi:
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"
Luo harjoitustietojoukko
Käytämme julkisessa paketissa saatavilla olevaa tietojoukkoa sagemaker-example-files-prod-{region}
. Tietojoukko sisältää seuraavat tiedostot:
- train-images-idx3-ubyte.gz – Sisältää harjoitussarjakuvia
- train-labels-idx1-ubyte.gz – Sisältää harjoitussarjan tarrat
- t10k-images-idx3-ubyte.gz – Sisältää testisarjan kuvia
- t10k-labels-idx1-ubyte.gz – Sisältää testisarjan etiketit
Käytämmetorchvision.datasets
moduuli, jolla voit ladata tiedot julkisesta säilöstä paikallisesti ennen kuin lataat ne harjoitustietosäilöihimme. Välitämme tämän kauhan sijainnin syötteeksi SageMaker-koulutustyöhön. Harjoitusskriptimme käyttää tätä sijaintia harjoitustietojen lataamiseen ja valmistelemiseen sekä mallin kouluttamiseen. Katso seuraava koodi:
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,))] ),
)
Luo harjoitusskripti
SageMakerin avulla voit tuoda oman mallisi komentosarjatila. Komentosarjatilassa voit käyttää valmiita SageMaker-säilöjä ja tarjota oman harjoitusskriptin, jossa on mallin määritelmä, sekä mukautetut kirjastot ja riippuvuudet. The SageMaker Python SDK välittää käsikirjoituksemme muodossa entry_point
konttiin, joka lataa ja suorittaa junatoiminnon toimitetusta komentosarjasta mallimme kouluttamiseksi.
Kun koulutus on valmis, SageMaker tallentaa mallin tulosteen S3-säihöön, jonka annoimme koulutustyön parametriksi.
Koulutuskoodimme on mukautettu seuraavasta PyTorchin esimerkkiskripti. Seuraava koodin ote näyttää mallin määritelmän ja junan toiminnon:
# 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
Harjoittele mallia
Nyt kun olemme määrittäneet ympäristömme ja luoneet syöttötietojoukon ja mukautetun harjoitusskriptin, voimme aloittaa mallikoulutuksen SageMakerilla. Käytämme SageMaker Python SDK:n PyTorch-estimaattoria aloittaaksemme harjoittelun SageMakerissa. Välitämme tarvittavat parametrit estimaattorille ja kutsumme sovitusmenetelmää. Kun kutsumme sopivaksi PyTorch-estimaattorissa, SageMaker aloittaa harjoitustyön käyttämällä komentosarjaamme harjoituskoodina:
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}"
})
Vie koulutettu malli ONNX-mallina
Kun koulutus on suoritettu ja mallimme on tallennettu ennalta määritettyyn sijaintiin Amazon S3:ssa, viemme mallin ONNX-malliin käyttämällä ONNX-ajoaikaa.
Sisällytämme koodin mallimme viemiseksi ONNX:ään harjoitusskriptiin, joka suoritetaan koulutuksen päätyttyä.
PyTorch vie mallin ONNX:ään suorittamalla mallin syötteemme avulla ja tallentamalla jäljen tulosteen laskemiseen käytetyistä operaattoreista. Käytämme PyTorchin kanssa oikean tyyppistä satunnaista syötettä torch.onnx.export
toiminto viedä mallin ONNX:ään. Määritämme syötteessämme myös ensimmäisen ulottuvuuden dynaamiseksi, jotta mallimme hyväksyy muuttujan batch_size
tuloista päättelyn aikana.
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 on avoin standardiformaatti syväoppimismalleille, joka mahdollistaa yhteentoimivuuden syväoppimiskehysten, kuten PyTorchin, Microsoft Cognitive Toolkit (CNTK) ja muiden välillä. Tämä tarkoittaa, että voit käyttää mitä tahansa näistä kehyksistä mallin kouluttamiseen ja sen jälkeen viedä esikoulutetut mallit ONNX-muotoon. Viemällä mallin ONNX:ään, saat edun laajemmasta valikoimasta käyttöönottolaitteita ja -alustoja.
Lataa ja pura malliesineet
SageMaker on kopioinut harjoitusskriptimme tallentaman ONNX-mallin Amazon S3:een lähtöpaikkaan, jonka määritimme koulutustyön alkaessa. Mallin artefaktit tallennetaan pakattuna arkistotiedostona nimeltä model.tar.gz
. Lataamme tämän arkistotiedoston paikalliseen hakemistoon Studio-muistikirjainstanssissamme ja puramme mallin artefaktit, nimittäin ONNX-mallin.
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()
Vahvista ONNX-malli
ONNX-malli viedään tiedostoon nimeltä mnist-pytorch.onnx
koulutusohjelmamme mukaan. Kun olemme ladanneet ja purkaneet tämän tiedoston, voimme valinnaisesti vahvistaa ONNX-mallin käyttämällä onnx.checker
moduuli. The check_model
Tämän moduulin toiminto tarkistaa mallin johdonmukaisuuden. Poikkeus tehdään, jos testi epäonnistuu.
import onnx onnx_model = onnx.load("mnist-pytorch.onnx")
onnx.checker.check_model(onnx_model)
Pakkaa malli ja päättelykoodi
Tässä viestissä käytämme Azure Functionsin .zip-käyttöönottoa. Tässä menetelmässä pakkaamme mallimme, mukana tulevan koodin ja Azure Functions -asetukset .zip-tiedostoon ja julkaisemme sen Azure Functionsissa. Seuraava koodi näyttää käyttöönottopakettimme hakemistorakenteen:
mnist-onnx
├── function_app.py
├── model
│ └── mnist-pytorch.onnx
└── requirements.txt
Listaa riippuvuudet
Luettelemme päättelykoodimme riippuvuudet tiedostossa requirements.txt
tiedosto pakettimme juuressa. Tätä tiedostoa käytetään Azure Functions -ympäristön rakentamiseen, kun julkaisemme paketin.
azure-functions
numpy
onnxruntime
Kirjoita päättelykoodi
Kirjoitamme Pythonilla seuraavan johtopäätöskoodin ja käytämme ONNX Runtime -kirjastoa mallimme lataamiseen ja päättelyn suorittamiseen. Tämä kehottaa Azure Functions -sovellusta asettamaan päätepisteen saataville osoitteessa /classify
suhteellinen polku.
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 )
Ota malli käyttöön Azure Functionsissa
Nyt kun koodi on pakattu vaadittuun .zip-muotoon, olemme valmiita julkaisemaan sen Azure Functionsissa. Teemme sen käyttämällä Azure CLI:tä, komentorivityökalua Azure-resurssien luomiseen ja hallintaan. Asenna Azure CLI seuraavalla koodilla:
!pip install -q azure-cli
Suorita sitten seuraavat vaiheet:
- Kirjaudu Azureen:
!az login
- Aseta resurssien luontiparametrit:
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}"
- Käytä seuraavia komentoja luodaksesi Azure Functions -sovelluksen ja tarvittavat resurssit:
!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}
- Määritä Azure Functions niin, että kun otamme Functions-paketin käyttöön,
requirements.txt
tiedostoa käytetään sovellusriippuvuutemme rakentamiseen:!az functionapp config appsettings set --name {function_app} --resource-group {resource_group_name} --settings @./functionapp/settings.json
- Määritä Functions-sovellus suorittamaan Python v2 -malli ja rakentamaan koodi, joka se vastaanottaa .zip-asennuksen jälkeen:
{ "AzureWebJobsFeatureFlags": "EnableWorkerIndexing", "SCM_DO_BUILD_DURING_DEPLOYMENT": true }
- Kun meillä on resurssiryhmä, tallennussäiliö ja Functions-sovellus oikealla kokoonpanolla, julkaise koodi Functions-sovelluksessa:
!az functionapp deployment source config-zip -g {resource_group_name} -n {function_app} --src {function_archive} --build-remote true
Testaa malli
Olemme ottaneet ML-mallin käyttöön Azure Functionsissa HTTP-laukaisimena, mikä tarkoittaa, että voimme käyttää Functions-sovelluksen URL-osoitetta lähettääksemme HTTP-pyynnön funktiolle funktion käynnistämiseksi ja mallin suorittamiseksi.
Valmistele syöte lataamalla testikuvatiedostot SageMaker-esimerkkitiedostot -säilystä ja valmistelemalla näytesarja mallin vaatimaan muotoon:
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))
Käytä pyyntökirjastoa lähettääksesi lähetyspyynnön päätelmäpäätepisteeseen esimerkkisyötteiden kanssa. Päätepäätepiste ottaa seuraavan koodin mukaisen muodon:
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']
Puhdistaa
Kun olet valmis mallin testaamisen, poista resurssiryhmä ja sen sisältämät resurssit, mukaan lukien tallennussäiliö ja Functions-sovellus:
!az group delete --name {resource_group_name} --yes
Lisäksi on suositeltavaa sammuttaa SageMaker Studion käyttämättömät resurssit kustannusten vähentämiseksi. Lisätietoja on kohdassa Säästä kustannuksia sammuttamalla käyttämättömät resurssit automaattisesti Amazon SageMaker Studiossa.
Yhteenveto
Tässä viestissä näytimme, kuinka voit rakentaa ja kouluttaa ML-mallin SageMakerilla ja ottaa sen käyttöön toiselle pilvipalveluntarjoajalle. Ratkaisussa käytimme SageMaker Studio -muistikirjaa, mutta tuotannossa suositeltiin käyttöä MLOps luoda toistettavia koulutustyönkulkuja mallin kehittämisen ja käyttöönoton nopeuttamiseksi.
Tämä viesti ei näyttänyt kaikkia mahdollisia tapoja ottaa käyttöön ja käyttää mallia multicloud-ympäristössä. Voit esimerkiksi pakata mallisi säilökuvaksi yhdessä päätelmäkoodin ja riippuvuuskirjastojen kanssa suorittaaksesi mallin konttisovelluksena millä tahansa alustalla. Lisätietoja tästä lähestymistavasta on kohdassa Ota konttisovelluksia käyttöön multicloud-ympäristössä Amazon CodeCatalystin avulla. Postauksen tarkoituksena on näyttää, kuinka organisaatiot voivat käyttää AWS AI/ML -ominaisuuksia monipilviympäristössä.
Tietoja kirjoittajista
Raja Vaidyanathan on AWS:n ratkaisuarkkitehti, joka tukee globaaleja rahoituspalveluasiakkaita. Raja työskentelee asiakkaiden kanssa suunnitellakseen ratkaisuja monimutkaisiin ongelmiin, joilla on pitkäaikainen positiivinen vaikutus heidän liiketoimintaansa. Hän on vahva insinöörin ammattilainen, joka tuntee IT-strategian, yritystiedonhallinnan ja sovellusarkkitehtuurin, ja hän on kiinnostunut erityisesti analytiikkasta ja koneoppimisesta.
Amandeep Bajwa on AWS:n vanhempi ratkaisuarkkitehti, joka tukee rahoituspalveluyrityksiä. Hän auttaa organisaatioita saavuttamaan liiketoimintansa tulokset tunnistamalla sopivan pilvimuunnosstrategian, joka perustuu alan trendeihin ja organisaation prioriteetteihin. Jotkut Amandeepin konsultoimat alueet ovat pilvisiirto, pilvistrategia (mukaan lukien hybridi ja multicloud), digitaalinen transformaatio, data ja analytiikka sekä tekniikka yleensä.
Prema Iyer on AWS-yritystuen vanhempi tekninen asiakaspäällikkö. Hän työskentelee ulkopuolisten asiakkaiden kanssa erilaisissa projekteissa ja auttaa heitä parantamaan ratkaisujensa arvoa AWS:n käytössä.
- SEO-pohjainen sisällön ja PR-jakelu. Vahvista jo tänään.
- PlatoData.Network Vertical Generatiivinen Ai. Vahvista itseäsi. Pääsy tästä.
- PlatoAiStream. Web3 Intelligence. Tietoa laajennettu. Pääsy tästä.
- PlatoESG. hiili, CleanTech, energia, ympäristö, Aurinko, Jätehuolto. Pääsy tästä.
- PlatonHealth. Biotekniikan ja kliinisten kokeiden älykkyys. Pääsy tästä.
- Lähde: https://aws.amazon.com/blogs/machine-learning/train-and-deploy-ml-models-in-a-multicloud-environment-using-amazon-sagemaker/
- :on
- :On
- :ei
- :missä
- $ YLÖS
- 1
- 10
- 100
- 13
- 25
- 28
- 32
- 7
- 9
- a
- Meistä
- kiihdyttää
- hyväksyy
- pääsy
- Tili
- Saavuttaa
- hankittu
- Etu
- Jälkeen
- AI
- AI / ML
- Kaikki
- mahdollistaa
- pitkin
- jo
- Myös
- Vaikka
- Amazon
- Amazon Sage Maker
- Amazon SageMaker Canvas
- Amazon SageMaker Studio
- Amazon Web Services
- an
- analyytikot
- Analytics
- ja
- anonyymi
- Toinen
- Kaikki
- Apache
- sovelluksen
- Hakemus
- sovellukset
- lähestymistapa
- sopiva
- arkkitehtuuri
- Archive
- OVAT
- alueet
- AS
- arviointi
- At
- automatisoida
- automaattisesti
- saatavissa
- AWS
- AKSELIT
- Taivaansininen
- perustua
- BE
- ollut
- ennen
- alkaa
- suotuisa
- hyödyttää
- Paremmin
- välillä
- sekä
- tuoda
- laajempaa
- rakentaa
- Rakentaminen
- liiketoiminta
- mutta
- by
- soittaa
- nimeltään
- soittamalla
- CAN
- kangas
- kyvyt
- kuljettaa
- tapaus
- Tarkastukset
- luokka
- luokitella
- napsauttaa
- pilvi
- koodi
- kognitiivinen
- yhteistyöhön
- yritys
- täydellinen
- monimutkainen
- noudattaminen
- kattava
- Laskea
- Konfigurointi
- sisälsi
- Kontti
- Kontit
- sisältää
- tausta
- mukavuus
- muuntaa
- muuntaminen
- Ydin
- kustannukset
- voisi
- luoda
- luotu
- Luominen
- luominen
- Valtakirja
- asiakassuhde
- Asiakkaat
- tiedot
- tiedonhallinta
- Tietojen valmistelu
- tietojenkäsittely
- aineistot
- syvä
- syvä oppiminen
- syvin
- oletusarvo
- määritellä
- määritelmä
- osoittaa
- riippuvuudet
- riippuvuus
- sijoittaa
- käyttöön
- levityspinnalta
- käyttöönotto
- kuvata
- yksityiskohta
- yksityiskohdat
- Kehitys
- laite
- Laitteet
- eri
- digitaalinen
- Digital Transformation
- numeroa
- Ulottuvuus
- keskusteltiin
- do
- Satamatyöläinen
- verkkotunnuksen
- tehty
- Dont
- alas
- download
- aikana
- dynaaminen
- e
- muu
- omaksua
- mahdollistaa
- mahdollistaa
- loppu
- päätepiste
- Tekniikka
- Engineers
- yritys
- yrityksille
- ympäristö
- aikakausi
- aikakausia
- Joka
- esimerkki
- Paitsi
- poikkeus
- teloitus
- asiantuntemus
- vienti
- vientiä
- ulkoinen
- uute
- epäonnistuu
- Ominaisuudet
- harvat
- filee
- Asiakirjat
- taloudellinen
- rahoituspalvelut
- Löytää
- Etunimi
- sovittaa
- jälkeen
- varten
- muoto
- perusta
- Puitteet
- puitteet
- alkaen
- toiminto
- tehtävät
- general
- synnyttää
- generatiivinen
- Generatiivinen AI
- saada
- Global
- globaali rahoitus
- Ryhmä
- Olla
- he
- auttaa
- auttaa
- hotellit
- Miten
- Miten
- HTML
- http
- HTTPS
- Hybridi
- ID
- tunnistaminen
- Idle
- if
- havainnollistaa
- kuva
- kuvien
- Vaikutus
- tuoda
- tuovan
- parantaa
- parantaminen
- in
- sisältää
- Mukaan lukien
- itsenäinen
- teollisuus
- tiedot
- ensimmäinen
- panos
- tuloa
- asentaa
- esimerkki
- ohjeet
- yhdistää
- integroitu
- tahallisuus
- etu
- liitäntä
- Interoperability
- tulee
- IT
- SEN
- Job
- Työpaikat
- jpg
- json
- Kieli
- suuri
- uusin
- käynnistää
- OPPIA
- oppiminen
- Pituus
- Vaikutusvalta
- kirjastot
- Kirjasto
- elinkaari
- linja
- linux
- Lista
- kuormitus
- kuormat
- paikallinen
- paikallisesti
- sijainti
- hakkuu
- pitkän aikavälin
- näköinen
- pois
- kone
- koneoppiminen
- tehdä
- hoitaa
- onnistui
- johto
- johtaja
- monet
- kartta
- matplotlib
- Saattaa..
- välineet
- Tavata
- Meets
- menetelmä
- menetelmät
- Microsoft
- ehkä
- muutto
- ML
- MLOps
- tila
- malli
- mallit
- Moduulit
- lisää
- eniten
- nimi
- nimetty
- nimittäin
- Tarve
- tarvitaan
- tarpeet
- netto
- verkko
- hermo-
- neuroverkkomallien
- muistikirja
- numpy
- objekti
- of
- on
- ONE
- avata
- avoimen lähdekoodin
- toiminta
- Operations
- operaattorit
- Vaihtoehdot
- or
- tilata
- organisaatio
- organisatorinen
- organisaatioiden
- OS
- Muut
- meidän
- ulos
- tuloksiin
- ulostulo
- ulkopuolella
- oma
- paketti
- pakattu
- parametri
- parametrit
- osa
- erityinen
- puolue
- kulkea
- kulkee
- polku
- Suorittaa
- Oikeudet
- foorumi
- Platforms
- Platon
- Platonin tietotieto
- PlatonData
- Suosittu
- positiivinen
- mahdollinen
- Kirje
- Ennusteet
- valmistelu
- Valmistella
- edellytyksiä
- ensisijainen
- Pääasiallinen
- ongelmia
- Käsitelty
- tuotanto
- tuottavuus
- Tuotteemme
- ammatillinen
- hankkeet
- toimittaa
- mikäli
- toimittaja
- tarjoaa
- julkinen
- julkaista
- Python
- pytorch
- nopea
- esille
- satunnainen
- valmis
- vastaanottaa
- suositeltu
- äänitys
- vähentää
- katso
- riippumatta
- alue
- rekisterin
- suhteellinen
- toistettavissa
- pyyntö
- pyynnöt
- edellyttää
- tarvitaan
- vaatimukset
- resurssi
- Esittelymateriaalit
- vastaus
- johtua
- Saatu ja
- palata
- oikein
- Rooli
- juuri
- ajaa
- juoksu
- toimii
- sagemaker
- sama
- tallennettu
- Asteikko
- skannaus
- skenaariot
- tiede
- tutkijat
- käsikirjoitus
- sdk
- toissijainen
- Osa
- osiot
- turvallisuus
- nähdä
- valinta
- SELF
- lähettää
- vanhempi
- palvelu
- Palvelut
- Istunto
- setti
- settings
- setup
- Muoto
- hän
- shouldnt
- näyttää
- osoittivat
- esitetty
- Näytä
- sulkea
- sammutetaan
- Yksinkertainen
- tilanteita
- taitava
- taitoja
- So
- Tuotteemme
- ratkaisu
- Ratkaisumme
- jonkin verran
- lähde
- suvereniteetti
- määritelty
- Vaihe
- standardi
- Alkaa
- alkoi
- alkaa
- Askeleet
- Levytila
- verkkokaupasta
- tallennettu
- Strategia
- jono
- vahva
- rakenne
- studio
- Myöhemmin
- Onnistuneesti
- niin
- tuki
- Tukea
- Tukee
- ottaa
- vie
- Kohde
- joukkue-
- Tekninen
- Technologies
- Elektroniikka
- kymmenen
- tensorflow
- testi
- testattu
- Testaus
- teksti
- että
- -
- Lähde
- heidän
- Niitä
- itse
- sitten
- Nämä
- ne
- asia
- kolmas
- tätä
- kertaa
- että
- työkalupakki
- työkalut
- taskulamppu
- Torchvision
- Jäljittää
- Juna
- koulutettu
- koulutus
- Muuttaa
- Muutos
- Muutosstrategia
- muunnoksia
- Trendit
- laukaista
- laukeaa
- totta
- yrittää
- tyyppi
- unique
- ladattu
- Ladataan
- URL
- käyttää
- käyttölaukku
- käytetty
- käyttäjä
- käyttötarkoituksiin
- käyttämällä
- hyödyllisyys
- VAHVISTA
- arvo
- muuttuja
- lajike
- myyjät
- versiot
- alttius
- haluta
- oli
- tavalla
- we
- verkko
- verkkopalvelut
- Web-pohjainen
- HYVIN
- kun
- joka
- tulee
- with
- sisällä
- työnkulkuja
- toimii
- kirjoittaa
- kirjallinen
- X
- vielä
- Voit
- Sinun
- zephyrnet
- Postinumero