Amazon SageMaker Otomatik Pilot tam kontrol ve görünürlüğü korumanıza izin verirken, verilerinize dayalı olarak en iyi makine öğrenimi (ML) modellerini otomatik olarak oluşturur, eğitir ve ayarlar. Autopilot ayrıca eğitilmiş modelleri gerçek zamanlı çıkarım uç noktalarına otomatik olarak dağıtabilir.
Soğuk başlatmaları tolere edebilen ani veya öngörülemeyen trafik modellerine sahip iş yükleriniz varsa, modeli sunucusuz bir çıkarım uç noktasına dağıtmak daha uygun maliyetli olacaktır.
Amazon SageMaker Sunucusuz Çıkarım öngörülemeyen trafik modellerine sahip ve soğuk başlatmaları tolere edebilen iş yükleri için ideal, amaca yönelik oluşturulmuş bir çıkarım seçeneğidir. Uzun süre çalışan bir bilgi işlem eşgörünümü tarafından desteklenen gerçek zamanlı bir çıkarım uç noktasının aksine, sunucusuz uç noktalar, yerleşik otomatik ölçeklendirme ile talep üzerine kaynakları sağlar. Sunucusuz uç noktalar, gelen isteklerin sayısına göre otomatik olarak ölçeklenir ve gelen istek olmadığında kaynakları sıfıra indirerek maliyetlerinizi en aza indirmenize yardımcı olur.
Bu gönderide, Autopilot tarafından eğitilmiş modellerin sunucusuz çıkarım uç noktalarına nasıl dağıtılacağını gösteriyoruz. Boto3 kütüphaneleri için Amazon Adaçayı Yapıcı.
Otomatik pilot eğitim modları
Bir Otopilot deneyi oluşturmadan önce, eğitim modunu Otopilot'un otomatik olarak seçmesine izin verebilir veya eğitim modunu manuel olarak seçebilirsiniz.
Otomatik pilot şu anda üç eğitim modunu desteklemektedir:
- Oto – Veri kümesi boyutuna bağlı olarak, Autopilot otomatik olarak birleştirme veya HPO modunu seçer. 100 MB'den büyük veri kümeleri için Autopilot, HPO'yu seçer; Aksi takdirde, ensembling'i seçer.
- topluluk – Otomatik pilot, Otomatik Gluon model istifleme kullanan birleştirme tekniği ve optimal bir tahmine dayalı model üretir.
- Hiperparametre optimizasyonu (HPO) – Otopilot, veri kümenizde eğitim işleri yürütürken Bayes optimizasyonu veya çoklu uygunluk optimizasyonu kullanarak hiperparametreleri ayarlayarak bir modelin en iyi sürümünü bulur. HPO modu, veri kümenizle en alakalı algoritmaları seçer ve modellerinizi ayarlamak için en iyi hiperparametre aralığını seçer.
Otopilot eğitim modları hakkında daha fazla bilgi edinmek için bkz. Eğitim modları.
Çözüme genel bakış
Bu yazıda kullanıyoruz UCI Banka Pazarlama Bir müşterinin banka tarafından sunulan bir vadeli mevduata abone olup olmayacağını tahmin etmek için veri seti. Bu bir ikili sınıflandırma problemi türüdür.
kullanarak iki Autopilot işi başlatıyoruz. SageMaker için Boto3 kitaplıkları. İlk iş, seçilen eğitim modu olarak eşleştirmeyi kullanır. Ardından, oluşturulan tek topluluk modelini sunucusuz bir uç noktaya dağıtırız ve bu barındırılan uç noktaya çıkarım istekleri göndeririz.
İkinci iş, HPO eğitim modunu kullanır. Sınıflandırma problemi türleri için, Autopilot üç çıkarım kapsayıcısı oluşturur. Bu üç çıkarım kapsayıcısını ayıklıyoruz ve bunları ayrı sunucusuz uç noktalara yerleştiriyoruz. Ardından bu barındırılan uç noktalara çıkarım istekleri göndeririz.
Regresyon ve sınıflandırma problem türleri hakkında daha fazla bilgi için bkz. Regresyon ve sınıflandırma problem türleri için çıkarım kabı tanımları.
Otopilot işlerini şu adresten de başlatabiliriz: Amazon SageMaker Stüdyosu kullanıcı arayüzü İşleri kullanıcı arayüzünden başlatırsanız, Otomatik dağıtma seçeneği Dağıtım ve Gelişmiş ayarlar bölüm. Aksi takdirde, Otopilot en iyi adayı gerçek zamanlı bir son noktaya konuşlandırır.
Önkoşullar
Boto3'ün en son sürümüne ve SageMaker Python paketlerine sahip olduğunuzdan emin olun:
pip install -U boto3 sagemaker
SageMaker paket versiyonuna ihtiyacımız var >= 2.110.0
ve Boto3 versiyonu >= boto3-1.24.84.
Birleştirme moduyla bir Otomatik Pilot işi başlatın
SageMaker Boto3 kitaplıklarını kullanarak bir Otomatik Pilot işini başlatmak için create_auto_ml_job API. sonra geçiyoruz AutoMLJobConfig
, InputDataConfig
, ve AutoMLJobObjective
girişler olarak create_auto_ml_job
. Aşağıdaki koda bakın:
Otomatik pilot BestCandidate
sahip model nesnesi InferenceContainers
modelleri çıkarım uç noktalarına dağıtmak için gereklidir. Almak için BestCandidate
önceki iş için, describe_automl_job
işlevi:
Eğitilen modeli dağıtın
Şimdi önceki çıkarım kapsayıcısını sunucusuz bir uç noktaya dağıtıyoruz. İlk adım, çıkarım kabından bir model oluşturmak, ardından MemorySizeInMB
ve MaxConcurrency
model adıyla birlikte sunucusuz uç nokta için değerler. Son olarak yukarıda oluşturduğumuz endpoint konfigürasyonu ile bir endpoint oluşturuyoruz.
seçmenizi öneririz. uç noktanın bellek boyutu model boyutunuza göre. Bellek boyutu en az model boyutunuz kadar büyük olmalıdır. Sunucusuz uç noktanızın minimum RAM boyutu 1024 MB (1 GB) ve seçebileceğiniz maksimum RAM boyutu 6144 MB'dir (6 GB).
Seçebileceğiniz bellek boyutları 1024 MB, 2048 MB, 3072 MB, 4096 MB, 5120 MB veya 6144 MB'dir.
Maliyet ve performans açısından sunucusuz bir uç noktanın doğru dağıtım seçeneği olup olmadığını belirlemenize yardımcı olması için şuraya başvurmanızı öneririz: SageMaker Sunucusuz Çıkarım Kıyaslama Araç Seti, farklı uç nokta yapılandırmalarını test eder ve en uygun olanı karşılaştırılabilir bir gerçek zamanlı barındırma örneğiyle karşılaştırır.
Sunucusuz uç noktaların yalnızca kabul ettiğini unutmayın. SingleModel
çıkarım kapsayıcıları için. Birleştirme modundaki otomatik pilot, tek bir model oluşturur, böylece bu model kapsayıcısını uç noktaya olduğu gibi dağıtabiliriz. Aşağıdaki koda bakın:
Sunucusuz çıkarım uç noktası InService
, bir çıkarım isteği göndererek uç noktayı test edebilir ve tahminleri gözlemleyebiliriz. Aşağıdaki diyagram bu kurulumun mimarisini göstermektedir.
Ham verileri uç noktaya bir yük olarak gönderebileceğimizi unutmayın. Autopilot tarafından oluşturulan topluluk modeli, algoritma modeli ve paketleriyle birlikte gerekli tüm özellik dönüştürme ve ters etiket dönüştürme adımlarını otomatik olarak tek bir modelde birleştirir.
Eğitilen modele çıkarım isteği gönder
Birleştirme modu kullanılarak eğitilmiş modelinize çıkarım göndermek için aşağıdaki kodu kullanın:
HPO moduyla bir Otomatik Pilot İşi başlatın
HPO modunda, CompletionCriteria
, dışında MaxRuntimePerTrainingJobInSeconds
ve MaxAutoMLJobRuntimeInSeconds,
ayrıca belirtebiliriz MaxCandidates
Otomatik pilot işinin oluşturacağı aday sayısını sınırlamak için. Bunların isteğe bağlı parametreler olduğunu ve yalnızca gösteri için iş çalışma süresini sınırlamak üzere ayarlandığını unutmayın. Aşağıdaki koda bakın:
Almak için BestCandidate
önceki iş için tekrar kullanabiliriz describe_automl_job
işlevi:
Eğitilen modeli dağıtın
Sınıflandırma sorunu türü için HPO modundaki otomatik pilot, üç çıkarım kabı oluşturur.
İlk kap, özellik dönüştürme adımlarını işler. Daha sonra, algoritma kapsayıcısı şunu üretir: predicted_label
en yüksek olasılıkla. Son olarak, işlem sonrası çıkarım kabı, tahmin edilen etiket üzerinde bir ters dönüşüm gerçekleştirir ve onu orijinal etikete eşler. Daha fazla bilgi için bkz. Regresyon ve sınıflandırma problem türleri için çıkarım kabı tanımları.
Bu üç çıkarım kapsayıcısını ayıklıyoruz ve bunları ayrı bir sunucusuz uç noktalara dağıtıyoruz. Çıkarım için, önce yükü özellik dönüştürme kabına göndererek, ardından bu kaptan çıktıyı algoritma kabına geçirerek ve son olarak önceki çıkarım kabından çıktıyı son işleme kabına geçirerek uç noktaları sırayla çağırırız. bu da tahmin edilen etiketi verir.
Aşağıdaki diyagram bu kurulumun mimarisini göstermektedir.
Üç çıkarım kapsayıcısını BestCandidate
aşağıdaki kodla:
Eğitilen modele çıkarım isteği gönder
Çıkarım için, yükü sırayla gönderiyoruz: önce özellik dönüştürme kabına, ardından model kabına ve son olarak ters etiketli dönüşüm kabına.
Aşağıdaki koda bakın:
Bu örneğin tam uygulaması aşağıdaki jupyter'de mevcuttur. defter.
Temizlemek
Kaynakları temizlemek için oluşturulan sunucusuz uç noktaları, uç nokta yapılandırmalarını ve modelleri silebilirsiniz:
Sonuç
Bu gönderide, Autopilot tarafından oluşturulan modelleri hem topluluk hem de HPO modlarında sunucusuz çıkarım uç noktalarına nasıl dağıtabileceğimizi gösterdik. Bu çözüm, ham verilerden hızlı bir şekilde modeller oluşturmak için Autopilot gibi uygun maliyetli ve tam olarak yönetilen makine öğrenimi hizmetlerini kullanma ve bunlardan yararlanma becerinizi hızlandırabilir ve ardından maliyetleri azaltmak için yerleşik otomatik ölçeklendirme ile bunları tam olarak yönetilen sunucusuz çıkarım uç noktalarına dağıtabilir. .
İş KPI'lerinizle alakalı bir veri kümesiyle bu çözümü denemenizi öneririz. Bir Jupyter not defterinde uygulanan çözüme şu adresten bakabilirsiniz: GitHub repo.
Ek referanslar
Yazar Hakkında
Praveen Chamarthi Amazon Web Services'ta Kıdemli Yapay Zeka/Makine Öğrenmesi Uzmanıdır. AI/ML ve AWS ile ilgili her şey konusunda tutkulu. Amerika'daki müşterilerin AWS'de makine öğrenimi iş yüklerini verimli bir şekilde ölçeklendirmesine, yenilik yapmasına ve çalıştırmasına yardımcı oluyor. Praveen boş zamanlarında okumayı sever ve bilimkurgu filmlerinden hoşlanır.
- Gelişmiş (300)
- AI
- yapay zeka
- AI sanat üreteci
- yapay zeka robotu
- Amazon Adaçayı Yapıcı
- Amazon SageMaker Otomatik Pilot
- yapay zeka
- yapay zeka sertifikası
- bankacılıkta yapay zeka
- yapay zeka robotu
- yapay zeka robotları
- yapay zeka yazılımı
- AWS Makine Öğrenimi
- blockchain
- blockchain konferans ai
- zeka
- konuşma yapay zekası
- kripto konferans ai
- dal-e
- derin öğrenme
- google ai
- makine öğrenme
- Platon
- plato yapay zekası
- Plato Veri Zekası
- Plato Oyunu
- PlatoVeri
- plato oyunu
- ölçek ai
- sözdizimi
- Teknik Nasıl Yapılır
- zefirnet