Amazon SageMaker Pipelines yerel modu PlatoBlockchain Data Intelligence ile maliyeti ve geliştirme süresini azaltın. Dikey Arama. Ai.

Amazon SageMaker Pipelines yerel moduyla maliyeti ve geliştirme süresini azaltın

Sağlam ve yeniden kullanılabilir makine öğrenimi (ML) işlem hatları oluşturmak karmaşık ve zaman alıcı bir süreç olabilir. Geliştiriciler genellikle işleme ve eğitim komut dosyalarını yerel olarak test eder, ancak işlem hatlarının kendisi genellikle bulutta test edilir. Deneme sırasında tam bir işlem hattı oluşturmak ve çalıştırmak, geliştirme yaşam döngüsüne istenmeyen ek yük ve maliyet ekler. Bu yazıda, nasıl kullanabileceğinizi detaylandırıyoruz Amazon SageMaker Pipelines yerel modu Maliyeti düşürürken hem işlem hattı geliştirmeyi hem de çalıştırma süresini azaltmak için ML işlem hatlarını yerel olarak çalıştırmak. İşlem hattı yerel olarak tamamen test edildikten sonra, ile kolayca yeniden çalıştırabilirsiniz. Amazon Adaçayı Yapıcı sadece birkaç satır kod değişikliği ile yönetilen kaynaklar.

Makine öğrenimi yaşam döngüsüne genel bakış

Makine öğrenimindeki yeni yeniliklerin ve uygulamaların ana itici güçlerinden biri, daha ucuz bilgi işlem seçenekleriyle birlikte verilerin kullanılabilirliği ve miktarıdır. Makine öğrenimi, çeşitli alanlarda, klasik büyük veri ve analitik tekniklerle önceden çözülemeyen sorunları çözebildiğini kanıtlamıştır ve veri bilimi ve makine öğrenimi uygulayıcılarına olan talep giderek artmaktadır. Çok yüksek bir seviyeden, ML yaşam döngüsü birçok farklı bölümden oluşur, ancak bir ML modelinin oluşturulması genellikle aşağıdaki genel adımlardan oluşur:

  1. Veri temizleme ve hazırlama (özellik mühendisliği)
  2. Model eğitimi ve ayarlama
  3. Model değerlendirme
  4. Model dağıtımı (veya toplu dönüştürme)

Veri hazırlama adımında, veriler yüklenir, masaj yapılır ve ML modelinin beklediği girdi türlerine veya özelliklere dönüştürülür. Verileri dönüştürmek için komut dosyalarının yazılması, tipik olarak, geliştirmeyi hızlandırmak için hızlı geri bildirim döngülerinin önemli olduğu yinelemeli bir süreçtir. Özellik mühendisliği komut dosyalarını test ederken normalde tam veri kümesini kullanmak gerekli değildir, bu nedenle yerel mod özelliği SageMaker İşleme. Bu, yerel olarak çalıştırmanıza ve daha küçük bir veri kümesi kullanarak kodu yinelemeli olarak güncellemenize olanak tanır. Son kod hazır olduğunda, tam veri kümesini kullanan ve SageMaker tarafından yönetilen örnekler üzerinde çalışan uzaktan işleme işine gönderilir.

Geliştirme süreci, hem model eğitimi hem de model değerlendirme adımları için veri hazırlama aşamasına benzer. Veri bilimcileri, yerel mod özelliği SageMaker tarafından yönetilen bir ML için optimize edilmiş örnek kümesindeki tüm verileri kullanmadan önce yerel olarak daha küçük veri kümeleriyle hızlı bir şekilde yineleme yapmak için SageMaker Training. Bu, geliştirme sürecini hızlandırır ve deneme sırasında SageMaker tarafından yönetilen makine öğrenimi örneklerini çalıştırma maliyetini ortadan kaldırır.

