Zmanjšajte stroške in čas razvoja z lokalnim načinom Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Zmanjšajte stroške in čas razvoja z lokalnim načinom Amazon SageMaker Pipelines

Ustvarjanje robustnih in večkrat uporabnih cevovodov strojnega učenja (ML) je lahko zapleten in dolgotrajen proces. Razvijalci običajno testirajo svoje skripte za obdelavo in usposabljanje lokalno, vendar se cevovodi običajno testirajo v oblaku. Ustvarjanje in izvajanje celotnega cevovoda med eksperimentiranjem doda neželene režijske stroške in stroške v razvojnem ciklu. V tej objavi podrobno opisujemo, kako lahko uporabite Amazon SageMaker Pipelines lokalni način za lokalno izvajanje cevovodov ML, da zmanjšate tako razvoj cevovoda kot čas delovanja in hkrati zmanjšate stroške. Ko je cevovod lokalno v celoti preizkušen, ga lahko preprosto znova zaženete z Amazon SageMaker upravljanih virov z le nekaj spremembami kode.

Pregled življenjskega cikla ML

Eno od glavnih gonil za nove inovacije in aplikacije v ML je razpoložljivost in količina podatkov skupaj s cenejšimi računalniškimi možnostmi. Na več področjih se je ML izkazal za sposobnega reševanja problemov, ki prej niso bili rešljivi s klasičnimi velikimi podatki in analitičnimi tehnikami, povpraševanje po podatkovnih znanostih in praktikih ML pa vztrajno narašča. Na zelo visoki ravni je življenjski cikel ML sestavljen iz številnih različnih delov, vendar je izgradnja modela ML običajno sestavljena iz naslednjih splošnih korakov:

  1. Čiščenje in priprava podatkov (inženiring funkcij)
  2. Šolanje in uglaševanje modela
  3. Ocenjevanje modela
  4. Razmestitev modela (ali paketno preoblikovanje)

V koraku priprave podatkov se podatki naložijo, masirajo in pretvorijo v vrsto vnosov ali funkcij, ki jih pričakuje model ML. Pisanje skriptov za pretvorbo podatkov je običajno ponavljajoč se proces, kjer so hitre povratne zanke pomembne za pospešitev razvoja. Običajno ni treba uporabiti celotnega nabora podatkov pri testiranju skriptov za inženiring funkcij, zato lahko uporabite funkcijo lokalnega načina podjetja SageMaker Processing. To vam omogoča lokalno izvajanje in iterativno posodabljanje kode z uporabo manjšega nabora podatkov. Ko je končna koda pripravljena, se predloži opravilu za oddaljeno obdelavo, ki uporablja celoten nabor podatkov in se izvaja na instancah, ki jih upravlja SageMaker.

Razvojni proces je podoben koraku priprave podatkov za korake usposabljanja modela in korake vrednotenja modela. Podatkovni znanstveniki uporabljajo funkcijo lokalnega načina usposabljanja SageMaker za hitro iteracijo z manjšimi nabori podatkov lokalno, preden uporabite vse podatke v gruči primerkov, optimiziranih za ML, ki jih upravlja SageMaker. To pospeši razvojni proces in odpravi stroške izvajanja primerkov ML, ki jih med eksperimentiranjem upravlja SageMaker.

Ko se zrelost organizacije za strojno upravljanje povečuje, lahko uporabite Amazonski cevovodi SageMaker za ustvarjanje cevovodov ML, ki povezujejo te korake in ustvarjajo bolj zapletene poteke dela ML, ki obdelujejo, usposabljajo in ocenjujejo modele ML. SageMaker Pipelines je popolnoma upravljana storitev za avtomatizacijo različnih korakov delovnega toka ML, vključno z nalaganjem podatkov, transformacijo podatkov, usposabljanjem in prilagajanjem modela ter uvajanjem modela. Do nedavnega ste lahko svoje skripte razvijali in testirali lokalno, vendar ste morali svoje cevovode ML testirati v oblaku. Zaradi tega je ponavljanje toka in oblike cevovodov ML počasen in drag proces. Zdaj, z dodano funkcijo lokalnega načina SageMaker Pipelines, lahko ponavljate in testirate svoje cevovode ML podobno, kot testirate in ponavljate svoje skripte za obdelavo in usposabljanje. Svoje cevovode lahko zaženete in preizkusite na svojem lokalnem računalniku z uporabo majhnega podnabora podatkov za potrditev sintakse in funkcionalnosti cevovoda.

