Azure’da Python modellerinin toplu puanlaması

Azure Container Registry
Azure Event Hubs
Azure Machine Learning
Azure SQL Database
Azure Stream Analytics

Bu mimari kılavuzunda Azure Machine Learning toplu puanlama modelleri için ölçeklenebilir bir çözümün nasıl derlenmesi gösterilmektedir. Çözüm şablon olarak kullanılabilir ve farklı sorunlara genelleştirilebilir.

Mimari

Azure'da Python modellerinin toplu puanlama işlemini gösteren mimari diyagramı

Bu mimarinin bir Visio dosyasını indirin.

İş Akışı

Bu mimari kılavuzu, alma işleminin veri türüne uyarlanması koşuluyla hem akış hem de statik veriler için geçerlidir. Aşağıdaki adımlar ve bileşenler, bu iki veri türünün alımını açıklar.

Akış verileri:

  1. Akış verileri, yeni olayların sık aralıklarla akışa alındığı IoT Algılayıcılarından kaynaklanır.
  2. Gelen akış olayları Azure Event Hubs kullanılarak kuyruğa alınır ve ardından Azure Stream Analytics kullanılarak önceden işlenir.
    • Azure Event Hubs. Bu ileti alma hizmeti saniyede milyonlarca olay iletisi alabilir. Bu mimaride algılayıcılar olay hub'ına bir veri akışı gönderir.
    • Azure Stream Analytics. Olay işleme altyapısı. Stream Analytics işi, olay hub'ından veri akışlarını okur ve akış işleme gerçekleştirir.

Statik veriler:

  1. Statik veri kümeleri, Azure Data Lake Depolama içinde veya Azure Synapse veya Azure SQL Veritabanı'da tablo biçiminde dosya olarak depolanabilir.
  2. Azure Data Factory , depolanan veri kümesini toplamak veya önceden işlemek için kullanılabilir.

Veri alımından sonra kalan mimari hem akış hem de statik veriler için eşittir ve aşağıdaki adımlardan ve bileşenlerden oluşur:

  1. Alınan, toplanan veya önceden işlenen veriler, Azure Data Lake Depolama içinde veya Azure Synapse veya Azure SQL Veritabanı'datablo biçiminde belge olarak depolanabilir. Daha sonra bu veriler Azure Machine Learning tarafından kullanılacaktır.
  2. Azure Machine Learning , makine öğrenmesi modellerini büyük ölçekte eğitmak, dağıtmak ve yönetmek için kullanılır. Toplu puanlama bağlamında Azure Machine Learning, işlerin Python betikleri itibarıyla paralel olarak yürütüldüğü otomatik ölçeklendirme seçeneğine sahip bir sanal makine kümesi oluşturur.
  3. Modeller Yönetilen Toplu İş Uç Noktaları olarak dağıtılır ve daha sonra bir süre boyunca büyük hacimli verilerde toplu çıkarım yapmak için kullanılır. Toplu iş uç noktaları verilere işaretçiler alır ve işlem kümelerinde verileri paralel olarak işlemek için işleri zaman uyumsuz çalıştırır.
  4. Çıkarım sonuçları, Azure Data Lake Depolama içinde belge olarak veya Azure Synapse veya Azure SQL Veritabanı'datablo biçiminde depolanabilir.
  5. Görselleştirme: Depolanan model sonuçları, Power BI panoları gibi kullanıcı arabirimleri veya özel olarak oluşturulmuş web uygulamaları aracılığıyla kullanılabilir.

Bileşenler

Dikkat edilmesi gereken noktalar

Bu önemli noktalar, bir iş yükünün kalitesini artırmak için kullanılabilecek bir dizi yol gösteren ilke olan Azure İyi Tasarlanmış Çerçeve'nin yapı taşlarını uygular. Daha fazla bilgi için bkz . Microsoft Azure İyi Tasarlanmış Çerçeve.

Performans

Standart Python modellerinde CPU'ların iş yükünü işlemek için yeterli olduğu genel olarak kabul edilir. Bu mimaride CPU'lar kullanılır. Ancak derin öğrenme iş yükleri için grafik işleme birimleri (GPU) genellikle CPU'lardan önemli ölçüde daha yüksektir; karşılaştırılabilir performans elde etmek için genellikle büyük bir CPU kümesi gerekir.

VM'ler ve çekirdekler arasında paralelleştirme