Bir kuruluşun ML olgunluğu arttıkça şunları kullanabilirsiniz: Amazon SageMaker Ardışık Düzenleri ML modellerini işleyen, eğiten ve değerlendiren daha karmaşık ML iş akışları oluşturarak bu adımları birleştiren ML işlem hatları oluşturmak. SageMaker Pipelines, veri yükleme, veri dönüştürme, model eğitimi ve ayarlama ve model dağıtımı dahil olmak üzere ML iş akışının farklı adımlarını otomatikleştirmek için tam olarak yönetilen bir hizmettir. Yakın zamana kadar komut dosyalarınızı yerel olarak geliştirip test edebiliyordunuz, ancak ML işlem hatlarınızı bulutta test etmeniz gerekiyordu. Bu, ML işlem hatlarının akışı ve biçimi üzerinde yinelemeyi yavaş ve maliyetli bir süreç haline getirdi. Artık, SageMaker Pipelines'ın eklenen yerel mod özelliğiyle, işleme ve eğitim komut dosyalarınızda nasıl test ve yineleme yaptığınıza benzer şekilde ML işlem hatlarınızı yineleyebilir ve test edebilirsiniz. İşlem hattı sözdizimini ve işlevlerini doğrulamak için küçük bir veri alt kümesini kullanarak işlem hatlarınızı yerel makinenizde çalıştırabilir ve test edebilirsiniz.

SageMaker Boru Hatları

SageMaker Pipelines, basit veya karmaşık ML iş akışlarını çalıştırmak için tam otomatik bir yol sağlar. SageMaker Pipelines ile kullanımı kolay bir Python SDK ile ML iş akışları oluşturabilir ve ardından aşağıdakileri kullanarak iş akışınızı görselleştirip yönetebilirsiniz. Amazon SageMaker Stüdyosu. Veri bilimi ekipleriniz, SageMaker Pipelines'da oluşturduğunuz iş akışı adımlarını depolayıp yeniden kullanarak daha verimli olabilir ve daha hızlı ölçeklenebilir. Ayrıca, ML ortamınızda modeller oluşturmak, test etmek, kaydetmek ve dağıtmak için altyapı ve havuz oluşturmayı otomatikleştiren önceden oluşturulmuş şablonları da kullanabilirsiniz. Bu şablonlar, kuruluşunuzun kullanımına otomatik olarak sunulur ve aşağıdakiler kullanılarak sağlanır: AWS Hizmet Kataloğu bir üretim ve ürünler geliştirmeye adamıştır.

SageMaker Pipelines, geliştirme ve üretim ortamları arasında pariteyi koruma, sürüm kontrolü, isteğe bağlı test ve uçtan uca otomasyon gibi sürekli entegrasyon ve sürekli dağıtım (CI/CD) uygulamalarını ML'ye getirir; organizasyon. DevOps uygulayıcıları, CI/CD tekniklerini kullanmanın temel faydalarından bazılarının, yeniden kullanılabilir bileşenler aracılığıyla üretkenlikte bir artış ve otomatik test yoluyla kalitede bir artış olduğunu ve bunun da iş hedefleriniz için daha hızlı yatırım getirisine yol açtığını bilir. Bu avantajlar artık ML modellerinin eğitimini, testini ve dağıtımını otomatikleştirmek için SageMaker Pipelines kullanılarak MLOps uygulayıcıları tarafından kullanılabilir. Yerel modla, bir işlem hattında kullanmak için komut dosyaları geliştirirken artık çok daha hızlı yineleyebilirsiniz. Yerel işlem hattı örneklerinin Studio IDE içinde görüntülenemeyeceğini veya çalıştırılamayacağını unutmayın; ancak, yerel işlem hatları için ek görüntüleme seçenekleri yakında kullanıma sunulacaktır.

SageMaker SDK, genel bir amaç sağlar yerel mod yapılandırması Bu, geliştiricilerin desteklenen işlemcileri ve tahmin edicileri yerel ortamlarında çalıştırmasına ve test etmesine olanak tanır. Yerel mod eğitimini, AWS tarafından desteklenen birden çok çerçeve görüntüsüyle (TensorFlow, MXNet, Chainer, PyTorch ve Scikit-Learn) ve kendi sağladığınız görüntülerle kullanabilirsiniz.

