Mimari Azure Machine Learning nasıl çalışır? Mimari ve kavramlar

Azure Machine Learning için mimari ve kavramlar hakkında bilgi Azure Machine Learning. Bu makale, bileşenleri ve bunların makine öğrenmesi modellerini oluşturma, dağıtma ve koruma sürecine yardımcı olmak için birlikte nasıl birlikte çalışıldıklarına üst düzey bir anlayış sağlar.

Çalışma alanı

Makine öğrenmesi çalışma alanı, sanal makine öğrenmesi için en Azure Machine Learning.

Diyagram: Azure Machine Learning ve bileşenlerinin mimarisini oluşturma

Çalışma alanı şunların merkezi olduğu yerdir:

Çalışma alanı, çalışma alanı tarafından kullanılan diğer Azure kaynaklarını içerir:

  • Azure Container Registry (ACR): Eğitim sırasında ve model dağıtırken kullanabileceğiniz docker kapsayıcılarını kaydetme. Maliyetleri en aza indirmek için ACR yalnızca dağıtım görüntüleri oluşturulduğunda oluşturulur.
  • Azure Depolama hesabı:Çalışma alanı için varsayılan veri deposu olarak kullanılır. İşlem örnekleriniz ile birlikte kullanılan Jupyter Azure Machine Learning örnekleri de burada depolanır.
  • Azure Application Analizler:Modelleriniz hakkında izleme bilgilerini depolar.
  • Azure Key Vault:İşlem hedefleri tarafından kullanılan gizli dizileri ve çalışma alanı için gereken diğer hassas bilgileri depolar.

Çalışma alanını başkalarla paylaşabilirsiniz.

Hesaplar

İşlem hedefi, eğitim betiğinizi çalıştırmak veya hizmet dağıtımınızı barındırmak için kullanabileceğiniz herhangi bir makine veya makine kümesidir. Yerel makinenizi veya uzak işlem kaynağınızı işlem hedefi olarak kullanabilirsiniz. İşlem hedefleri ile, yerel makineniz üzerinde eğitime başlayabilir ve ardından eğitim betiğinizi değiştirmeden ölçeği buluta ölçeklendirin.

Azure Machine Learning makine öğrenmesi görevleri için yapılandırılmış, tam olarak yönetilen iki bulut tabanlı sanal makine (VM) sunar:

  • İşlem örneği: İşlem örneği, makine öğrenmesi için yüklenmiş birden çok araç ve ortam içeren bir VM'dir. İşlem örneğinin birincil kullanımı geliştirme iş istasyonu için kullanılır. Kuruluma gerek yoktur ve örnek not defterlerini çalıştırmaya başlayabilirsiniz. İşlem örneği, eğitim ve çıkarım işleri için işlem hedefi olarak da kullanılabilir.

  • İşlem kümeleri: İşlem kümeleri, çok düğümlü ölçeklendirme özelliklerine sahip vm'lerden oluşur. İşlem kümeleri büyük işler ve üretim için işlem hedefleri için daha uygun olur. Bir iş gönderilirken küme otomatik olarak ölçeklenir. Eğitim işlem hedefi veya geliştirme/test dağıtımı için kullanın.

eğitim işlem hedefleri hakkında daha fazla bilgi için bkz. Eğitim işlem hedefleri. Dağıtım işlem hedefleri hakkında daha fazla bilgi için bkz. Dağıtım hedefleri.

Veri kümeleri ve veri deposu

Azure Machine Learning kümeleri, verilerinize erişmeyi ve verilerinizle çalışmanızı kolaylaştırır. Bir veri kümesi oluşturarak, meta veri kopyasıyla birlikte veri kaynağı konumu için bir başvuru oluşturabilirsiniz. Veriler mevcut konumda olduğu için ek depolama maliyetine neden olmaz ve veri kaynaklarınızı bütünlüğünü riske atmanıza gerek yoktur.

Daha fazla bilgi için bkz. Veri Kümeleri Azure Machine Learning kaydetme. Veri kümelerini kullanma hakkında daha fazla örnek için bkz. örnek not defterleri.