SageMaker cevovodi

SageMaker Pipelines ponuja popolnoma avtomatiziran način izvajanja preprostih ali kompleksnih delovnih tokov ML. S SageMaker Pipelines lahko ustvarite delovne tokove ML s Python SDK-jem, ki je enostaven za uporabo, nato pa vizualizirate in upravljate svoj delovni tok z Amazon SageMaker Studio. Vaše ekipe za podatkovno znanost so lahko učinkovitejše in se hitreje širijo s shranjevanjem in ponovno uporabo korakov poteka dela, ki jih ustvarite v SageMaker Pipelines. Uporabite lahko tudi vnaprej pripravljene predloge, ki avtomatizirajo ustvarjanje infrastrukture in repozitorija za izdelavo, testiranje, registracijo in uvajanje modelov v vašem okolju ML. Te predloge so samodejno na voljo vaši organizaciji in so omogočene z uporabo Katalog storitev AWS izdelkov.

SageMaker Pipelines prinaša prakse stalne integracije in neprekinjenega uvajanja (CI/CD) v ML, kot je ohranjanje paritete med razvojnimi in produkcijskimi okolji, nadzor različic, testiranje na zahtevo in avtomatizacija od konca do konca, kar vam pomaga razširiti ML v celotnem vašem organizacija. Strokovnjaki DevOps vedo, da nekatere glavne prednosti uporabe tehnik CI/CD vključujejo povečanje produktivnosti s komponentami, ki jih je mogoče ponovno uporabiti, in povečanje kakovosti s pomočjo avtomatiziranega testiranja, kar vodi do hitrejšega ROI za vaše poslovne cilje. Te ugodnosti so zdaj na voljo izvajalcem MLOps z uporabo SageMaker Pipelines za avtomatizacijo usposabljanja, testiranja in uvajanja modelov ML. Z lokalnim načinom lahko zdaj veliko hitreje ponavljate med razvijanjem skriptov za uporabo v cevovodu. Upoštevajte, da primerkov lokalnega cevovoda ni mogoče videti ali zagnati znotraj Studio IDE; vendar pa bodo kmalu na voljo dodatne možnosti ogleda lokalnih cevovodov.

SDK SageMaker ponuja splošen namen konfiguracijo lokalnega načina ki razvijalcem omogoča zagon in testiranje podprtih procesorjev in ocenjevalcev v njihovem lokalnem okolju. Uporabite lahko usposabljanje v lokalnem načinu z več slikami ogrodja, ki jih podpira AWS (TensorFlow, MXNet, Chainer, PyTorch in Scikit-Learn), ter slikami, ki jih zagotovite sami.