Düzenlenmiş iş akışı adımlarının Yönlendirilmiş Döngüsel Grafiği (DAG) oluşturan SageMaker Pipelines, makine öğrenimi yaşam döngüsünün parçası olan birçok etkinliği destekler. Yerel modda aşağıdaki adımlar desteklenir:

  • İş adımları işleniyor – Özellik mühendisliği, veri doğrulama, model değerlendirme ve model yorumlama gibi veri işleme iş yüklerini çalıştırmak için SageMaker'da basitleştirilmiş, yönetilen bir deneyim
  • Eğitim iş adımları – Bir eğitim veri kümesinden örnekler sunarak bir modele tahminlerde bulunmayı öğreten yinelemeli bir süreç
  • Hiperparametre ayarlama işleri – En doğru modeli üreten hiperparametreleri değerlendirmenin ve seçmenin otomatik bir yolu
  • Koşullu çalıştırma adımları – Bir işlem hattında koşullu dal çalıştırma sağlayan bir adım
  • Model adımı – CreateModel bağımsız değişkenlerini kullanarak, bu adım, dönüştürme adımlarında veya daha sonra bir uç nokta olarak dağıtımda kullanılmak üzere bir model oluşturabilir
  • İş adımlarını dönüştürün – Büyük veri kümelerinden tahminler oluşturan ve kalıcı bir uç nokta gerekmediğinde çıkarım yapan bir toplu dönüştürme işi
  • Başarısız adımlar – Bir işlem hattı çalıştırmasını durduran ve çalıştırmayı başarısız olarak işaretleyen bir adım

Çözüme genel bakış

Çözümümüz, iş akışı adımlarını yüklemek ve çalıştırmak için yerel CPU, RAM ve disk kaynaklarını kullanmak anlamına gelen yerel modda SageMaker Pipelines oluşturmak ve çalıştırmak için gerekli adımları gösterir. Yerel ortamınız, VSCode veya PyCharm gibi popüler IDE'ler kullanılarak bir dizüstü bilgisayarda çalışıyor olabilir veya klasik dizüstü bilgisayar örnekleri kullanılarak SageMaker tarafından barındırılıyor olabilir.

Yerel mod, veri bilimcilerin işleme, eğitim ve değerlendirme işlerini içerebilen adımları bir araya getirmelerine ve tüm iş akışını yerel olarak çalıştırmalarına olanak tanır. Yerel olarak test etmeyi tamamladığınızda, işlem hattını SageMaker tarafından yönetilen bir ortamda değiştirerek yeniden çalıştırabilirsiniz. LocalPipelineSession ile nesne PipelineSessionML yaşam döngüsüne tutarlılık getiren .

Bu not defteri örneği için, genel kullanıma açık standart bir veri kümesi kullanıyoruz; UCI Machine Learning Abalone Veri Kümesi. Amaç, bir deniz kulağı salyangozunun fiziksel ölçümlerinden yaşını belirlemek için bir ML modeli eğitmektir. Özünde, bu bir gerileme sorunudur.

Bu not defteri örneğini çalıştırmak için gereken tüm kod, GitHub'da şurada mevcuttur: amazon-sagemaker-örnekler depo. Bu not defteri örneğinde, her bir işlem hattı iş akışı adımı bağımsız olarak oluşturulur ve ardından işlem hattını oluşturmak için birbirine bağlanır. Aşağıdaki adımları oluşturuyoruz:

  • İşlem adımı (özellik mühendisliği)
  • Eğitim adımı (model eğitimi)
  • İşlem adımı (model değerlendirme)
  • Koşul adımı (model doğruluğu)
  • Model adımı oluştur (model)
  • Dönüştürme adımı (toplu dönüştürme)
  • Model adımını kaydet (model paketi)
  • Başarısız adım (çalıştırma başarısız)

Aşağıdaki şema boru hattımızı göstermektedir.

Amazon SageMaker Pipelines yerel modu PlatoBlockchain Data Intelligence ile maliyeti ve geliştirme süresini azaltın. Dikey Arama. Ai.

Önkoşullar

Bu gönderiyi takip etmek için aşağıdakilere ihtiyacınız var:

Bu ön koşullar yerine getirildikten sonra, aşağıdaki bölümlerde açıklandığı gibi örnek not defterini çalıştırabilirsiniz.

Boru hattınızı oluşturun