Veri kümeleri, Azure depolama hizmetlerinize güvenli bir şekilde bağlanmak için veri depolarını kullanır. Veri depoları, kimlik doğrulaması kimlik bilgilerinizi ve özgün veri kaynağınızı bütünlüğünü riske atmadan bağlantı bilgilerini depolar. Abonelik kimliğiniz ve belirteç yetkilendirmeniz gibi bağlantı bilgilerini çalışma alanıyla ilişkilendirilmiş Key Vault depolama alanınıza erişebilirsiniz. Bu nedenle, bunları betiğinize sabit kodlamanıza gerek kalmadan güvenli bir şekilde erişebilirsiniz.

Ortamlar

Çalışma alanı > Ortamlar

Ortam, makine öğrenmesi modelinizi eğitme veya puanlamanın olduğu ortamın kapsüllemesidir. Ortam Python paketlerini, ortam değişkenlerini ve eğitim ve puanlama betikleri ile ilgili yazılım ayarlarını belirtir.

Kod örnekleri için Ortamları kullanma bölümündeki "Ortamları yönetme" bölümüne bakın.

Denemeler

Çalışma alanı > Denemeler

Deneme, belirtilen betikten çok sayıda çalıştırmanın gruplamadır. Her zaman bir çalışma alanına aittir. Bir çalıştırma gönderdiğinizde bir deneme adı sağlar. Çalıştırmayla ilgili bilgiler bu denemenin altında depolanır. Deneme gönderdiğinizde ad yoksa otomatik olarak yeni bir deneme oluşturulur.

Deneme kullanma örneği için bkz. Öğretici: İlk modelinizi eğitin.

Çalıştırmalar

Çalışma alanı > Denemeler > Çalıştır

Çalıştırma, eğitim betiği yürütmenin tek bir yürütmesidir. Bir deneme genellikle birden çok çalıştırma içerir.

Azure Machine Learning çalıştırmaları kaydeden ve denemede aşağıdaki bilgileri depolar:

  • Çalıştırmayla ilgili meta veriler (zaman damgası, süre ve diğer)
  • Betiğiniz tarafından günlüğe kaydedilen ölçümler
  • Deneme tarafından otomatik olarak yüklenen veya sizin yüklediğiniz çıkış dosyaları
  • Çalıştırmadan önce betiklerinizi içeren dizinin anlık görüntüsü

Modeli eğitmek için betik gönderdiğinizde çalıştırma üretirsiniz. Bir çalıştırmanın sıfır veya daha fazla alt çalıştırması olabilir. Örneğin, üst düzey çalıştırmanın her biri kendi alt çalıştırması olan iki alt çalıştırması olabilir.

Yapılandırmaları çalıştırma

Çalışma alanı > Denemeler > Çalıştır > Yapılandırmayı çalıştırma

Çalıştırma yapılandırması, bir betiğin belirtilen işlem hedefini nasıl çalıştıracaklarını tanımlar. Betiği, işlem hedefini ve Azure ML ortamını, dağıtılan işe özgü yapılandırmaları ve bazı ek özellikleri belirtmek için yapılandırmayı kullanırsınız. Çalıştırmalar için yapılandırılabilir seçeneklerin tam kümesi hakkında daha fazla bilgi için bkz. ScriptRunConfig.

Çalıştırma yapılandırması, eğitim betiğinizi içeren dizinin içindeki bir dosyada kalıcı olabilir. Veya bir bellek içinde nesnesi olarak oluşturulur ve bir çalıştırma göndermek için kullanılabilir.

Örneğin yapılandırmaları çalıştırma, bkz. Eğitim çalıştırması yapılandırma.

Anlık Görüntüler

Çalışma alanı > Denemeler > Çalıştır > Anlık Görüntü

Bir çalıştırma gönderdiğinizde, Azure Machine Learning içeren dizini zip dosyası olarak sıkıştırır ve işlem hedefine gönderir. Zip dosyası daha sonra ayıklanır ve betik orada çalıştırıldı. Azure Machine Learning, zip dosyasını çalıştırma kaydının bir parçası olarak anlık görüntü olarak da depolar. Çalışma alanına erişimi olan herkes bir çalıştırma kaydına göz atabilir ve anlık görüntüyü indirebilir.

Günlüğe Kaydetme

Azure Machine Learning ölçümlerini sizin için otomatik olarak günlüğe kaydeder. Ancak, rastgele ölçümleri günlüğe kaydı için Python SDK'sı da kullanabilirsiniz.

