Amazon SageMaker JumpStart modelleri ve algoritmaları artık API PlatoBlockchain Data Intelligence aracılığıyla kullanılabilir. Dikey Arama. Ai.

Amazon SageMaker JumpStart modelleri ve algoritmaları artık API aracılığıyla kullanılabilir

Aralık ayında 2020 AWS genel kullanılabilirliği duyurdu of Amazon SageMaker Hızlı Başlangıç, yeteneği Amazon Adaçayı Yapıcı bu, makine öğrenimine (ML) hızlı ve kolay bir şekilde başlamanıza yardımcı olur. JumpStart, popüler makine öğrenimi görevlerinde çok çeşitli önceden eğitilmiş modellerin tek tıkla ince ayarını ve dağıtımını ve ayrıca yaygın iş sorunlarını çözen bir dizi uçtan uca çözüm sunar. Bu özellikler, makine öğrenimi sürecinin her adımındaki yükü ortadan kaldırarak yüksek kaliteli modeller geliştirmeyi kolaylaştırır ve devreye alma süresini kısaltır.

Önceden, tüm JumpStart içeriği yalnızca Amazon SageMaker Stüdyosu, sağlayan bir kullanıcı dostu grafik arayüz özellik ile etkileşime geçmek için Bugün, kullanımı kolay lansmanı duyurmaktan heyecan duyuyoruz Hızlı Başlangıç ​​API'leri SageMaker Python SDK'nın bir uzantısı olarak. Bu API'ler, kendi veri kümeleriniz üzerinde çok çeşitli JumpStart destekli önceden eğitilmiş modelleri programlı olarak dağıtmanıza ve ince ayar yapmanıza olanak tanır. Bu başlatma, kod iş akışlarınızdaki, MLOps işlem hatlarınızdaki ve SDK aracılığıyla SageMaker ile etkileşimde bulunduğunuz diğer her yerde JumpStart özelliklerinin kullanımının kilidini açar.

Bu gönderide, JumpStart'ın yeteneklerinin mevcut durumu hakkında bir güncelleme sunuyoruz ve örnek bir kullanım senaryosu ile JumpStart API'sinin kullanım akışında size rehberlik ediyoruz.

Hızlı Başlangıç'a genel bakış

JumpStart, SageMaker'da ML ile hızlı bir şekilde başlamanıza yardımcı olacak farklı yetenekler içeren çok yönlü bir üründür. Yazma sırasında JumpStart aşağıdakileri yapmanızı sağlar:

  • Yaygın ML görevleri için önceden eğitilmiş modelleri dağıtın – JumpStart, genel kullanıma açık büyük veri kümelerinde önceden eğitilmiş modellerin kolay dağıtımını sağlayarak, geliştirme çabası olmadan yaygın ML görevlerini çözmenize olanak tanır. Makine öğrenimi araştırma topluluğu, yakın zamanda geliştirilen modellerin çoğunu herkesin kullanımına açık hale getirmek için büyük çaba harcadı. JumpStart, nesne algılama, metin sınıflandırma ve metin oluşturma gibi en popüler 300 ML görevini kapsayan 15'den fazla modelden oluşan bir koleksiyona ev sahipliği yapar ve yeni başlayanların bunları kullanmasını kolaylaştırır. Bu modeller, TensorFlow, PyTorch, Hugging Face ve MXNet Hub gibi popüler model merkezlerinden alınmıştır.
  • Önceden eğitilmiş modellerde ince ayar yapın – JumpStart, kendi eğitim algoritmanızı yazmanıza gerek kalmadan önceden eğitilmiş modellerde ince ayar yapmanızı sağlar. ML'de bir alanda öğrenilen bilgilerin başka bir alana aktarılabilmesine denir. öğrenme aktarımı. Orijinal modeli sıfırdan eğitmeye dahil olanlardan çok daha düşük eğitim maliyetleriyle daha küçük veri kümelerinizde doğru modeller üretmek için aktarım öğrenimini kullanabilirsiniz. JumpStart ayrıca LightGBM, CatBoost, XGBoost ve Scikit-learn tabanlı popüler eğitim algoritmalarını içerir ve tablo halinde veri regresyonu ve sınıflandırması için sıfırdan eğitim verebilirsiniz.
  • Önceden oluşturulmuş çözümleri kullanın – JumpStart bir dizi sağlar 17 önceden oluşturulmuş çözüm Sadece birkaç tıklamayla dağıtabileceğiniz talep tahmini ve endüstriyel ve finansal uygulamalar gibi yaygın ML kullanım durumları için. Çözümler, belirli bir iş kullanım senaryosunu çözmek için çeşitli AWS hizmetlerini bir araya getiren uçtan uca makine öğrenimi uygulamalarıdır. Onlar kullanırlar AWS CloudFormation hızlı dağıtım için şablonlar ve referans mimariler, yani tamamen özelleştirilebilirler.
  • SageMaker algoritmaları için not defteri örneklerini kullanın – SageMaker bir paket sağlar yerleşik algoritmalar veri bilimcilerin ve makine öğrenimi uygulayıcılarının makine öğrenimi modellerini hızla eğitmeye ve dağıtmaya başlamalarına yardımcı olmak. JumpStart, bu algoritmaları hızlı bir şekilde kullanmak için kullanabileceğiniz örnek not defterleri sağlar.
  • Eğitim videolarından ve bloglardan yararlanın – JumpStart ayrıca size SageMaker'da farklı işlevleri nasıl kullanacağınızı öğreten çok sayıda blog yazısı ve video sağlar.