Bu defter örneğinde kullandığımız SageMaker Komut Dosyası Modu ML süreçlerinin çoğu için, bu, etkinliği gerçekleştirmek ve bu koda bir referans iletmek için gerçek Python kodunu (komut dosyaları) sağladığımız anlamına gelir. Komut Dosyası Modu, XGBoost veya Scikit-Learn gibi SageMaker önceden oluşturulmuş kapsayıcılarından yararlanmaya devam ederken kodunuzu özelleştirmenize izin vererek SageMaker işleme içindeki davranışı kontrol etmek için büyük esneklik sağlar. Özel kod, sihirli komutla başlayan hücreler kullanılarak bir Python komut dosyasına yazılır. %%writefile, aşağıdaki gibi:

%%writefile code/evaluation.py

Yerel modun birincil etkinleştiricisi, LocalPipelineSession Python SDK'sından örneklenen nesne. Aşağıdaki kod bölümleri, yerel modda bir SageMaker işlem hattının nasıl oluşturulacağını gösterir. Yerel işlem hattı adımlarının çoğu için yerel bir veri yolu yapılandırabilseniz de, Amazon S3, dönüşüm tarafından veri çıktısının depolanacağı varsayılan konumdur. Yeni LocalPipelineSession nesne, bu gönderide açıklanan birçok SageMaker iş akışı API çağrısında Python SDK'sına iletilir. kullanabileceğinize dikkat edin. local_pipeline_session S3 varsayılan kovasına ve mevcut Bölge adına referansları almak için değişken.

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"

Bireysel işlem hattı adımlarını oluşturmadan önce, işlem hattı tarafından kullanılan bazı parametreleri ayarlarız. Bu parametrelerden bazıları dize değişmezleridir, diğerleri ise SDK tarafından sağlanan özel numaralandırılmış türler olarak oluşturulur. Numaralandırılmış yazma, bu gibi işlem hattına geçerli ayarların sağlanmasını sağlar. ConditionLessThanOrEqualTo daha aşağı adım:

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

Burada özellik mühendisliğini gerçekleştirmek için kullanılan bir veri işleme adımı oluşturmak için, SKLearnProcessor veri kümesini yüklemek ve dönüştürmek için. biz geçiyoruz local_pipeline_session iş akışı adımına yerel modda çalışması talimatını veren sınıf yapıcısına değişken:

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,
)

Ardından, ilk gerçek ardışık düzen adımımızı oluşturuyoruz, bir ProcessingStep nesne, SageMaker SDK'dan içe aktarıldığı gibi. İşlemci argümanları, bir çağrıdan SKLearnProcessor run() yöntemi. Bu iş akışı adımı, işlem hattındaki işlem sırasını belirtmek için dizüstü bilgisayarın sonuna doğru diğer adımlarla birleştirilir.

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)

Ardından, ilk olarak SageMaker SDK'yı kullanarak standart bir tahmin edicinin örneğini oluşturarak bir eğitim adımı oluşturmak için kod sağlıyoruz. aynısını geçiyoruz local_pipeline_session olarak xgb_train adlı tahminciye değişken sagemaker_session argüman. Bir XGBoost modelini eğitmek istediğimizden, çerçeve ve çeşitli sürüm parametreleri dahil olmak üzere aşağıdaki parametreleri belirterek geçerli bir görüntü URI'si oluşturmalıyız:

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,
)

İsteğe bağlı olarak ek tahmin yöntemlerini çağırabiliriz, örneğin set_hyperparameters(), eğitim işi için hiperparametre ayarları sağlamak için. Artık yapılandırılmış bir tahmincimiz olduğuna göre, gerçek eğitim adımını oluşturmaya hazırız. Bir kez daha ithal ediyoruz TrainingStep SageMaker SDK kitaplığındaki sınıf:

from sagemaker.workflow.steps import TrainingStep

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