Toplu iş modunda birçok modelin puanlama işlemlerini çalıştırdığınızda işlerin VM'ler arasında paralelleştirilmesi gerekir. İki yaklaşım mümkündür:

  • Düşük maliyetli VM'leri kullanarak daha büyük bir küme oluşturun.
  • Her birinde daha fazla çekirdek bulunan yüksek performanslı VM'leri kullanarak daha küçük bir küme oluşturun.

Genel olarak, standart Python modellerinin puanlanması derin öğrenme modellerinin puanlanması kadar zorlu değildir ve küçük bir küme çok sayıda kuyruğa alınmış modeli verimli bir şekilde işleyebilmelidir. Veri kümesi boyutları arttıkça küme düğümlerinin sayısını artırabilirsiniz.

Bu senaryoda kolaylık sağlamak için tek bir Azure Machine Learning işlem hattı adımında bir puanlama görevi gönderilir. Ancak, aynı işlem hattı adımında birden çok veri öbeği puanlama daha verimli olabilir. Bu gibi durumlarda, birden çok veri kümesinde okumak için özel kod yazın ve tek adımlı yürütme sırasında puanlama betiğini yürütür.

Yönetim

  • İşleri izleme. Çalışan işlerin ilerleme durumunu izlemek önemlidir. Ancak, bir etkin düğüm kümesi genelinde izlemek zor olabilir. Kümedeki düğümlerin durumunu incelemek için Azure portalını kullanarak Machine Learning çalışma alanını yönetin. Düğüm etkin değilse veya bir iş başarısız olduysa, hata günlükleri blob depolamaya kaydedilir ve İşlem Hatları bölümünden de erişilebilir. Daha zengin izleme için günlükleri Uygulama Analizler bağlayın veya kümenin ve işlerinin durumunu yoklama amacıyla ayrı işlemler çalıştırın.
  • Günlüğe kaydetme. Machine Learning tüm stdout/stderr değerlerini ilişkili Azure Depolama hesabına kaydeder. Günlük dosyalarını kolayca görüntülemek için Azure Depolama Gezgini gibi bir depolama gezinti aracı kullanın.

Maliyet iyileştirme

Maliyet iyileştirmesi, gereksiz giderleri azaltmanın ve operasyonel verimlilikleri iyileştirmenin yollarını aramaktır. Daha fazla bilgi için bkz . Maliyet iyileştirme sütununa genel bakış.

Bu mimari kılavuzunda kullanılan en pahalı bileşenler işlem kaynaklarıdır. İşlem kümesi boyutu, kuyruktaki işlere bağlı olarak ölçeği artırıp küçültür. İşlemin sağlama yapılandırmasını değiştirerek Python SDK'sı aracılığıyla program aracılığıyla otomatik ölçeklendirmeyi etkinleştirin. Veya azure CLI kullanarak kümenin otomatik ölçeklendirme parametrelerini ayarlayabilirsiniz.

Hemen işleme gerektirmeyen işler için, otomatik ölçeklendirme formülünü varsayılan durum (en düşük) sıfır düğüm kümesi olacak şekilde yapılandırın. Bu yapılandırmayla küme sıfır düğümle başlar ve yalnızca kuyruktaki işleri algıladığında ölçeği artırır. Toplu puanlama işlemi günde yalnızca birkaç kez veya daha az gerçekleşirse, bu ayar önemli maliyet tasarrufu sağlar.

Otomatik ölçeklendirme, birbirine çok yakın olan toplu işler için uygun olmayabilir. Kümenin çalışması ve kapanması için geçen süre bir maliyete neden olduğundan, bir toplu iş yükü önceki iş bittikten yalnızca birkaç dakika sonra başlarsa, kümenin işler arasında çalışmasını sağlamak daha uygun maliyetli olabilir. Bu strateji, puanlama işlemlerinin yüksek sıklıkta (örneğin saatte bir) veya daha az sıklıkta (örneğin ayda bir) çalışacak şekilde zamanlanıp zamanlanmadığına bağlıdır.

Katkıda Bulunanlar

Bu makale Microsoft tarafından yönetilir. Başlangıçta aşağıdaki katkıda bulunanlar tarafından yazılmıştır.

Asıl yazarlar:

Genel olmayan LinkedIn profillerini görmek için LinkedIn'de oturum açın.

Sonraki adımlar

Ürün belgeleri:

Microsoft Learn modülleri: