Azure Machine Learning maliyetlerini yönetme ve iyileştirme

Makine öğrenmesi modellerini eğitip Azure Machine Learning'e dağıtırken maliyetleri yönetmeyi ve iyileştirmeyi öğrenin.

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

  • Eğitim kümelerinizi otomatik ölçeklendirme için yapılandırma
  • Aboneliğinizde ve çalışma alanlarınızda kotalar ayarlama
  • Eğitim işinizde sonlandırma ilkeleri ayarlama
  • Düşük öncelikli sanal makineleri (VM) kullanma
  • İşlem örneklerini otomatik olarak kapanacak ve başlatacak şekilde zamanlama
  • Azure Ayrılmış VM Örneği kullanma
  • Yerel olarak eğit
  • Eğitimi paralelleştirme
  • Veri saklama ve silme ilkelerini ayarlama
  • Kaynakları aynı bölgeye dağıtma

Maliyetleri planlama ve izleme hakkında bilgi için Azure Machine Learning maliyetlerini yönetme planı kılavuzuna bakın.

Ö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 ve üretim iş yükleri için önerilmez. Bazı özellikler desteklenmiyor olabileceği gibi özellikleri sınırlandırılmış da olabilir. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri Ek Kullanım Koşulları.

Azure Machine Learning işlem kümesini kullanma (AmlCompute)

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 şirket içinde 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'ın 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. Azure Machine Learning işlem hakkında daha fazla bilgi edinin.

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'in kullanımda olmayan düğümleri ayırması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çeği azaltmadan ö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ümeleri, REST API'leri ile AmlCompute SDK sınıfı amlCompute CLI kullanılarak Azure portalında değişen iş yükü gereksinimleriniz için yapılandırılabilir.

Kaynaklarda kotaları ayarlama

AmlCompute bir kota (veya sınır) yapılandırmasıyla birlikte gelir. Bu kota VM ailesine (örneğin, Dv2 serisi, NCv3 serisi) göredir ve her abonelik için bölgeye göre değişir. Abonelikler, çalışmaya başlamanız için küçük varsayılan değerlerle başlar, ancak aboneliğinizde kullanılabilir amlcompute kaynaklarının miktarını denetlemek için bu ayarı kullanın.

Ayrıca, bir abonelik içindeki her çalışma alanı için VM ailesine göre çalışma alanı düzeyi kotasını yapılandırın. Bunun yapılması, her çalışma alanının olası olarak ortaya çıkabilecek maliyetler üzerinde daha ayrıntılı denetim sahibi olmanıza ve belirli VM ailelerini kısıtlamanıza olanak tanır.

Kotaları çalışma alanı düzeyinde ayarlamak için Azure portalından başlayın. Aboneliğinizdeki herhangi bir çalışma alanını seçin ve sol bölmede Kullanımlar + kotalar'ı seçin. Ardından kotaları görüntülemek için Kotaları yapılandır sekmesini seçin. Birden çok çalışma alanını etkileyen bir ayar olduğundan kotayı ayarlamak için abonelik kapsamında ayrıcalıklara ihtiyacınız vardır.

İşi otomatik ölçeklendirme 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 hiper parametre ayarlamasını veya otomatik makine öğrenmesini kullanırken.

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

  • Bir çalıştırmanın seçtiğiniz işlemde (yerel veya uzak bulut işlemi) uzatabileceği en uzun süreyi denetlemek için RunConfiguration içinde adlı max_run_duration_seconds bir parametre tanımlayın.
  • Hiper parametre ayarlaması için Bir Eşlem ilkesinden, Ortanca durdurma ilkesinden veya Kesme seçim ilkesinden erken sonlandırma ilkesi tanımlayın. Hiper parametre süpürmelerini daha fazla denetlemek için veya max_duration_minutesgibi max_total_runs parametreleri kullanın.
  • Otomatik makine öğrenmesi için bayrağını enable_early_stopping kullanarak benzer sonlandırma ilkeleri ayarlayın. Ayrıca, bir işin veya tüm denemenin en uzun süresini denetlemek için ve experiment_timeout_minutes gibi iteration_timeout_minutes özellikleri kullanın.

Düşük öncelikli VM’ler kullanma

Azure, sanal makine ölçek kümeleri, Batch ve Machine Learning hizmeti genelinde düşük öncelikli VM'ler olarak fazla unutılmış kapasite kullanmanıza olanak tanır. Bu ayırmalar önceden ampiriktir, ancak ayrılmış VM'lere kıyasla daha düşük bir fiyata gelir. Genel olarak, Batch iş yükleri için Düşük Öncelikli VM'leri kullanmanızı öneririz. Ayrıca, kesintilerin yeniden göndermeler (Batch Çıkarım için) veya yeniden başlatmalar (denetim noktası oluşturma ile derin öğrenme eğitimi için) aracılığıyla kurtarılabilir olduğu durumlarda da kullanmanız gerekir.

Düşük Öncelikli VM'lerin ayrılmış kota değerinden ayrı tek bir kotası vardır ve bu da VM ailesi tarafından gerçekleştirilen bir kotadır. AmlCompute kotaları hakkında daha fazla bilgi edinin.

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.

Ayrılmış örnekleri kullanma

İşlem kaynaklarında tasarruf etmenin bir diğer yolu da Azure Ayrılmış VM Örneği'dir. Bu teklifle, bir veya üç yıllık hükümler için taahhütte bulunursunuz. Bu indirimler kullandıkça öde fiyatlarının %72'sine 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ış örnek satın alırsanız Azure Machine Learning yönetilen işleminize otomatik olarak indirim uygularız.

Eğitimi paralelleştirme

Maliyeti ve performansı iyileştirmenin temel yöntemlerinden biri, Azure Machine Learning'de paralel bir bileşenin yardımıyla iş yükünü paralelleştirmektir. Paralel bir bileşen, görevi paralel olarak yürütmek için çok daha küçük düğümler kullanmanıza olanak tanır, bu nedenle 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 bir seçenek olabilir veya olmayabilir. Diğer ayrıntılar için ParallelComponent belgeleri için bu bağlantıyı izleyin.

Veri saklama ve silme ilkelerini ayarlama

bir işlem hattı her yürütülürken, her adımda ara veri kümeleri oluşturulur. Zaman içinde bu ara veri kümeleri depolama 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. Azure Blob Depolama erişim katmanlarını otomatikleştirerek maliyetleri iyileştirme.

Kaynakları aynı bölgeye dağıtma

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

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

Sonraki adımlar