Ardından, model değerlendirmesini gerçekleştirmek için başka bir işlem adımı oluşturuyoruz. Bu, bir oluşturularak yapılır ScriptProcessor örnek ve geçen local_pipeline_session parametre olarak nesne:

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ğitilen modelin dağıtımını etkinleştirmek için, SageMaker gerçek zamanlı uç nokta veya toplu dönüştürme için, bir Model model yapılarını, uygun görüntü URI'sini ve isteğe bağlı olarak özel çıkarım kodumuzu ileterek nesne. sonra bunu geçiyoruz Model itiraz etmek ModelStep, yerel boru hattına eklenir. Aşağıdaki koda bakın:

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)
)

Ardından, bir dizi özellik vektörü gönderdiğimiz ve çıkarım yaptığımız bir toplu dönüştürme adımı oluşturuyoruz. İlk önce bir oluşturmamız gerekiyor Transformer itiraz et ve geç local_pipeline_session ona parametre. Sonra bir oluştururuz TransformStep, gerekli bağımsız değişkenleri iletin ve bunu işlem hattı tanımına ekleyin:

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)

Son olarak, yalnızca model değerlendirme sonuçları kriterlerimizi karşılıyorsa toplu dönüştürmeyi çalıştırabilmemiz için iş akışına bir şube koşulu eklemek istiyoruz. Bunu bir koşul ekleyerek belirtebiliriz. ConditionStep gibi belirli bir koşul türüyle ConditionLessThanOrEqualTo. Daha sonra iki dal için adımları sıralarız, esasen boru hattının if/else veya doğru/yanlış dallarını tanımlarız. içinde sağlanan if_steps ConditionStep (step_create_model, step_transform) koşul şu şekilde değerlendirildiğinde çalıştırılır: 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],
)

Aşağıdaki şema, bu koşullu dalı ve ilişkili if/else adımlarını göstermektedir. Koşul adımında karşılaştırılan model değerlendirme adımının sonucuna dayalı olarak yalnızca bir dal çalıştırılır.

Amazon SageMaker Pipelines yerel modu PlatoBlockchain Data Intelligence ile maliyeti ve geliştirme süresini azaltın. Dikey Arama. Ai.

Artık tüm adımlarımızı tanımladığımıza ve temel sınıf örnekleri oluşturduğumuza göre, bunları bir ardışık düzende birleştirebiliriz. Bazı parametreler sağlıyoruz ve adımları istenen sırada basitçe listeleyerek işlem sırasını çok önemli bir şekilde tanımlıyoruz. unutmayın ki TransformStep koşullu adımın hedefi olduğu için burada gösterilmemiştir ve adım bağımsız değişkeni olarak sağlanmıştır. ConditionalStep daha erken.

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,
)

İşlem hattını çalıştırmak için iki yöntemi çağırmanız gerekir: pipeline.upsert()işlem hattını temel alınan hizmete yükleyen ve pipeline.start(), bu işlem hattını çalıştırmaya başlar. Çalıştırma durumunu sorgulamak, işlem hattı adımlarını listelemek ve daha fazlası için çeşitli diğer yöntemleri kullanabilirsiniz. Yerel mod ardışık düzen oturumunu kullandığımız için bu adımların tümü işlemcinizde yerel olarak çalıştırılır. Başlatma yönteminin altındaki hücre çıktısı, işlem hattından gelen çıktıyı gösterir:

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

Hücre çıktısının altında aşağıdakine benzer bir mesaj görmelisiniz:

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

Yönetilen kaynaklara geri dön

İşlem hattının hatasız çalıştığını onayladıktan ve işlem hattının akışından ve biçiminden memnun kaldıktan sonra, işlem hattını SageMaker tarafından yönetilen kaynaklarla yeniden oluşturabilir ve yeniden çalıştırabiliriz. Gerekli olan tek değişiklik, PipelineSession yerine nesne LocalPipelineSession:

itibaren sagemaker.workflow.pipeline_context içe aktarma LocalPipelineSession
from sagemaker.workflow.pipeline_context import PipelineSession

local_pipeline_session = LocalPipelineSession()
pipeline_session = PipelineSession()

