Azure Machine Learning ile modelleri eğitme

ŞUNLAR İÇİN GEÇERLİDİR: Python SDK azure-ai-ml v2 (güncel)

Azure Machine Learning, SDK kullanan kod öncelikli çözümlerden otomatik makine öğrenmesi ve görsel Tasarımcı gibi düşük kod çözümlerine kadar modellerinizi eğitmek için çeşitli yollar sağlar. Hangi eğitim yönteminin size uygun olduğunu belirlemek için aşağıdaki listeyi kullanın:

  • Python için Azure Machine Learning SDK'sı: Python SDK'sı, her birinde farklı özelliklere sahip modelleri eğitmek için çeşitli yollar sağlar.

    Eğitim yöntemi Açıklama
    command() Modelleri eğitmek için tipik bir yol, eğitim betiği, ortam ve işlem bilgileri içeren bir command() göndermektir.
    Otomatik makine öğrenmesi Otomatik makine öğrenmesi, kapsamlı veri bilimi veya programlama bilgisi olmadan modelleri eğitmenize olanak tanır. Veri bilimi ve programlama geçmişi olan kişiler için algoritma seçimini ve hiper parametre ayarlamasını otomatikleştirerek zaman ve kaynak tasarrufu sağlamanın bir yolunu sağlar. Otomatik ML işini görev türü, eğitim verileri, hedef sütun, işlem ve sınırlar gibi ayarlarla yapılandırmaya devam edebilirsiniz.
    Makine öğrenmesi işlem hattı İşlem hatları farklı bir eğitim yöntemi değildir, ancak iş akışının bir parçası olarak eğitim içerebilen modüler, yeniden kullanılabilir adımları kullanarak iş akışı tanımlamanın bir yoludur. Makine öğrenmesi işlem hatları, modelleri eğitmek için otomatik makine öğrenmesi ve komut işlerinin kullanılmasını destekler. İşlem hatları özellikle eğitime odaklanmadığından, işlem hattı kullanmanın nedenleri diğer eğitim yöntemlerine göre daha çeşitlidir. Genellikle işlem hattını şu durumlarda kullanabilirsiniz:
    * Uzun süren eğitim görevleri veya veri hazırlama gibi gözetimsiz işlemleri zamanlamak istiyorsunuz.
    * Heterojen işlem kaynakları ve depolama konumları arasında eşgüdümlü birden çok adım kullanın.
    * İşlem hattını yeniden eğitme veya toplu puanlama gibi belirli senaryolar için yeniden kullanılabilir bir şablon olarak kullanın.
    * İş akışınız için veri kaynaklarını, girdileri ve çıktıları izleyin ve sürümlerini yönetin.
    * İş akışınız, belirli adımlar üzerinde bağımsız olarak çalışan farklı ekipler tarafından uygulanır. Ardından adımlar iş akışını uygulamak için bir işlem hattında birleştirilebilir.
  • Tasarımcı: Azure Machine Learning Tasarımcısı, kavram kanıtı oluşturmak veya çok az kodlama deneyimine sahip kullanıcılar için makine öğrenmesine kolay bir giriş noktası sağlar. Web tabanlı kullanıcı arabirimini sürükleyip bırakarak modelleri eğitmenizi sağlar. Python kodunu tasarımın bir parçası olarak kullanabilir veya herhangi bir kod yazmadan modelleri eğitebilirsiniz.

  • Azure CLI: Makine öğrenmesi CLI'sı, Azure Machine Learning ile ortak görevler için komutlar sağlar ve genellikle görevleri betikleme ve otomatikleştirme için kullanılır. Örneğin, bir eğitim betiği veya işlem hattı oluşturduktan sonra Azure CLI kullanarak bir zamanlamaya göre veya eğitim için kullanılan veri dosyaları güncelleştirildiğinde bir eğitim işi başlatabilirsiniz. Eğitim modelleri için eğitim işlerini gönderen komutlar sağlar. Komut işlerini, otomatik ML işlerini ve işlem hattı işlerini gönderebilir.

Bu eğitim yöntemlerinin her biri, eğitim için farklı türlerde işlem kaynağı kullanabilir. Bu kaynaklar toplu olarak işlem hedefleri olarak adlandırılır. İşlem hedefi yerel bir makine veya Azure Machine Learning İşlem, Azure HDInsight veya uzak sanal makine gibi bir bulut kaynağı olabilir.

Python SDK'sı