JumpStart, mevcut modelleri ve çözümleri kurumsal ortamınızda güvenle kullanabilmeniz için özel VPC ayarlarını ve KMS şifreleme anahtarlarını kabul eder. Güvenlik ayarlarınızı SageMaker Studio içinde veya SageMaker Python SDK aracılığıyla JumpStart'a iletebilirsiniz.

JumpStart destekli ML görevleri ve API örneği Not Defterleri

JumpStart şu anda en popüler 15 makine öğrenimi görevini desteklemektedir; Bunların 13'ü vizyon ve NLP tabanlı görevlerdir ve bunların 8'i kodsuz ince ayarı destekler. Ayrıca tablo halinde veri modelleme için dört popüler algoritmayı destekler. Örnek not defterlerine yönelik görevler ve bağlantılar aşağıdaki tabloda özetlenmiştir.

Görev Önceden eğitilmiş modellerle çıkarım Özel veri kümesi üzerinde eğitim Desteklenen çerçeveler Örnek Defterler
Görüntü Sınıflandırması Evet Evet PyTorch, TensorFlow JumpStart'a Giriş – Görüntü Sınıflandırma
Nesne algılama Evet Evet PyTorch, TensorFlow, MXNet JumpStart'a Giriş – Nesne Algılama
Anlamsal Bölümleme Evet Evet MX Ağı JumpStart'a Giriş – Semantik Segmentasyon
Örnek Segmentasyonu Evet yok hayır MX Ağı JumpStart'a Giriş – Örnek Segmentasyonu
Görüntü Gömme Evet yok hayır TensorFlow, MXNet JumpStart'a Giriş – Görüntü Gömme
Metin Sınıflandırması Evet Evet TensorFlow JumpStart'a Giriş – Metin Sınıflandırması
Cümle Çifti Sınıflandırması Evet Evet TensorFlow, Sarılma Yüz JumpStart'a Giriş – Cümle Çifti Sınıflandırması
Soru Yanıtlama Evet Evet PyTorch JumpStart'a Giriş – Soru Cevaplama
Adlandırılmış Varlık Tanıma Evet yok hayır Sarılma Yüz JumpStart'a Giriş – Adlandırılmış Varlık Tanıma
Metin Özetleme Evet yok hayır Sarılma Yüz JumpStart'a Giriş – Metin Özetleme
Metin Oluşturma Evet yok hayır Sarılma Yüz JumpStart'a Giriş – Metin Oluşturma
Makine Çevirisi Evet yok hayır Sarılma Yüz JumpStart'a Giriş – Makine Çevirisi
Metin Gömme Evet yok hayır TensorFlow, MXNet JumpStart'a Giriş – Metin Gömme
Tablo Sınıflandırması Evet Evet LightGBM, CatBoost, XGBoost, Doğrusal Öğrenici JumpStart'a Giriş – Tablo Sınıflandırması – LightGBM, CatBoost
JumpStart'a Giriş – Tablo Sınıflandırması – XGBoost, Doğrusal Öğrenci
Tablo Regresyon Evet Evet LightGBM, CatBoost, XGBoost, Doğrusal Öğrenici JumpStart'a Giriş – Tablosal Regresyon – LightGBM, CatBoost
JumpStart'a Giriş – Tablosal Regresyon – XGBoost, Doğrusal Öğrenci

Göreve bağlı olarak, önceki tabloda bağlantılı örnek not defterleri, aşağıdaki işlemlerin tamamı veya bir alt kümesinde size rehberlik edebilir:

  • Özel göreviniz için JumpStart destekli önceden eğitilmiş bir model seçin.
  • Önceden eğitilmiş bir modeli barındırın, ondan gerçek zamanlı olarak tahminler alın ve sonuçları uygun şekilde görüntüleyin.
  • Kendi hiperparametre seçiminizle önceden eğitilmiş bir modele ince ayar yapın ve çıkarım için dağıtın.

JumpStart API'leri ile bir nesne algılama modeline ince ayar yapın ve dağıtın

Aşağıdaki bölümlerde, nesne algılamanın temsili görevinde yeni JumpStart API'lerinin nasıl kullanılacağına dair adım adım izlenecek yol sunuyoruz. Sınırlayıcı kutulara sahip bir görüntüde önceden tanımlanmış bir sınıf kümesinden nesneleri tanımlamak için önceden eğitilmiş bir nesne algılama modelinin nasıl kullanılacağını gösteriyoruz. Son olarak, yalnızca kendi verilerinizi getirerek, iş gereksinimlerinize özel görüntülerdeki nesneleri algılamak için kendi veri kümenizde önceden eğitilmiş bir modele nasıl ince ayar yapabileceğinizi gösteriyoruz. Biz bir Bu izlenecek yol için eşlik eden not defteri.

Aşağıdaki üst düzey adımlardan geçiyoruz:

  1. Çıkarımı önceden eğitilmiş model üzerinde çalıştırın.
    1. JumpStart yapıtlarını alın ve bir uç nokta dağıtın.
    2. Uç noktayı sorgulayın, yanıtı ayrıştırın ve model tahminlerini görüntüleyin.
  2. Önceden eğitilmiş modele kendi veri kümenizde ince ayar yapın.
    1. Eğitim eserlerini alın.
    2. Eğitimi çalıştırın.

Çıkarımı önceden eğitilmiş model üzerinde çalıştırın

Bu bölümde, JumpStart'ta uygun bir önceden eğitilmiş model seçiyoruz, bu modeli bir SageMaker uç noktasına dağıtıyoruz ve konuşlandırılmış uç noktada çıkarımın nasıl çalıştırılacağını gösteriyoruz. Tüm adımlar şurada mevcuttur: beraberindeki Jupyter dizüstü bilgisayar.

JumpStart yapıtlarını alın ve bir uç nokta dağıtın

