Plato Veri Zekası.
Dikey Arama ve Yapay Zeka.

MLOps iş akışlarını kolayca otomatikleştirmek için Amazon SageMaker Autopilot deneylerini doğrudan Amazon SageMaker Pipelines içinden başlatın

Tarih:

Amazon SageMaker Otomatik PilotTablo verilerine dayalı olarak en iyi makine öğrenimi modellerini otomatik olarak oluşturan, eğiten ve ayarlayan düşük kodlu bir makine öğrenimi (ML) hizmeti artık Amazon SageMaker Ardışık DüzenleriML için amaca yönelik ilk sürekli tümleştirme ve sürekli teslim (CI/CD) hizmeti. Bu, Autopilot kullanarak makine öğrenimi modelleri oluşturmanın ve modelleri sonraki CI/CD adımlarına entegre etmenin uçtan uca akışının otomasyonunu sağlar.

Şimdiye kadar, Pipelines içinde bir Otomatik Pilot denemesi başlatmak için Pipelines ile özel entegrasyon kodu yazarak bir model oluşturma iş akışı oluşturmanız gerekir. Lambda or İşlemde adımlar. Daha fazla bilgi için, bkz Amazon SageMaker Pipelines'ı kullanarak Amazon SageMaker Autopilot ML modellerini denemeden üretime taşıyın.

Pipelines içinde yerel bir adım olarak Autopilot desteği ile artık otomatikleştirilmiş bir eğitim adımı ekleyebilirsiniz (OtomatikMLStep) ve Ardışık Düzenlerde bir Otomatik Pilot deneyi başlatın Birleştirme eğitim modu. Örneğin, Pipelines ile bir dolandırıcılık algılama kullanım örneği için bir eğitim ve değerlendirme ML iş akışı oluşturuyorsanız, artık belirli bir girdi veri kümesinde en iyi modeli bulmak için birden çok denemeyi otomatik olarak çalıştıran AutoML adımını kullanarak bir Autopilot denemesi başlatabilirsiniz. . kullanılarak en iyi model oluşturulduktan sonra Model adımı, performansı kullanılarak test verileri üzerinde değerlendirilebilir. Dönüşüm adımı ve İşleme Adımı Pipelines içindeki özel bir değerlendirme betiği için. Sonuç olarak model, SageMaker model kaydına şu şekilde kaydedilebilir: Model adımı ile birlikte Koşul adımı.

Bu gönderide, Pipelines'ta yeni başlatılan AutoML adımını kullanarak SageMaker tarafından oluşturulan bir ML modelini eğitmek ve değerlendirmek ve SageMaker model kaydına kaydetmek için uçtan uca bir ML iş akışının nasıl oluşturulacağını gösteriyoruz. En iyi performansa sahip makine öğrenimi modeli, bir SageMaker uç noktasına dağıtılabilir.

Veri kümesine genel bakış

Herkese açık olanı kullanıyoruz UCI Yetişkin 1994 Gelir Sayımı veri seti Bir kişinin yılda 50,000 dolardan fazla yıllık geliri olup olmadığını tahmin etmek için. Bu bir ikili sınıflandırma problemidir; gelir hedefi değişkeni için seçenekler ya <=50K ya da >50K'dır.

Veri kümesi, eğitim ve doğrulama için 32,561 satır ve her biri 16,281 sütunla test için 15 satır içerir. Bu, bireyler hakkında demografik bilgileri içerir ve class gelir sınıfını gösteren hedef sütun olarak.

Sütun adı Açıklama
yaş Sürekli
çalışma sınıfı Özel, Self-emp-not-inc, Self-emp-inc, Federal-gov, Local-gov, State-gov, Ücretsiz, Hiç çalışmamış
fnlwgt Sürekli
eğitim Lisans, Bazı-Kolej, 11., Lİse-mezun, Prof-okul, Doç.
eğitim-sayı Sürekli
Medeni hal Evli-medeni-eş, Boşanmış, Hiç evlenmemiş, Ayrılmış, Dul, Evli-eş-yok, Evli-AF-eş
işgal Teknik destek, Craft-onarım, Diğer hizmet, Satış, Yönetici-yönetim, Prof-uzmanlığı, Taşıyıcılar-temizleyiciler, Makine-operasyon-denetleme, Adm-büro, Tarım-balıkçılık, Nakliye-hareket, Priv-house-servis, Koruyucu hizmet, Silahlı Kuvvetler
ilişki Karı, Kendi çocuğu, Koca, Aileden olmayan, Diğer akraba, Bekar
yarış Beyaz, Asya-Pac-Adalı, Amer-Hint-Eskimo, Diğer, Siyah
seks Kadın erkek
Sermaye kazancı Sürekli
sermaye kaybı Sürekli
haftalık saat Sürekli
ana vatan Amerika Birleşik Devletleri, Kamboçya, İngiltere, Porto Riko, Kanada, Almanya, ABD Dışındaki (Guam-USVI-vb), Hindistan, Japonya, Yunanistan, Güney, Çin, Küba, İran, Honduras, Filipinler, İtalya, Polonya, Jamaika , Vietnam, Meksika, Portekiz, İrlanda, Fransa, Dominik Cumhuriyeti, Laos, Ekvador, Tayvan, Haiti, Kolombiya, Macaristan, Guatemala, Nikaragua, İskoçya, Tayland, Yugoslavya, El-Salvador, Trinadad&Tobago, Peru, Hong, Hollanda-Hollanda
sınıf Gelir sınıfı, <=50K veya >50K

Çözüme genel bakış

Farklı düzenlemeleri düzenlemek için Pipelines kullanıyoruz. boru hattı adımları Otopilot modelini eğitmek için gereklidir. Bir oluşturup çalıştırıyoruz Otomatik pilot deneyi Bu eğitimde açıklandığı gibi bir AutoML adımının parçası olarak.

Bu uçtan uca Otopilot eğitim süreci için aşağıdaki adımlar gereklidir:

  • kullanarak bir Otomatik Pilot eğitim işi oluşturun ve izleyin. AutoMLStep.
  • Kullanarak bir SageMaker modeli oluşturun ModelStep. Bu adım, önceki adımda Autopilot tarafından oluşturulan en iyi modelin meta verilerini ve yapılarını getirir.
  • Eğitilmiş Otopilot modelini kullanarak bir test veri kümesi üzerinde değerlendirin TransformStep.
  • Önceki çalıştırmanın çıktısını karşılaştırın TransformStep kullanarak gerçek hedef etiketlerle ProcessingStep.
  • ML modelini şuraya kaydedin: SageMaker model kaydı kullanma ModelStepönceden elde edilen değerlendirme metriği önceden tanımlanmış bir eşiği aşarsa ConditionStep.
  • Test amacıyla ML modelini bir SageMaker uç noktası olarak konuşlandırın.

mimari

Aşağıdaki mimari şeması, tüm adımları yeniden üretilebilir, otomatikleştirilmiş ve ölçeklenebilir bir SageMaker Autopilot eğitim hattında paketlemek için gerekli olan farklı ardışık düzen adımlarını göstermektedir. Veri dosyaları S3 kovasından okunur ve ardışık düzen adımları sırayla çağrılır.

Walkthrough

Bu gönderi, boru hattı adımlarının ayrıntılı bir açıklamasını sağlar. Kodu inceliyoruz ve her adımın bileşenlerini tartışıyoruz. Çözümü dağıtmak için bkz. örnek not defteriPipelines kullanarak bir Autopilot MLOps iş akışını uygulamak için adım adım talimatlar sağlayan .

Önkoşullar

Aşağıdaki ön koşulları tamamlayın:

Veri kümesi kullanıma hazır olduğunda, Autopilot kullanarak makine öğrenimi modellerini otomatik olarak oluşturmak ve eğitmek için tekrarlanabilir bir süreç oluşturmak üzere Pipelines kurmamız gerekir. biz kullanıyoruz Adaçayı Yapıcı SDK'sı uçtan uca bir makine öğrenimi eğitim işlem hattını programlı olarak tanımlamak, çalıştırmak ve izlemek için.