Günlüklerinizi görüntülemenin birden çok yolu vardır: çalıştırma durumunu gerçek zamanlı olarak izleme veya tamamlandıktan sonra sonuçları görüntüleme. Daha fazla bilgi için bkz. Çalıştırma günlüklerini izleme ML görüntüleme.

Not

Gereksiz dosyaların anlık görüntüye eklenmesini engellemek için, dizinde bir yoksayma dosyası ( .gitignore veya .amlignore ) oluşturun. Dışlanacak dosyaları ve dizinleri bu dosyaya ekleyin. Bu dosya içinde kullanılacak sözdizimi hakkında daha fazla bilgi için bkz. sözdizimi ve desenleri .gitignore . .amlignoreDosya aynı sözdizimini kullanır. Her iki dosya da varsa .amlignore dosya kullanılır ve .gitignore Dosya kullanılmaz.

Git izleme ve tümleştirme

Kaynak dizinin yerel Bir Git deposu olduğu bir eğitim çalıştırması başlatacak olurken, depoyla ilgili bilgiler çalıştırma geçmişinde depolanır. Bu, bir betik çalıştırma yapılandırması veya işlem hattı kullanılarak gönderilen ML çalışır. Ayrıca SDK veya Machine Learning CLI'dan gönderilen çalıştırmalar için de çalışır.

Daha fazla bilgi için bkz. Azure Machine Learning.

Eğitim iş akışı