Python için Azure Machine Learning SDK'sı, Azure Machine Learning ile makine öğrenmesi iş akışları oluşturmanıza ve çalıştırmanıza olanak tanır. Etkileşimli bir Python oturumu, Jupyter Notebooks, Visual Studio Code veya başka bir IDE'den hizmetle etkileşim kurabilirsiniz.

Komut gönderme

Azure Machine Learning içeren genel bir eğitim işi command() işlevi kullanılarak tanımlanabilir. Ardından Command nesnesi, belirtilen işlem hedefinde bir modeli eğitmek için eğitim betiklerinizle birlikte kullanılır.

Yerel bilgisayarınız için bir Command nesnesiyle başlayıp gerektiğinde bulut tabanlı işlem hedefi için bir nesneye geçebilirsiniz. İşlem hedefini değiştirirken, yalnızca kullandığınız Command nesnesindeki işlem parametresini değiştirirsiniz. Bir çalışma ayrıca girişler, çıkışlar ve günlükler gibi eğitim göreviyle ilgili bilgileri de kaydeder.

Otomatik Makine Öğrenmesi

Yinelemeleri, hiper parametre ayarlarını, özellik belirlemeyi ve diğer ayarları tanımlayın. Eğitim sırasında Azure Machine Learning farklı algoritmaları ve parametreleri paralel olarak dener. Eğitim, tanımladığınız çıkış ölçütlerine ulaştığında durdurulur.

İpucu

Python SDK'sına ek olarak, Azure Machine Learning stüdyosu aracılığıyla Otomatik ML'yi de kullanabilirsiniz.

Makine öğrenmesi işlem hattı

Makine öğrenmesi işlem hatları, daha önce bahsedilen eğitim yöntemlerini kullanabilir. İşlem hatları iş akışı oluşturma hakkında daha fazladır, bu nedenle yalnızca modellerin eğitiminden fazlasını kapsar.

Bir eğitim görevi gönderdiğinizde neler olduğunu anlayın

Tipik bir betik tabanlı komut işi için Azure eğitim yaşam döngüsü aşağıdaki adımlardan oluşur. Otomatik ML ve işlem hattı işleri benzer bir akışı izler, ancak tam yürütme ve görüntü önbelleğe alma davranışı iş türüne ve ortama göre farklılık gösterebilir:

  1. Proje klasörünüzdeki dosyaları sıkıştırın ve buluta yükleyin.

    İpucu

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

  2. İşlem kümenizin veya sunucusuz işleminizin ölçeğini büyütün.

  3. Dockerfile'ı oluşturma veya işlem düğümüne indirme

    1. Sistem şu değerlerin karması hesaplar:
    2. Sistem, Azure Container Registry (ACR) çalışma alanının aramasında anahtar olarak bu karmayı kullanır
    3. Bulunamazsa, genel ACR'de bir eşleşme arar
    4. Bulunamazsa, sistem yeni bir görüntü oluşturur (önbelleğe alınır ve ACR çalışma alanına kaydedilir)
  4. Sıkıştırılmış proje dosyanızı işlem düğümündeki geçici depolama alanına indirme

  5. Proje dosyasının sıkıştırmasını açma

  6. Python eğitim betiği için python <entry script> <arguments> gibi, görev tarafından belirtilen komutla hesaplama düğümünü çalıştırın.

  7. Çalışma alanıyla ilişkilendirilmiş depolama hesabına yazılan ./outputs günlükleri, model dosyalarını ve diğer dosyaları kaydetme

  8. Geçici depolamayı kaldırma da dahil olmak üzere işlem ölçeğini azaltma

Azure Machine Learning Tasarımcısı

Tasarımcı, web tarayıcınızda sürükleyip bırakma arabirimi kullanarak modelleri eğitmenizi sağlar.

Azure Komut Satırı Arayüzü (Azure CLI)

Makine öğrenmesi CLI'sı, Azure CLI için bir uzantıdır. Azure Machine Learning ile çalışmak için platformlar arası CLI komutları sağlar. Genellikle, makine öğrenmesi modelini eğitmek gibi görevleri otomatikleştirmek için CLI kullanırsınız.

VS Code

Eğitim işlerinizi çalıştırmak ve yönetmek için VS Code uzantısını kullanın. Daha fazla bilgi edinmek için VS Code kaynak yönetimi nasıl yapılır kılavuzuna bakın.

Sonraki adımlar

Ardından, jupyter not defterinde Python SDK v2 ile üretim ML işlem hatları oluşturmayı öğrenin.