SageMaker Pipelines, ki gradi usmerjeni aciklični graf (DAG) orkestriranih korakov delovnega toka, podpira številne dejavnosti, ki so del življenjskega cikla ML. V lokalnem načinu so podprti naslednji koraki:

  • Obdelava delovnih korakov – Poenostavljena, upravljana izkušnja na SageMakerju za izvajanje delovnih obremenitev obdelave podatkov, kot so inženiring funkcij, validacija podatkov, vrednotenje modela in interpretacija modela
  • Delovni koraki usposabljanja – Ponavljajoč se proces, ki model nauči napovedovati s predstavitvijo primerov iz nabora podatkov za usposabljanje
  • Hiperparametrska nastavitev – Samodejni način za ocenjevanje in izbiro hiperparametrov, ki proizvajajo najbolj natančen model
  • Pogojni tekaški koraki – Korak, ki zagotavlja pogojni potek vej v cevovodu
  • Modelni korak – Z uporabo argumentov CreateModel lahko ta korak ustvari model za uporabo v korakih preoblikovanja ali poznejše uvedbe kot končne točke
  • Preoblikujte delovne korake – Opravilo paketnega preoblikovanja, ki ustvarja napovedi iz velikih naborov podatkov in izvaja sklepanje, ko trajna končna točka ni potrebna
  • Neuspešni koraki – Korak, ki ustavi potek cevovoda in označi potek kot neuspešen

Pregled rešitev

Naša rešitev prikazuje bistvene korake za ustvarjanje in izvajanje cevovodov SageMaker v lokalnem načinu, kar pomeni uporabo lokalnega procesorja, RAM-a in diskovnih virov za nalaganje in izvajanje korakov poteka dela. Vaše lokalno okolje se lahko izvaja na prenosniku z uporabo priljubljenih IDE-jev, kot sta VSCode ali PyCharm, ali pa ga lahko gosti SageMaker z uporabo klasičnih primerkov prenosnika.

Lokalni način podatkovnim znanstvenikom omogoča, da združijo korake, ki lahko vključujejo opravila obdelave, usposabljanja in vrednotenja, ter lokalno izvajajo celoten potek dela. Ko končate lokalno testiranje, lahko znova zaženete cevovod v okolju, ki ga upravlja SageMaker, tako da zamenjate LocalPipelineSession objekt z PipelineSession, ki prinaša doslednost v življenjski cikel ML.

Za ta vzorec zvezka uporabljamo standardni javno dostopni nabor podatkov, the UCI Machine Learning Abalone Dataset. Cilj je usposobiti model ML za določanje starosti polža abalona iz njegovih fizičnih meritev. V bistvu je to problem regresije.

Vsa koda, potrebna za zagon tega vzorca prenosnika, je na voljo na GitHubu v amazon-sagemaker-primeri repozitorij. V tem vzorcu prenosnika je vsak korak delovnega toka cevovoda ustvarjen neodvisno in nato povezan skupaj, da se ustvari cevovod. Ustvarjamo naslednje korake:

  • Korak obdelave (inženiring funkcij)
  • Korak usposabljanja (usposabljanje modela)
  • Korak obdelave (vrednotenje modela)
  • Korak pogoja (natančnost modela)
  • Ustvari korak modela (model)
  • Korak transformacije (paketno transformiranje)
  • Registrirajte korak modela (paket modela)
  • Neuspešen korak (izvajanje ni uspelo)

Naslednji diagram ponazarja naš cevovod.

Zmanjšajte stroške in čas razvoja z lokalnim načinom Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Predpogoji

Če želite slediti tej objavi, potrebujete naslednje:

Ko so ti predpogoji izpolnjeni, lahko zaženete vzorčni zvezek, kot je opisano v naslednjih razdelkih.

Zgradite svoj plinovod

V tem vzorcu zvezka uporabljamo Skriptni način SageMaker za večino procesov ML, kar pomeni, da zagotovimo dejansko kodo Python (skripte) za izvajanje dejavnosti in posredujemo referenco na to kodo. Skriptni način zagotavlja veliko prilagodljivost za nadzor vedenja znotraj obdelave SageMaker, tako da vam omogoča, da prilagodite svojo kodo, medtem ko še vedno izkoriščate vnaprej zgrajene vsebnike SageMaker, kot sta XGBoost ali Scikit-Learn. Koda po meri je zapisana v skriptno datoteko Python z uporabo celic, ki se začnejo s čarobnim ukazom %%writefile, kot je naslednje:

%%writefile code/evaluation.py

