Aracılığıyla paylaş


Azure Machine Learning maliyetlerini yönetme ve iyileştirme

Bu makalede, makine öğrenmesi modellerini eğitip Azure Machine Learning'e dağıtırken maliyetleri yönetme ve iyileştirme adımları 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ş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
  • 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 maliyetlerini yönetmeyi planlama.

Ö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 Ek 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 ş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. Daha fazla bilgi için bkz . Azure Machine Learning maliyetlerini yönetmeyi planlama.

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ü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 aracılığıyla 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 . Çevrimiçi uç noktaları otomatik ölçeklendirme.

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 kullanılabilir AmlCompute kaynaklarının miktarını denetlemek için bu ayarı kullanın. Daha fazla bilgi için bkz . Azure Machine Learning İşlem.

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ını 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 stüdyosu görüntülemek için Kotayı görüntüle'yi 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 hiper parametre ayarlamasını veya otomatik makine öğrenmesini kullandığınızda.

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. Daha fazla bilgi için bkz . Erken sonlandırma ilkesini belirtme.
  • Otomatik makine öğrenmesi için bayrağını enable_early_stopping kullanarak benzer sonlandırma ilkeleri ayarlayın. Ayrıca, bir işin en uzun süresini veya tüm denemeyi denetlemek için ve experiment_timeout_minutes gibi iteration_timeout_minutes özellikleri de kullanabilirsiniz. Daha fazla bilgi için bkz . Çıkış ölçütü.

Düşük öncelikli sanal makineleri kullanma

Azure, sanal makine ölçek kümeleri, Batch ve Machine Learning hizmeti genelinde düşük öncelikli VM'ler olarak fazla kullanılmayan kapasiteyi 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 Düşük Öncelikli VM'leri kullanmanızı öneririz. Ayrıca, Batch Çıkarım için yeniden göndermeler veya denetim noktası oluşturma ile derin öğrenme eğitimi için yeniden başlatmalar aracılığıyla kesintilerin kurtarılabilir olduğu durumlarda da bunları 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 için bkz . Kotaları yönetme ve artırma .

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. Bkz . 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ı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 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 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 . Veri yaşam döngüsünü otomatik olarak yöneterek maliyetleri iyileştirme.

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

Azure 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.

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, işlem oluşturulduğunda istek aşamayı geçmiş olabilir. Bu durumda, başarısız dağıtım ücrete tabi olacaktır. 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.