Boru Hattı Adımları

Aşağıdaki bölümlerde, SageMaker işlem hattındaki AutoML eğitimi, model oluşturma, toplu çıkarım, değerlendirme ve en iyi modelin koşullu kaydı dahil olmak üzere farklı adımlardan geçiyoruz. Aşağıdaki diyagram tüm boru hattı akışını göstermektedir.

AutoML eğitim adımı

An AutoML nesnesi Autopilot eğitim işini çalıştırmayı tanımlamak için kullanılır ve SageMaker boru hattına şu şekilde eklenebilir: AutoMLStep sınıf, aşağıdaki kodda gösterildiği gibi. Birleştirme eğitim modunun belirtilmesi gerekir, ancak diğer parametreler gerektiği gibi ayarlanabilir. Örneğin, AutoML işinin makine öğrenimini otomatik olarak çıkarmasına izin vermek yerine sorun türü ve objektif metrik, bunlar belirtilerek sabit kodlanmış olabilir problem_type ve job_objective AutoML nesnesine iletilen parametreler.

automl = AutoML( role=execution_role, target_attribute_name=target_attribute_name, sagemaker_session=pipeline_session, total_job_runtime_in_seconds=max_automl_runtime, mode="ENSEMBLING",
)
train_args = automl.fit( inputs=[ AutoMLInput( inputs=s3_train_val, target_attribute_name=target_attribute_name, channel_type="training", ) ]
)
step_auto_ml_training = AutoMLStep( name="AutoMLTrainingStep", step_args=train_args,
)

Model oluşturma adımı

AutoML adımı, çeşitli ML modeli adaylarının oluşturulması, bunların birleştirilmesi ve en iyi ML modelinin elde edilmesiyle ilgilenir. Model yapıtları ve meta veriler otomatik olarak saklanır ve çağrılarak elde edilebilir. get_best_auto_ml_model() AutoML eğitim adımındaki yöntem. Bunlar daha sonra Model adımının bir parçası olarak bir SageMaker modeli oluşturmak için kullanılabilir:

best_auto_ml_model = step_auto_ml_training.get_best_auto_ml_model( execution_role, sagemaker_session=pipeline_session
)
step_args_create_model = best_auto_ml_model.create(instance_type=instance_type)
step_create_model = ModelStep(name="ModelCreationStep", step_args=step_args_create_model)

Toplu dönüştürme ve değerlendirme adımları

Biz kullanın Transformatör nesnesi için toplu çıkarım daha sonra değerlendirme amaçları için kullanılabilecek test veri setinde. Çıktı tahminleri, bir Scikit-learn metrik işlevi kullanılarak gerçek veya temel gerçek etiketleriyle karşılaştırılır. Sonuçlarımıza göre değerlendiriyoruz F1 skoru. Performans ölçümleri, sonraki adımda model kaydedilirken başvurulan bir JSON dosyasına kaydedilir.

Koşullu kayıt adımları

Bu adımda, önceden tanımlanmış değerlendirme metriği eşiğini aşarsa, yeni Autopilot modelimizi SageMaker model kaydına kaydederiz.

İşlem hattını oluşturun ve çalıştırın

Adımları tanımladıktan sonra, onları bir SageMaker ardışık düzeninde birleştiririz:

pipeline = Pipeline( name="AutoMLTrainingPipeline", parameters=[ instance_count, instance_type, max_automl_runtime, model_approval_status, model_package_group_name, model_registration_metric_threshold, s3_bucket, target_attribute_name, ], steps=[ step_auto_ml_training, step_create_model, step_batch_transform, step_evaluation, step_conditional_registration, ], sagemaker_session=pipeline_session,
)

Adımlar sırayla çalıştırılır. Ardışık düzen, eğitim, model değerlendirmesi ve model kaydı için Autopilot ve Pipelines kullanan bir AutoML işinin tüm adımlarını çalıştırır.

Yeni modeli, Studio konsolundaki model kaydına gidip açarak görüntüleyebilirsiniz. AutoMLModelPackageGroup. Objektif metrikleri görüntülemek için bir eğitim işinin herhangi bir sürümünü seçin. Model kalitesi sekmesi.

Açıklanabilirlik raporunu şu adreste görüntüleyebilirsiniz: Açıklanabilirlik Modelinizin tahminlerini anlamak için sekmesine tıklayın.

Oluşturulan tüm modeller için temel Otomatik Pilot deneyini görüntülemek için AutoMLStep, gidin AutoML sayfasına gidin ve iş adını seçin.

Modeli dağıtın

Makine öğrenimi modelinin performansını manuel olarak inceledikten sonra, yeni oluşturduğumuz modelimizi bir SageMaker uç noktasına dağıtabiliriz. Bunun için SageMaker model kaydında kayıtlı olan model konfigürasyonunu kullanarak model uç noktasını oluşturan not defterindeki hücreleri çalıştırabiliriz.

Bu betiğin tanıtım amacıyla paylaşıldığını unutmayın, ancak makine öğrenimi çıkarımı için üretim dağıtımına yönelik daha sağlam bir CI/CD ardışık düzeninin izlenmesi önerilir. Daha fazla bilgi için bkz. Amazon SageMaker Pipelines kullanarak makine öğrenimi iş akışlarını oluşturma, otomatikleştirme, yönetme ve ölçeklendirme.

Özet

Bu gönderi, Autopilot, Pipelines ve Studio kullanarak tablolu ML modellerini (AutoML) otomatik olarak eğitmek için kullanımı kolay bir ML ardışık düzeni yaklaşımını açıklamaktadır. AutoML, kapsamlı ML uzmanlığına ihtiyaç duymadan ML denemesinden üretime giden yolu hızlandırarak ML uygulayıcılarının verimliliğini artırır. Makine öğrenimi modeli oluşturma, değerlendirme ve kayıt için gerekli ardışık düzen adımlarını özetliyoruz. deneyerek başlayın örnek not defteri kendi özel AutoML modellerinizi eğitmek ve dağıtmak için.

Otopilot ve Boru Hatları hakkında daha fazla bilgi için bkz. Amazon SageMaker Autopilot ile model geliştirmeyi otomatikleştirin ve Amazon SageMaker Ardışık Düzenleri.

Lansmanda emeği geçen herkese özel teşekkürler: Shenghua Yue, John He, Ao Guo, Xinlu Tu, Tian Qin, Yanda Hu, Zhankui Lu ve Dewen Qi.


Yazarlar Hakkında

Janişa Anand SageMaker Autopilot'u içeren SageMaker Low/No Code ML ekibinde Kıdemli Ürün Müdürüdür. Kahveyi, aktif olmayı ve ailesiyle vakit geçirmeyi seviyor.

Marcelo Aberle AWS AI'da bir Makine Öğrenimi Mühendisidir. O yardım eder Amazon ML Çözümleri Laboratuvarı müşteriler ölçeklenebilir ML(-Ops) sistemleri ve çerçeveleri oluşturur. Boş zamanlarında San Francisco Körfez Bölgesi'nde yürüyüş yapmaktan ve bisiklete binmekten hoşlanıyor.

Geremy Cohen AWS'ye sahip bir Çözüm Mimarıdır ve müşterilerin en yeni, bulut tabanlı çözümler oluşturmasına yardımcı olur. Boş zamanlarında sahilde kısa yürüyüşler yapmaktan, ailesiyle körfez bölgesini keşfetmekten, evin etrafındaki şeyleri tamir etmekten, evin etrafındaki şeyleri kırmaktan ve barbekü yapmaktan hoşlanıyor.

Shenhua Yue Amazon SageMaker'da Yazılım Geliştirme Mühendisi. Müşteriler için makine öğrenimi araçları ve ürünleri oluşturmaya odaklanıyor. İş dışında açık havada, yoga yapmaktan ve yürüyüş yapmaktan hoşlanıyor.

spot_img

En Son İstihbarat

spot_img

Bizimle sohbet

Merhaba! Size nasıl yardım edebilirim?