Bir modeli eğitmek için bir deneme çalıştırarak aşağıdaki adımlar uzer. Bunlar aşağıdaki eğitim iş akışı diyagramında gösterilmektedir:

  • Azure Machine Learning, önceki bölümde kaydedilen kod anlık görüntüsünün anlık görüntü kimliğiyle çağırılır.

  • Azure Machine Learning bir çalıştırma kimliği (isteğe bağlı) ve Machine Learning hizmet belirteci oluşturur. bu, daha sonra Machine Learning hizmetiyle iletişim kurmak için Machine Learning işlem/vm 'ler gibi işlem hedefleri tarafından daha sonra kullanılır.

  • eğitim işlerini çalıştırmak için yönetilen bir işlem hedefi (Machine Learning işlem) veya yönetilmeyen bir işlem hedefi (vm 'ler gibi) seçebilirsiniz. Her iki senaryo için de veri akışları aşağıda verilmiştir:

    • Microsoft aboneliğindeki bir anahtar kasasında SSH kimlik bilgileri tarafından erişilen VM 'Ler/HDInsight. Azure Machine Learning, işlem hedefinde yönetim kodu çalıştırır:
    1. Ortamı hazırlar. (Docker, VM 'Ler ve yerel bilgisayarlar için bir seçenektir. denemeleri 'ın docker kapsayıcılarında nasıl çalıştığını anlamak için Machine Learning işlem için aşağıdaki adımlara bakın.)
    2. Kodu indirir.
    3. Ortam değişkenlerini ve konfigürasyonları ayarlar.
    4. Kullanıcı komut dosyalarını çalıştırır (önceki bölümde bahsedilen kod anlık görüntüsü).
    • Machine Learning Çalışma alanı tarafından yönetilen bir kimlikle erişilen işlem. Machine Learning işlem, yönetilen bir işlem hedefi olduğundan (microsoft tarafından yönetilen), microsoft aboneliğiniz kapsamında çalışır.
    1. Gerekirse uzak Docker oluşturma kapalıdır.
    2. Yönetim kodu kullanıcının Azure dosya paylaşımında yazılır.
    3. Kapsayıcı bir başlangıç komutuyla başlatılır. Diğer bir deyişle, önceki adımda açıklandığı gibi yönetim kodu.
  • Çalıştırma tamamlandıktan sonra, çalıştırmaları ve ölçümleri sorgulayabilirsiniz. aşağıdaki akış diyagramında, bu adım, eğitim işlem hedefi Cosmos DB veritabanındaki depolamadan Azure Machine Learning için yeniden çalıştırma ölçümleri yazdığında meydana gelir. İstemciler, Azure Machine Learning çağırabilir. Machine Learning, Cosmos DB veritabanından çekme ölçümlerini açıp istemciye geri döndürmeyecektir.

Eğitim iş akışı

Modeller

En basit olan model, bir girişi alan ve çıkış üreten bir kod parçasıdır. Machine Learning modeli oluşturmak, bir algoritma seçmeyi, verileri verilerle sağlamayı ve hiper parametreleri ayarlamayıiçerir. Eğitim, eğitilen bir model üreten ve eğitim sürecinde modelin öğrendiği bir işlem olan yinelemeli bir işlemdir.

Azure Machine Learning dışında eğitilen bir modeli getirebilirsiniz. Ya da Azure Machine Learning bir işlem hedefine bir deneme çalıştırması göndererek modeli eğitebilirsiniz. Bir modelinize sahip olduktan sonra modeli çalışma alanına kaydedersiniz .

Azure Machine Learning çerçeve agstik. Bir model oluşturduğunuzda, Scikit-öğren, XGBoost, PyTorch, TensorFlow ve Chainer gibi popüler Machine Learning çerçevesini kullanabilirsiniz.

Scikit-öğrenme kullanarak bir modele eğitim verme örneği için bkz. öğretici: görüntü sınıflandırma modelini Azure Machine Learning Ile eğitme.

Model kayıt defteri

Çalışma alanı > Modeller

model kayıt defteri , Azure Machine Learning çalışma alanınızdaki tüm modelleri izlemenize olanak sağlar.

Modeller ad ve sürüm ile tanımlanır. Varolan bir adla aynı ada sahip bir modeli her kaydettiğinizde kayıt defteri yeni bir sürüm olduğunu varsayar. Sürüm artırılır ve yeni model aynı adla kaydedilir.

Modeli kaydettiğinizde, ek meta veri etiketleri sağlayabilir ve ardından modeller ararken etiketleri kullanabilirsiniz.

İpucu

Kayıtlı bir model, modelinizi oluşturan bir veya daha fazla dosya için mantıksal bir kapsayıcıdır. örneğin, birden çok dosyada depolanan bir modeliniz varsa, bunları Azure Machine Learning çalışma alanınızda tek bir model olarak kaydedebilirsiniz. Kayıttan sonra, kayıtlı modeli indirebilir veya dağıtabilir ve kayıtlı tüm dosyaları alabilirsiniz.

Etkin bir dağıtım tarafından kullanılan kayıtlı bir modeli silemezsiniz.

Bir modeli kaydetme örneği için bkz. Azure Machine Learning görüntü sınıflandırma modelini eğitme.

Dağıtım

Kayıtlı bir modeli hizmet uç noktası olarak dağıtırsınız. Aşağıdaki bileşenlere ihtiyacınız vardır:

  • Ortam. Bu ortam, modelinizi çıkarım için çalıştırmak için gereken bağımlılıkları kapsüller.
  • Puanlama kodu. Bu betik istekleri kabul eder, modeli kullanarak istekleri puan eder ve sonuçları döndürür.
  • Çıkarım yapılandırması. Çıkarım yapılandırması, modeli bir hizmet olarak çalıştırmak için gereken ortamı, giriş betiğini ve diğer bileşenleri belirtir.

Bu bileşenler hakkında daha fazla bilgi için bkz. Azure Machine Learning modelleri dağıtma.

Uç Noktalar

Çalışma alanı > Uç noktalar

Uç nokta, modelinizde, bulutta barındırılabilen bir Web hizmetine bir örneklemedir.

Web hizmeti uç noktası

Bir modeli Web hizmeti olarak dağıtırken, uç nokta Azure Container Instances, Azure Kubernetes hizmeti veya FPGAs üzerinde dağıtılabilir. Hizmeti modelinizde, betiğinizden ve ilişkili dosyalardan oluşturursunuz. Bunlar, modelin yürütme ortamını içeren bir temel kapsayıcı görüntüsüne yerleştirilir. Görüntüde, Web hizmetine gönderilen Puanlama isteklerini alan, yük dengeli bir HTTP uç noktası bulunur.

web hizmetinizi izlemek için telemetri veya model telemetrisini Application Insights sağlayabilirsiniz. Telemetri verilerine yalnızca sizin erişebilirsiniz. Application Insights ve depolama hesabı örneklerinizin içinde depolanır. Otomatik ölçeklendirmeyi etkinleştirdiyseniz, Azure dağıtımınızı otomatik olarak ölçeklendirir.

Aşağıdaki diyagramda, Web hizmeti uç noktası olarak dağıtılan bir model için çıkarım iş akışı gösterilmektedir:

Ayrıntılar aşağıda verilmiştir:

  • kullanıcı, Azure Machine Learning SDK gibi bir istemciyi kullanarak bir modeli kaydeder.
  • Kullanıcı bir model, bir puan dosyası ve diğer model bağımlılıklarını kullanarak bir görüntü oluşturur.
  • Docker görüntüsü oluşturulup Azure Container Registry depolanır.
  • Web hizmeti, önceki adımda oluşturulan görüntüyü kullanarak işlem hedefine (Container Instances/AKS) dağıtılır.
  • puanlama isteği ayrıntıları, kullanıcı aboneliğindeki Application Insights depolanır.
  • Telemetri ayrıca Microsoft/Azure aboneliğine de gönderilir.

Çıkarım iş akışı

Bir modeli Web hizmeti olarak dağıtmaya ilişkin bir örnek için, bkz. Azure Container Instances bir görüntü sınıflandırma modeli dağıtma.

Gerçek zamanlı uç noktalar

Tasarımcıda eğitilen bir model dağıttığınızda, modeli gerçek zamanlı bir uç nokta olarak dağıtabilirsiniz. Gerçek zamanlı bir uç nokta, genellikle REST uç noktası aracılığıyla tek bir istek alır ve gerçek zamanlı bir tahmin döndürür. Bu, aynı anda birden çok değeri işleyen ve bir veri deposuna tamamlandığında sonuçları kaydeden toplu işleme karşıtlığına karşılık gelir.

Ardışık düzen uç noktaları

ardışık düzen uç noktaları, bir REST uç noktası aracılığıyla ML Pipelines program aracılığıyla aramanızı sağlar. Ardışık düzen uç noktaları, işlem hattı iş akışlarınızı otomatikleştirmenizi sağlar.

Ardışık düzen uç noktası yayımlanmış işlem hatları koleksiyonudur. Bu mantıksal kuruluş aynı uç noktayı kullanarak birden çok işlem hattını yönetmenizi ve çağırmanızı sağlar. Bir ardışık düzen uç noktasındaki yayımlanan her bir ardışık düzen sürümlüdür. Uç nokta için varsayılan bir işlem hattı seçebilir veya REST çağrısında bir sürüm belirtebilirsiniz.

Otomasyon

Azure Machine Learning CLI

Azure Machine Learning clı , azure platformu için platformlar arası komut satırı arabirimi olan azure clı 'nin bir uzantısıdır. Bu uzantı, makine öğrenimi etkinliklerinizi otomatikleştirmek için komutlar sağlar.

ML Pipelines

Machine Learning işlem hatlarını kullanarak makine öğrenimi aşamalarını birlikte akışlı iş akışları oluşturabilir ve yönetebilirsiniz. Örneğin, bir işlem hattı veri hazırlığı, model eğitimi, model dağıtımı ve çıkarım/Puanlama aşamaları içerebilir. Her aşama, her biri çeşitli işlem hedeflerinde katılımsız olarak çalışabilen birden çok adımı kapsayabilir.

İşlem hattı adımları yeniden kullanılabilir ve bu adımların çıkışı değişmemişse önceki adımları yeniden çalıştırmadan çalıştırılabilir. Örneğin, veriler değişmemişse maliyetli veri hazırlama adımlarını yeniden çalıştırmadan bir modeli yeniden eğitebilirsiniz. Pipelines ayrıca, makine öğrenimi iş akışının ayrı alanlarında çalışırken veri bilimcilerinin işbirliği yapmasına de olanak tanır.

İzleme ve günlüğe kaydetme

Azure Machine Learning aşağıdaki izleme ve günlüğe kaydetme yeteneklerini sağlar:

Çalışma alanınız ile etkileşim kurma

Studio

Azure Machine Learning studio , çalışma alanınızdaki tüm yapıtların bir web görünümünü sağlar. Veri kümelerinizin, denemeleri, işlem hatlarının, modellerinizin ve uç noktaların sonuçlarını ve ayrıntılarını görüntüleyebilirsiniz. Ayrıca, Studio 'daki işlem kaynaklarını ve veri depolarını yönetebilirsiniz.

Ayrıca, Azure Machine Learning parçası olan etkileşimli araçlara de erişebilirsiniz:

Programlama araçları

Önemli

Aşağıda işaretlenmiş araçlar (Önizleme) Şu anda genel önizlemede. Ö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ı.

Sonraki adımlar

Azure Machine Learning kullanmaya başlamak için bkz.: