Azure Machine Learning maliyetlerini yönetme ve iyileştirme

Bu makalede, Azure Machine Learning için machine learning modelleri eğitip dağıtırken maliyetleri yönetme ve iyileştirme işlemleri gösterilmektedir.

İşlem kaynağı maliyetlerinizi yönetmenize ve iyileştirmenize yardımcı olması için aşağıdaki ipuçlarını kullanın.

  • Azure Machine Learning işlem kümesini kullanma
  • Eğitim kümelerinizi otomatik ölçeklendirme için yapılandırma
  • Yönetilen çevrimiçi uç noktalarınızı otomatik ölçeklendirme için yapılandırma
  • Aboneliğinizde ve çalışma alanlarınızda kotalar ayarlama
  • Eğitim işi için sonlandırma politikalarını ayarlayın
  • Düşük öncelikli virtual machines (VM) kullanma
  • İşlem örneklerini otomatik olarak kapatıp başlatacak şekilde zamanlama
  • Azure Rezerve VM Örneği Kullan
  • Eğitimi paralelleştirme
  • Veri saklama ve silme ilkelerini ayarlama
  • Kaynakları aynı bölgeye dağıtma
  • Başarısız dağıtımları silme

Maliyetleri planlama ve izleme hakkında bilgi için bkz: Azure Machine Learning için maliyet yönetimi planı.

Önemli

Bu makalede işaretlenen (önizleme) öğeler şu anda genel önizleme aşamasındadır. Önizleme sürümü bir hizmet düzeyi sözleşmesi olmadan sağlanır. Üretim iş yükleri için önizleme sürümlerini önermeyiz. Bazı özellikler desteklenmiyor olabileceği gibi özellikleri sınırlandırılmış da olabilir. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri için Uygun Kullanım Koşulları.

Azure Machine Learning işlem kümesini kullanma

Sürekli değişen verilerle, doğru modelleri korumak için hızlı ve kolaylaştırılmış model eğitimine ve yeniden eğitmeye ihtiyacınız vardır. Ancak, özellikle GPU'lardaki derin öğrenme modelleri için sürekli eğitimin bir maliyeti vardır.

Azure Machine Learning kullanıcılar, AmlCompute olarak da adlandırılan yönetilen Azure Machine Learning işlem kümesini kullanabilir. AmlCompute çeşitli GPU ve CPU seçeneklerini destekler. AmlCompute, Azure Machine Learning tarafından aboneliğiniz adına dahili olarak barındırılır. Azure IaaS bulut ölçeğinde aynı kurumsal düzeyde güvenlik, uyumluluk ve idare sağlar.

Bu işlem havuzları Azure IaaS altyapısının içinde olduğundan, altyapınızın geri kalanıyla aynı güvenlik ve uyumluluk gereksinimleriyle eğitiminizi dağıtabilir, ölçeklendirebilir ve yönetebilirsiniz. Bu dağıtımlar aboneliğinizde gerçekleşir ve idare kurallarınıza uyar. Daha fazla bilgi için bkz. Azure Machine Learning maliyetlerini yönetmek için plan.

Otomatik ölçeklendirme için eğitim kümelerini yapılandırma

İş yükünüzün gereksinimlerine göre kümeleri otomatik ölçeklendirme maliyetlerinizi azaltmaya yardımcı olur, böylece yalnızca ihtiyacınız olanı kullanırsınız.

AmlCompute kümeleri, iş yükünüz temelinde dinamik olarak ölçeklendirilecek şekilde tasarlanmıştır. Kümenin ölçeği yapılandırdığınız en fazla düğüm sayısına kadar artırılabilir. Her iş tamamlandıktan sonra küme düğümleri serbest bırakır ve yapılandırılan en düşük düğüm sayısına göre ölçeklendirilir.

Önemli

Hiçbir iş çalışmadığında ücret tahsil edilmemesi için en düşük düğümleri 0 olarak ayarlayın. Bu ayar, Azure Machine Learning düğümlerinin kullanılmadıklarında serbest bırakılmasını sağlar. 0'dan büyük herhangi bir değer, kullanımda olmasalar bile bu sayıda düğümü çalışır durumda tutar.

Ölçek küçülmeden önce düğümün boşta kalma süresini de yapılandırabilirsiniz. Varsayılan olarak, ölçeği azaltmadan önce boşta kalma süresi 120 saniye olarak ayarlanır.

  • Daha az yinelemeli deneme gerçekleştirirseniz maliyet tasarrufu yapmak için bu süreyi azaltın.
  • Yüksek oranda yinelemeli geliştirme/test denemesi gerçekleştirirseniz, eğitim betiğinizde veya ortamınızda yapılan her değişiklik sonrasında sürekli ölçeği artırma ve azaltma için ödeme yapmamak için süreyi artırmanız gerekebilir.