Bu, hizmete SageMaker tarafından yönetilen kaynaklarda bu oturum nesnesine başvuran her adımı çalıştırması için bilgi verir. Küçük değişiklik göz önüne alındığında, aşağıdaki kod hücresinde yalnızca gerekli kod değişikliklerini gösteriyoruz, ancak aynı değişikliğin her hücrede uygulanması gerekir. local_pipeline_session nesne. Bununla birlikte, değişiklikler tüm hücrelerde aynıdır çünkü biz sadece local_pipeline_session ile nesne pipeline_session nesne.

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
)

Yerel oturum nesnesi her yerde değiştirildikten sonra, işlem hattını yeniden oluşturur ve SageMaker tarafından yönetilen kaynaklarla çalıştırırız:

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()

Temizlemek

Studio ortamını düzenli tutmak istiyorsanız, SageMaker işlem hattını ve modeli silmek için aşağıdaki yöntemleri kullanabilirsiniz. Tam kod örnekte bulunabilir defter.

# 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)

Sonuç

Yakın zamana kadar, işleme ve eğitim komut dosyalarınızı SageMaker tarafından yönetilen kaynaklarla tüm veriler üzerinde çalıştırmadan önce yerel olarak yinelemek için SageMaker İşleme ve SageMaker Eğitiminin yerel mod özelliğini kullanabiliyordunuz. SageMaker Pipelines'ın yeni yerel mod özelliğiyle, ML uygulayıcıları artık ML ardışık düzenlerinde yineleme yaparken aynı yöntemi uygulayarak farklı ML iş akışlarını bir araya getirebilir. İşlem hattı üretime hazır olduğunda, onu SageMaker tarafından yönetilen kaynaklarla çalıştırmak yalnızca birkaç satır kod değişikliği gerektirir. Bu, geliştirme sırasında işlem hattı çalışma süresini kısaltır ve SageMaker tarafından yönetilen kaynakların maliyetini düşürürken daha hızlı geliştirme döngüleri ile daha hızlı işlem hattı geliştirmeye yol açar.

Daha fazla bilgi edinmek için ziyaret Amazon SageMaker Ardışık Düzenleri or İşlerinizi Yerel Olarak Çalıştırmak için SageMaker İşlem Hatlarını Kullanın.


yazarlar hakkında

Amazon SageMaker Pipelines yerel modu PlatoBlockchain Data Intelligence ile maliyeti ve geliştirme süresini azaltın. Dikey Arama. Ai.paul hargis çabalarını AWS, Amazon ve Hortonworks dahil olmak üzere birçok şirkette makine öğrenimi üzerine yoğunlaştırdı. Teknoloji çözümleri oluşturmaktan ve insanlara bundan en iyi şekilde nasıl yararlanacaklarını öğretmekten hoşlanıyor. AWS'deki görevinden önce Amazon Exports and Expansions'ın baş mimarıydı ve amazon.com'un uluslararası alışveriş yapanların deneyimini iyileştirmesine yardımcı oldu. Paul, müşterilerin gerçek dünyadaki sorunları çözmek için makine öğrenimi girişimlerini genişletmelerine yardımcı olmayı sever.

Amazon SageMaker Pipelines yerel modu PlatoBlockchain Data Intelligence ile maliyeti ve geliştirme süresini azaltın. Dikey Arama. Ai.Niklas Palmiye İsveç'in Stockholm kentindeki AWS'de bir Çözüm Mimarıdır ve burada İskandinav ülkelerindeki müşterilerin bulutta başarılı olmasına yardımcı olur. IoT ve makine öğrenimi ile birlikte sunucusuz teknolojiler konusunda özellikle tutkulu. Niklas, iş dışında hevesli bir kros kayakçısı ve snowboardcu olmasının yanı sıra usta bir yumurta kaynatıcıdır.

Amazon SageMaker Pipelines yerel modu PlatoBlockchain Data Intelligence ile maliyeti ve geliştirme süresini azaltın. Dikey Arama. Ai.Kirit Thadaka SageMaker Service SA ekibinde çalışan bir ML Çözümleri Mimarıdır. AWS'ye katılmadan önce Kirit, erken aşamadaki yapay zeka girişimlerinde çalıştı ve ardından bir süre yapay zeka araştırması, MLOps ve teknik liderlik alanlarında çeşitli rollerde danışmanlık yaptı.

Zaman Damgası:

Den fazla AWS Makine Öğrenimi