Primarni omogočevalec lokalnega načina je LocalPipelineSession objekt, ki je instanciran iz Python SDK. Naslednji segmenti kode prikazujejo, kako ustvariti cevovod SageMaker v lokalnem načinu. Čeprav lahko konfigurirate lokalno podatkovno pot za številne lokalne korake cevovoda, je Amazon S3 privzeta lokacija za shranjevanje izhodnih podatkov s transformacijo. Novi LocalPipelineSession se posreduje SDK-ju za Python v številnih klicih API-ja poteka dela SageMaker, opisanih v tej objavi. Upoštevajte, da lahko uporabite local_pipeline_session spremenljivka za pridobitev sklicev na privzeto vedro S3 in trenutno ime regije.

from sagemaker.workflow.pipeline_context import LocalPipelineSession

# Create a `LocalPipelineSession` object so that each 
# pipeline step will run locally
# To run this pipeline in the cloud, you must change 
# the `LocalPipelineSession()` to `PipelineSession()`
local_pipeline_session = LocalPipelineSession()
region = local_pipeline_session.boto_region_name

default_bucket = local_pipeline_session.default_bucket()
prefix = "sagemaker-pipelines-local-mode-example"

Preden ustvarimo posamezne korake cevovoda, nastavimo nekaj parametrov, ki jih uporablja cevovod. Nekateri od teh parametrov so nizovni literali, medtem ko so drugi ustvarjeni kot posebni oštevilčeni tipi, ki jih zagotavlja SDK. Oštevilčeno tipkanje zagotavlja, da so cevovodu posredovane veljavne nastavitve, kot je ta, ki se posreduje ConditionLessThanOrEqualTo korak nižje:

mse_threshold = ParameterFloat(name="MseThreshold", default_value=7.0)

Za ustvarjanje koraka obdelave podatkov, ki se tukaj uporablja za izvajanje inženiringa funkcij, uporabljamo SKLearnProcessor za nalaganje in preoblikovanje nabora podatkov. Mimo local_pipeline_session spremenljivko za konstruktor razreda, ki koraku delovnega toka ukaže, naj se izvaja v lokalnem načinu:

from sagemaker.sklearn.processing import SKLearnProcessor

framework_version = "1.0-1"

sklearn_processor = SKLearnProcessor(
    framework_version=framework_version,
    instance_type=instance_type,
    instance_count=processing_instance_count,
    base_job_name="sklearn-abalone-process",
    role=role,
    sagemaker_session=local_pipeline_session,
)

Nato ustvarimo naš prvi dejanski korak cevovoda, a ProcessingStep objekt, kot je uvožen iz SDK-ja SageMaker. Argumenti procesorja so vrnjeni iz klica v SKLearnProcessor metoda run(). Ta korak delovnega toka je združen z drugimi koraki proti koncu zvezka, da nakaže vrstni red delovanja v cevovodu.

from sagemaker.processing import ProcessingInput, ProcessingOutput
from sagemaker.workflow.steps import ProcessingStep

processor_args = sklearn_processor.run(
    inputs=[
        ProcessingInput(source=input_data, destination="/opt/ml/processing/input"),
    ],
    outputs=[
        ProcessingOutput(output_name="train", source="/opt/ml/processing/train"),
        ProcessingOutput(output_name="validation", source="/opt/ml/processing/validation"),
        ProcessingOutput(output_name="test", source="/opt/ml/processing/test"),
    ],
    code="code/preprocessing.py",
)

step_process = ProcessingStep(name="AbaloneProcess", step_args=processor_args)

Nato zagotovimo kodo za vzpostavitev koraka usposabljanja tako, da najprej instanciramo standardni ocenjevalec s SDK SageMaker. Mimo enako local_pipeline_session spremenljivko za ocenjevalnik, imenovano xgb_train, kot sagemaker_session prepir. Ker želimo usposobiti model XGBoost, moramo ustvariti veljaven URI slike z navedbo naslednjih parametrov, vključno z okvirjem in več parametri različice:

