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 Bkz. Azure Machine Learning maliyetlerini yönetme planı kılavuzu.

Önemli

Bu makalede işaretlenmiş (ö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 için 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, eğitiminizi altyapınızın geri kalanıyla aynı güvenlik ve uyumluluk gereksinimleriyle 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ınıza ölçeklendirir.

Önemli

Hiçbir iş çalışmadığında ücretlerden kaçınmak 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 önceki 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 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 CLI sınıfı kullanılarak Azure portal'de değişen iş yükü gereksinimleriniz için yapılandırılabilir.

Kaynaklarda kota 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 ortaya çıkabilecek maliyetler üzerinde daha ayrıntılı denetim sahibi olmanıza ve belirli VM ailelerini kısıtlamanıza olanak tanır.

Çalışma alanı düzeyinde kota ayarlamak için Azure portal 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ı yapılandır sekmesini seçerek kotaları görüntüleyin. Birden çok çalışma alanını etkileyen bir ayar olduğundan, kotayı ayarlamak için abonelik kapsamında ayrıcalıklara sahip olmanız gerekir.

İş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 Bant 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 vm'ler Low-Priority fazla unutılmış kapasiteyi kullanmanıza olanak tanır. Bu ayırmalar önceden uygulanabilir ancak ayrılmış VM'lere kıyasla daha düşük bir fiyata gelir. Genel olarak, Batch iş yükleri için Low-Priority 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.

Low-Priority 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.

Low-Priority 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 yıllık veya üç yıllık dönemler 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 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. Elde edilebilecek iş yüküne ve 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 & silme ilkelerini ayarlama

Bir işlem hattı her çalıştırıldığında, 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, maliyetin düşmesine ve performansın artırılmasına 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