AmlCompute kümelerini değişen iş yükü gereksinimleriniz için aşağıdakini kullanarak yapılandırabilirsiniz:

Otomatik ölçeklendirme için yönetilen çevrimiçi uç noktaları yapılandırma

Otomatik ölçeklendirme uygulamanızdaki yükü işlemek için tam olarak doğru miktarda kaynak çalıştırır. Yönetilen çevrimiçi uç noktalar, Azure İzleyici otomatik ölçeklendirme özelliğiyle tümleştirme yoluyla otomatik ölçeklendirmeyi destekler. Daha fazla bilgi için bkz Gerçek zamanlı çıkarım için çevrimiçi uç noktalar ve dağıtımlar.

Azure İzleyici otomatik ölçeklendirmesi zengin bir kural kümesini destekler:

  • Ölçüm tabanlı ölçeklendirme, örneğin CPU kullanımı >%70
  • Yoğun iş saatleri için ölçeklendirme kuralları gibi zamanlama tabanlı ölçeklendirme
  • İkisinin birleşimi

Daha fazla bilgi için bkz. Otomatik ölçeklendirme çevrimiçi uç noktaları.

Kaynaklarda kotaları ayarlama

AmlCompute bir kota veya sınır yapılandırmasıyla birlikte gelir. Bu kota VM ailesine göredir, örneğin Dv2 serisi veya NCv3 serisi. Kota, her abonelik için bölgeye göre değişir. Abonelikler küçük varsayılan değerlerle başlar. Aboneliğinizde aktif hale getirilebilecek AmlCompute kaynaklarının miktarını denetlemek için bu ayarı kullanın. Daha fazla bilgi için bkz. Azure Machine Learning Compute.

Ayrıca, bir abonelik içindeki her çalışma alanı için VM ailesine göre çalışma alanı düzeyi kotası yapılandırabilirsiniz. Bu yaklaşım, her çalışma alanının neden olabileceği maliyetler üzerinde daha ayrıntılı denetim sağlar ve belirli VM ailelerini kısıtlar. Daha fazla bilgi için bkz . Çalışma alanı düzeyinde kotalar.

Kotaları çalışma alanı düzeyinde ayarlamak için:

  1. Azure portal açın ve aboneliğinizdeki herhangi bir çalışma alanını seçin.

  2. Çalışma alanı menüsünde Destek + Sorun Giderme>Kullanım + kotalar'ı seçin.

  3. Kotaları Azure Machine Learning Studio'da görüntülemek için View quota seçeneğini seçin.

  4. Bu sayfadan, kotaları ayarlamak için aboneliğinizi ve bölgenizi bulabilirsiniz.

    Bu ayar birden çok çalışma alanını etkilediğinden, kotayı ayarlamak için abonelik kapsamında ayrıcalıklara ihtiyacınız vardır.

İş sonlandırma ilkelerini ayarlama

Bazı durumlarda, eğitim çalıştırmalarınızı sürelerini sınırlamak veya erken sonlandırmak için yapılandırmanız gerekir. Örneğin, Azure Machine Learning'in yerleşik hiperparametre ayarlamasını veya otomatik makine öğrenimini kullandığınızda.

Sahip olduğunuz birkaç seçenek şunlardır:

  • Komut işinizin timeout yapılandırmasındaki limits özelliğini ayarlayarak, seçtiğiniz işlemde (yerel veya uzak bulut işlemi) bir çalıştırmanın uzatabileceği maksimum süreyi denetleyin.
  • Hiperparametre ayarlaması için, bir Bant politikası, Ortanca durdurma politikası veya Kırpma seçim politikası'ndan bir erken durdurma politikası tanımlayın. Hiperparametre süpürmelerini daha fazla denetlemek için max_total_trials veya timeout gibi parametreleri kullanın. Daha fazla bilgi için bkz . Erken sonlandırma ilkesini belirtme.
  • Otomatik machine learning için enable_early_termination bayrağını kullanarak benzer sonlandırma ilkeleri ayarlayın. Ayrıca, bir denemenin maksimum süresini veya denemenin tamamını denetlemek için ve trial_timeout_minutes gibi timeout_minutes özellikleri de kullanabilirsiniz. Daha fazla bilgi için Çıkış ölçütleri'ne bakın.

Düşük öncelikli sanal makineleri kullanma