SageMaker, Docker kapsayıcılarına dayalı bir platformdur. JumpStart, mevcut çerçeveye özel SageMaker Derin Öğrenme Kapsayıcıları (DLC'ler). Seçilen görev için eğitim ve çıkarımı işlemek için komut dosyalarının yanı sıra ek paketleri de alırız. Son olarak, önceden eğitilmiş model artefaktları ile ayrı ayrı getirilir. model_uris, platforma esneklik sağlar. Tek bir eğitim veya çıkarım komut dosyasıyla aynı görev için önceden eğitilmiş istediğiniz sayıda modeli kullanabilirsiniz. Aşağıdaki koda bakın:

infer_model_id, infer_model_version = "pytorch-od-nvidia-ssd", "*" # Retrieve the inference docker container uri. This is the base container PyTorch image for the model selected above. deploy_image_uri = image_uris.retrieve(region=None, framework=None, image_scope="inference",model_id=infer_model_id, model_version=infer_model_version, instance_type=inference_instance_type) # Retrieve the inference script uri. This includes all dependencies and scripts for model loading, inference handling etc.
deploy_source_uri = script_uris.retrieve(model_id=infer_model_id, model_version=infer_model_version, script_scope="inference") # Retrieve the base model uri. This includes the pre-trained nvidia-ssd model and parameters.
base_model_uri = model_uris.retrieve(model_id=infer_model_id, model_version=infer_model_version, model_scope="inference")

Ardından, kaynakları bir Adaçayı Yapıcı Modeli bir uç noktayı örnekleyin ve dağıtın:

# Create the SageMaker model instance
model = Model(image_uri=deploy_image_uri, source_dir=deploy_source_uri, model_data=base_model_uri, entry_point="inference.py", role=aws_role, predictor_cls=Predictor, name=endpoint_name) # deploy the Model. Note that we need to pass Predictor class when we deploy model through Model class for being able to run inference through the sagemaker API.
base_model_predictor = model.deploy(initial_instance_count=1, instance_type=inference_instance_type, predictor_cls=Predictor, endpoint_name=endpoint_name)

Uç nokta dağıtımının tamamlanması birkaç dakika sürebilir.

Uç noktayı sorgulayın, yanıtı ayrıştırın ve tahminleri görüntüleyin

Dağıtılan bir modelden çıkarımlar elde etmek için, bir kabul türüyle birlikte bir giriş görüntüsünün ikili biçimde sağlanması gerekir. JumpStart'ta, döndürülen sınırlayıcı kutuların sayısını tanımlayabilirsiniz. Aşağıdaki kod parçacığında, ekleme yaparak görüntü başına on sınırlayıcı kutu tahmin ediyoruz. ;n_predictions=10 için Accept. xx kutularını tahmin etmek için bunu şu şekilde değiştirebilirsiniz: ;n_predictions=xx veya atlayarak tahmin edilen tüm kutuları alın ;n_predictions=xx Baştan sona.

def query(model_predictor, image_file_name): with open(image_file_name, "rb") as file: input_img_rb = file.read() return model_predictor.predict(input_img_rb,{ "ContentType": "application/x-image", "Accept": "application/json;verbose;n_predictions=10"}) query_response = query(base_model_predictor, Naxos_Taverna)

Aşağıdaki kod parçacığı, nesne algılamanın nasıl göründüğüne dair bir fikir verir. Her nesne sınıfı için tahmin edilen olasılık, sınırlayıcı kutusuyla birlikte görselleştirilir. kullanıyoruz parse_response ve display_predictions ekte tanımlanan yardımcı işlevler defter.

normalized_boxes, classes_names, confidences = parse_response(query_response)
display_predictions(Naxos_Taverna, normalized_boxes, classes_names, confidences)

Aşağıdaki ekran görüntüsü, tahmin etiketleri ve sınırlayıcı kutular içeren bir görüntünün çıktısını gösterir.

Amazon SageMaker JumpStart modelleri ve algoritmaları artık API PlatoBlockchain Data Intelligence aracılığıyla kullanılabilir. Dikey Arama. Ai.

Kendi veri kümenizde önceden eğitilmiş bir modelde ince ayar yapın

JumpStart'taki mevcut nesne algılama modelleri, COCO veya VOC veri kümelerinde önceden eğitilmiştir. Ancak, orijinal ön eğitim veri kümesinde bulunmayan nesne sınıflarını tanımlamanız gerekiyorsa, bu yeni nesne türlerini içeren yeni bir veri kümesinde modelde ince ayar yapmanız gerekir. Örneğin, mutfak gereçlerini tanımlamanız ve konuşlandırılmış önceden eğitilmiş bir SSD modelinde çıkarım yapmanız gerekiyorsa, model yeni görüntü türlerinin hiçbir özelliğini tanımaz ve bu nedenle çıktı yanlış olur.

Bu bölümde, JumpStart API'lerini kullanarak yeni nesne sınıflarını algılamak için önceden eğitilmiş bir modelde ince ayar yapmanın ne kadar kolay olduğunu gösteriyoruz. Daha fazla ayrıntı içeren tam kod örneği şurada mevcuttur: beraberindeki defter.

Eğitim eserlerini al

Eğitim yapıtları, önceki bölümde tartışılan çıkarım yapıtlarına benzer. Eğitim, temel bir Docker kapsayıcısını, yani aşağıdaki örnek koddaki MXNet kapsayıcısını gerektirir. Eğitim için gereken ek paketler, aşağıdaki eğitim komut dosyalarına dahildir: train_sourcer_uri. Önceden eğitilmiş model ve parametreleri ayrı olarak paketlenir.

train_model_id, train_model_version, train_scope = "mxnet-od-ssd-512-vgg16-atrous-coco","*","training"
training_instance_type = "ml.p2.xlarge" # Retrieve the docker image. This is the base container MXNet image for the model selected above. train_image_uri = image_uris.retrieve(region=None, framework=None, model_id=train_model_id, model_version=train_model_version, image_scope=train_scope,instance_type=training_instance_type) # Retrieve the training script and dependencies. This contains all the necessary files including data processing, model training etc.
train_source_uri = script_uris.retrieve(model_id=train_model_id, model_version=train_model_version, script_scope=train_scope) # Retrieve the pre-trained model tarball to further fine-tune
train_model_uri = model_uris.retrieve(
model_id=train_model_id, model_version=train_model_version, model_scope=train_scope)

Eğitimi çalıştırın

Eğitimi çalıştırmak için, gerekli yapıları bazı ek parametrelerle birlikte bir SageMaker Tahmincisi ve ara .fit işlevi:

# Create SageMaker Estimator instance
od_estimator = Estimator( role=aws_role, image_uri=train_image_uri, source_dir=train_source_uri, model_uri=train_model_uri, entry_point="transfer_learning.py", # Entry-point file in source_dir and present in train_source_uri. instance_count=1, instance_type=training_instance_type, max_run=360000, hyperparameters=hyperparameters, output_path=s3_output_location,
) # Launch a SageMaker Training job by passing s3 path of the training data
od_estimator.fit({"training": training_dataset_s3_path}, logs=True)

Algoritma çalışırken, ilerlemesini ya kodun kendisini çalıştırdığınız SageMaker not defterinde ya da Amazon Bulut İzleme. Eğitim tamamlandığında, ince ayarlanmış model yapıtları, Amazon Basit Depolama Hizmeti (Amazon S3) eğitim yapılandırmasında belirtilen çıktı konumu. Artık modeli önceden eğitilmiş modelle aynı şekilde dağıtabilirsiniz. İşlemin geri kalanını adresinden takip edebilirsiniz. beraberindeki defter.

Sonuç

Bu gönderide, yeni yayınlanan JumpStart API'lerinin değerini ve bunların nasıl kullanılacağını açıkladık. JumpStart'ta desteklenen farklı ML görevleri için 17 örnek not defterine bağlantılar sağladık ve nesne algılama not defterinde size yol gösterdik.

Siz JumpStart'ı denerken sizden haber almayı dört gözle bekliyoruz.


Yazarlar Hakkında

Amazon SageMaker JumpStart modelleri ve algoritmaları artık API PlatoBlockchain Data Intelligence aracılığıyla kullanılabilir. Dikey Arama. Ai.Dr.Vivek Madan Amazon SageMaker JumpStart ekibinde bir Uygulamalı Bilim Adamıdır. Doktorasını Urbana-Champaign'deki Illinois Üniversitesi'nden aldı ve Georgia Tech'de Doktora Sonrası Araştırmacıydı. Makine öğrenimi ve algoritma tasarımında aktif bir araştırmacıdır ve EMNLP, ICLR, COLT, FOCS ve SODA konferanslarında makaleler yayınlamıştır.

Amazon SageMaker JumpStart modelleri ve algoritmaları artık API PlatoBlockchain Data Intelligence aracılığıyla kullanılabilir. Dikey Arama. Ai.Joao Moura Amazon Web Services'de AI/ML Uzman Çözüm Mimarıdır. Çoğunlukla NLP kullanım örneklerine odaklanıyor ve müşterilerin Derin Öğrenme modeli eğitimini ve dağıtımını optimize etmesine yardımcı oluyor.

Amazon SageMaker JumpStart modelleri ve algoritmaları artık API PlatoBlockchain Data Intelligence aracılığıyla kullanılabilir. Dikey Arama. Ai.Ashish Khetan Kıdemli Uygulamalı Bilim Adamıdır Amazon SageMaker Hızlı Başlangıç ve Amazon SageMaker yerleşik algoritmaları ve makine öğrenimi algoritmalarının geliştirilmesine yardımcı olur. Makine öğrenimi ve istatistiksel çıkarım konularında aktif bir araştırmacıdır ve NeurIPS, ICML, ICLR, JMLR ve ACL konferanslarında birçok makale yayınlamıştır.

Zaman Damgası:

Den fazla AWS Makine Öğrenimi