from sagemaker.estimator import Estimator
from sagemaker.inputs import TrainingInput

model_path = f"s3://{default_bucket}/{prefix}/model"
image_uri = sagemaker.image_uris.retrieve(
    framework="xgboost",
    region=region,
    version="1.5-1",
    py_version="py3",
    instance_type=instance_type,
)

xgb_train = Estimator(
    image_uri=image_uri,
    entry_point="code/abalone.py",
    instance_type=instance_type,
    instance_count=training_instance_count,
    output_path=model_path,
    role=role,
    sagemaker_session=local_pipeline_session,
)

Po želji lahko na primer pokličemo dodatne metode ocenjevalca set_hyperparameters(), da zagotovite nastavitve hiperparametrov za opravilo usposabljanja. Zdaj, ko imamo konfiguriran ocenjevalec, smo pripravljeni ustvariti dejanski korak usposabljanja. Še enkrat, uvažamo TrainingStep razred iz knjižnice SDK SageMaker:

from sagemaker.workflow.steps import TrainingStep

step_train = TrainingStep(name="AbaloneTrain", step_args=train_args)

Nato zgradimo še en korak obdelave za izvedbo ocene modela. To se naredi z ustvarjanjem a ScriptProcessor primer in prehajanje local_pipeline_session objekt kot parameter:

from sagemaker.processing import ScriptProcessor

script_eval = ScriptProcessor(
    image_uri=image_uri,
    command=["python3"],
    instance_type=instance_type,
    instance_count=processing_instance_count,
    base_job_name="script-abalone-eval",
    role=role,
    sagemaker_session=local_pipeline_session,
)

Če želite omogočiti uvedbo usposobljenega modela, bodisi na a Končna točka SageMaker v realnem času ali za paketno pretvorbo, moramo ustvariti a Model objekta s posredovanjem artefaktov modela, ustreznega URI-ja slike in po želji naše kode sklepanja po meri. Nato prenesemo to Model nasprotovati a ModelStep, ki je dodan lokalnemu cevovodu. Oglejte si naslednjo kodo:

from sagemaker.model import Model

model = Model(
    image_uri=image_uri,
    model_data=step_train.properties.ModelArtifacts.S3ModelArtifacts,
    source_dir="code",
    entry_point="inference.py",
    role=role,
    sagemaker_session=local_pipeline_session,
)

from sagemaker.workflow.model_step import ModelStep

step_create_model = ModelStep(name="AbaloneCreateModel", 
    step_args=model.create(instance_type=instance_type)
)

Nato ustvarimo korak paketnega preoblikovanja, kjer predložimo niz značilnih vektorjev in izvedemo sklepanje. Najprej moramo ustvariti a Transformer ugovarjati in podati local_pipeline_session parameter zanj. Nato ustvarimo a TransformStep, posredovanje zahtevanih argumentov, in dodajte to v definicijo cevovoda:

from sagemaker.transformer import Transformer

transformer = Transformer(
    model_name=step_create_model.properties.ModelName,
    instance_type=instance_type,
    instance_count=transform_instance_count,
    output_path=f"s3://{default_bucket}/{prefix}/transform",
    sagemaker_session=local_pipeline_session,
)

from sagemaker.workflow.steps import TransformStep

transform_args = transformer.transform(transform_data, content_type="text/csv")

step_transform = TransformStep(name="AbaloneTransform", step_args=transform_args)

Nazadnje želimo dodati pogoj razvejanja v potek dela, tako da bomo zagnali samo paketno pretvorbo, če rezultati vrednotenja modela ustrezajo našim merilom. Ta pogojnik lahko označimo tako, da dodamo a ConditionStep z določeno vrsto stanja, npr ConditionLessThanOrEqualTo. Nato naštejemo korake za obe veji, s čimer v bistvu definiramo veje if/else ali true/false cevovoda. Koraki if_steps, navedeni v ConditionStep (step_create_model, step_transform) izvajajo vsakič, ko je pogoj ocenjen na True.

from sagemaker.workflow.conditions import ConditionLessThanOrEqualTo
from sagemaker.workflow.condition_step import ConditionStep
from sagemaker.workflow.functions import JsonGet

cond_lte = ConditionLessThanOrEqualTo(
    left=JsonGet(
        step_name=step_eval.name,
        property_file=evaluation_report,
        json_path="regression_metrics.mse.value",),
    right=mse_threshold,
)

step_cond = ConditionStep(
    name="AbaloneMSECond",
    conditions=[cond_lte],
    if_steps=[step_create_model, step_transform],
    else_steps=[step_fail],
)

Naslednji diagram prikazuje to pogojno vejo in povezane korake if/else. Zažene se samo ena veja na podlagi rezultata koraka vrednotenja modela v primerjavi s korakom stanja.

Zmanjšajte stroške in čas razvoja z lokalnim načinom Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Zdaj, ko imamo definirane vse naše korake in ustvarjene osnovne instance razreda, jih lahko združimo v cevovod. Zagotavljamo nekaj parametrov in bistveno definiramo vrstni red delovanja tako, da preprosto navedemo korake v želenem vrstnem redu. Upoštevajte, da je TransformStep tukaj ni prikazan, ker je cilj pogojnega koraka in je bil naveden kot argument koraka za ConditionalStep prej.

from sagemaker.workflow.pipeline import Pipeline

pipeline_name = f"LocalModelPipeline"
pipeline = Pipeline(
    name=pipeline_name,
    parameters=[
        input_data,
        mse_threshold,
    ],
    steps=[step_process, step_train, step_eval, step_cond],
    sagemaker_session=local_pipeline_session,
)

Če želite zagnati cevovod, morate poklicati dve metodi: pipeline.upsert(), ki naloži cevovod v osnovno storitev, in pipeline.start(), ki začne izvajati plinovod. Uporabite lahko različne druge metode za preverjanje statusa izvajanja, seznam korakov cevovoda in drugo. Ker smo uporabili sejo cevovoda lokalnega načina, se vsi ti koraki izvajajo lokalno na vašem procesorju. Izhod celice pod začetno metodo prikazuje izhod iz cevovoda:

pipeline.upsert(role_arn=role)
execution = pipeline.start()

Na dnu izpisa celice bi morali videti sporočilo, podobno naslednjemu:

Pipeline execution d8c3e172-089e-4e7a-ad6d-6d76caf987b7 SUCCEEDED

Vrnitev na upravljane vire

Ko potrdimo, da cevovod deluje brez napak in smo zadovoljni s tokom in obliko cevovoda, ga lahko ponovno ustvarimo, vendar z viri, ki jih upravlja SageMaker, in ga znova zaženemo. Edina zahtevana sprememba je uporaba PipelineSession objekt namesto LocalPipelineSession:

iz sagemaker.workflow.pipeline_context import LocalPipelineSession
from sagemaker.workflow.pipeline_context import PipelineSession

local_pipeline_session = LocalPipelineSession()
pipeline_session = PipelineSession()

To obvesti storitev, da izvaja vsak korak, ki se sklicuje na ta objekt seje v virih, ki jih upravlja SageMaker. Glede na majhno spremembo ponazarjamo samo zahtevane spremembe kode v naslednji celici kode, vendar bi bilo treba isto spremembo izvesti v vsaki celici z uporabo local_pipeline_session predmet. Spremembe pa so v vseh celicah enake, ker zamenjamo le local_pipeline_session predmet z pipeline_session predmet.

from sagemaker.sklearn.processing import SKLearnProcessor

framework_version = "1.0-1"

sklearn_processor = SKLearnProcessor(
    framework_version=framework_version,
    instance_type=instance_type,
    instance_count=processing_instance_count,
    base_job_name="sklearn-abalone-process",
    role=role,
    sagemaker_session=pipeline_session,  # non-local session
)

Ko je objekt lokalne seje povsod zamenjan, znova ustvarimo cevovod in ga zaženemo z viri, ki jih upravlja SageMaker:

from sagemaker.workflow.pipeline import Pipeline

pipeline_name = f"LocalModelPipeline"
pipeline = Pipeline(
    name=pipeline_name,
    parameters=[
        input_data,
        mse_threshold,
    ],
    steps=[step_process, step_train, step_eval, step_cond],
    sagemaker_session=pipeline_session, # non-local session
)

pipeline.upsert(role_arn=role)
execution = pipeline.start()

Čiščenje

Če želite ohranjati okolje Studio urejeno, lahko uporabite naslednje metode za brisanje cevovoda SageMaker in modela. Celotno kodo najdete v vzorcu prenosnik.

# delete models 
sm_client = boto3.client("sagemaker")
model_prefix="AbaloneCreateModel"
delete_models(sm_client, model_prefix)

# delete managed pipeline
pipeline_to_delete = 'SM-Managed-Pipeline'
delete_sagemaker_pipeline(sm_client, pipeline_to_delete)

zaključek

Do nedavnega ste lahko uporabljali funkcijo lokalnega načina SageMaker Processing in SageMaker Training za lokalno ponavljanje vaših skriptov za obdelavo in usposabljanje, preden jih zaženete na vseh podatkih z viri, ki jih upravlja SageMaker. Z novo funkcijo lokalnega načina SageMaker Pipelines lahko strokovnjaki ML zdaj uporabijo isto metodo pri ponavljanju svojih cevovodov ML in združijo različne poteke dela ML. Ko je cevovod pripravljen za proizvodnjo, je za njegovo izvajanje z upravljanimi sredstvi SageMaker potrebno le nekaj vrstic sprememb kode. To skrajša čas cevovoda med razvojem, kar vodi do hitrejšega cevovodnega razvoja s hitrejšimi razvojnimi cikli, hkrati pa zmanjša stroške virov, ki jih upravlja SageMaker.

Če želite izvedeti več, obiščite Amazonski cevovodi SageMaker or Uporabite SageMaker Pipelines za lokalno izvajanje vaših opravil.


O avtorjih

Zmanjšajte stroške in čas razvoja z lokalnim načinom Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Paul Hargis se je osredotočil na strojno učenje v več podjetjih, vključno z AWS, Amazon in Hortonworks. Uživa v gradnji tehnoloških rešitev in poučevanju ljudi, kako jih kar najbolje izkoristiti. Pred svojo vlogo pri AWS je bil vodilni arhitekt za Amazon Exports and Expansions, s čimer je amazon.com pomagal izboljšati izkušnjo za mednarodne kupce. Paul rad pomaga strankam razširiti njihove pobude za strojno učenje za reševanje problemov v resničnem svetu.

Zmanjšajte stroške in čas razvoja z lokalnim načinom Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Niklas Palm je arhitekt rešitev pri AWS v Stockholmu na Švedskem, kjer strankam po Nordiji pomaga uspeti v oblaku. Še posebej ga navdušujejo brezstrežniške tehnologije, internet stvari in strojno učenje. Zunaj službe je Niklas navdušen tekač na smučeh in deskanje na snegu ter mojster kuhanja jajc.

Zmanjšajte stroške in čas razvoja z lokalnim načinom Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Kirit Thadaka je arhitekt rešitev ML, ki dela v ekipi SageMaker Service SA. Preden se je pridružil AWS, je Kirit delal v zagonskih podjetjih AI, čemur je sledilo nekaj časa svetovanja v različnih vlogah pri raziskavah AI, MLOps in tehničnem vodenju.

Časovni žig:

Več od Strojno učenje AWS