Azure, kullanmadığınız fazla kapasiteyi Düşük Öncelikli VM'ler olarak sanal makine ölçek kümeleri, Batch ve Makine Öğrenimi hizmeti genelinde kullanmanıza olanak tanır. Bu ayırmalar önceden tahmin edilebilir ancak ayrılmış VM'lere kıyasla daha düşük bir fiyata gelir. Genel olarak, Batch iş yükleri için Low-Priority VM'ler önerilir. Ayrıca, Batch Çıkarım için yeniden göndermeler veya derin öğrenme eğitimi için denetim noktası oluşturmayla birlikte yeniden başlatmalar yoluyla kesintilerin kurtarılabildiği durumlarda da bunları kullanmanız gerekir.

Düşük Öncelikli VM'lerin, belirli VM ailesine göre ayrılmış olan özel kotadan ayrı, tek bir kotası vardır. AmlCompute kotaları hakkında daha fazla bilgi için Kotaları yönetme ve artırma başlığına bakınız.

Düşük Öncelikli VM'ler, etkileşimli not defteri deneyimlerini desteklemeleri gerektiğinden işlem örnekleri için çalışmaz.

İşlem örneklerini zamanlama

bir işlem örneği oluşturduğunuzda, vm çalışmanız için kullanılabilir olacak şekilde açık kalır.

  • VM belirli bir süre boyunca boşta olduğunda maliyetten tasarruf etmek için boşta kapatmayı (önizleme) etkinleştirin. Bakınız Boşta Kapatmayı Yapılandırma.
  • Maliyetten tasarruf etmek için kullanılmadığında işlem örneğini (önizleme) otomatik olarak başlatacak ve durduracak bir zamanlama ayarlayın. Bkz. Otomatik başlatma ve durdurma zamanlama.

Ayrılmış örnekleri kullanma

İşlem kaynaklarından tasarruf etmenin bir diğer yolu, Azure Ayrılmış VM Örneğidir. Bu teklifle, bir veya üç yıllık hükümler için taahhütte bulunursunuz. Bu indirimler Standart fiyatların 72% kadar değişir ve doğrudan aylık Azure faturanıza uygulanır.

Azure Machine Learning İşlem, ayrılmış örnekleri doğal olarak destekler. Bir yıllık veya üç yıllık ayrılmış bir örnek satın alırsanız, indirim otomatik olarak Azure Machine Learning yönetilen hesaplama biriminize uygulanır.

Eğitimi paralelleştirme

Maliyeti ve performansı iyileştirmenin temel yöntemlerinden biri, Azure Machine Learning paralel bir bileşenin yardımıyla iş yükünü paralelleştirmektir. Paralel bileşen, görevi paralel olarak çalıştırmak için çok daha küçük düğümler kullanmanıza olanak tanır ve bu da yatay olarak ölçeklendirmenize olanak tanır. Paralelleştirme için bir ek yük vardır. İş yüküne ve elde edilebilecek paralellik derecesine bağlı olarak, bu yaklaşım bir seçenek olabilir. Daha fazla bilgi için bkz. ParallelComponent Sınıfı.

Veri saklama ve silme ilkelerini ayarlama

İşlem hattı her çalıştığında, her adımda ara veri kümeleri oluşturulur. Zaman içinde bu ara veri kümeleri storage hesabınızda yer kaplar. Veri kümelerinizi arşivleyip silmek için yaşam döngüsü boyunca verilerinizi yönetmek için ilkeler ayarlamayı göz önünde bulundurun. Daha fazla bilgi için bkz. Veri yaşam döngüsünü otomatik olarak yöneterek maliyetleri kaldırma.

Kaynakları aynı bölgeye dağıtma

Farklı bölgelerde bulunan işlemlerde ağ gecikme süresi ve artan veri aktarımı maliyetleri yaşanabilir. Azure ağ maliyetleri, Azure veri merkezlerinden giden bant genişliğinden tahakkuk eder. Ağ maliyetlerini azaltmaya yardımcı olmak için bölgedeki tüm kaynaklarınızı dağıtın. verilerinizle aynı bölgede Azure Machine Learning çalışma alanınızı ve bağımlı kaynakları sağlamak, maliyeti düşürmeye ve performansı artırmaya yardımcı olabilir.

ExpressRoute Azure kullananlar gibi hibrit bulut senaryolarında, ağ maliyetlerini ve gecikme süresini iyileştirmek için tüm kaynakları Azure taşımak bazen daha uygun maliyetli olabilir.

Başarısız dağıtımları silme

Yönetilen çevrimiçi uç noktalar, dağıtımlar için VM'leri kullanır. Çevrimiçi dağıtım oluşturma isteği gönderdiyseniz ve başarısız olduysa, istek hesaplama kaynaklarının oluşturulduğu aşamayı geçmiş olabilir. Bu durumda, başarısız bir dağıtım ücrete tabi olur. Hata ayıklamayı veya hata araştırmasını tamamladığınızda, maliyetten tasarruf etmek için başarısız dağıtımları silin.