Aracılığıyla paylaş


Microsoft Fabric'te makine öğrenmesi denemeleri

Makine öğrenmesi deneyi, ilgili tüm makine öğrenmesi çalışmaları için birincil organizasyon ve kontrol birimidir. çalıştırma, model kodunun tek bir yürütülmesine karşılık gelir. MLflow izleme süreçleri, deneyler ve çalıştırmalar üzerine kuruludur.

Makine öğrenmesi denemeleri, veri bilimcilerinin makine öğrenmesi kodlarını çalıştırırken parametreleri, kod sürümlerini, ölçümleri ve çıkış dosyalarını günlüğe kaydetmesine olanak sağlar. Denemeler ayrıca çalıştırmaları görselleştirmenize, aramanıza ve karşılaştırmanıza, ayrıca diğer araçlarda analiz için çalıştırma dosyalarını ve meta verileri indirmenize olanak tanır.

Bu makalede, veri bilimcilerinin geliştirme sürecini düzenlemek ve birden çok çalıştırmayı izlemek için makine öğrenmesi denemeleriyle nasıl etkileşim kurabileceği ve bunları nasıl kullanabileceği hakkında daha fazla bilgi ediniyorsunuz.

Önkoşullar

  • Power BI Premium aboneliği. Yoksa bkz. Power BI Premium nedir?
  • Atanmış premium kapasiteye sahip bir Power BI Çalışma Alanı.

Deneme oluşturma

Makine öğrenmesi denemesini doğrudan doku kullanıcı arabiriminden (UI) veya MLflow API'sini kullanan kod yazarak oluşturabilirsiniz.

Kullanıcı arabirimini kullanarak deneme oluşturma

Kullanıcı arabiriminden makine öğrenmesi denemesi oluşturmak için:

  1. Yeni bir çalışma alanı oluşturun veya var olan bir çalışma alanını seçin.

  2. Çalışma alanınızın sol üst kısmında Yeni öğe'yi seçin. Verileri analiz etme ve eğit bölümündeDeneme'yi seçin.

    Çalışma alanınızda Deneme'nin seçileceği yeri gösteren ekran görüntüsü. VEYA

  3. Dikey menüden ... içinde bulunabilecek Oluştur'u seçin.

    Oluştur düğmesinin ekran görüntüsü.

  4. Veri Bilimi'nin altında Deneme'yi seçin.

    Oluştur'u seçtikten sonra Deneme'nin seçileceği yeri gösteren ekran görüntüsü.

  5. Bir deneme adı girin ve Oluştur'u seçin. Bu eylem çalışma alanınızda boş bir deneme oluşturur.

Denemeyi oluşturduktan sonra, koşu ölçümlerini ve parametrelerini izlemek için koşular eklemeye başlayabilirsiniz.

MLflow API'sini kullanarak deneme oluşturma

Ayrıca mlflow.create_experiment() veya mlflow.set_experiment() API'lerini kullanarak yazma deneyiminizden doğrudan bir makine öğrenmesi denemesi oluşturabilirsiniz. Aşağıdaki kodda <EXPERIMENT_NAME> öğesini denemenizin adıyla değiştirin.

import mlflow
 
# This will create a new experiment with the provided name.
mlflow.create_experiment("<EXPERIMENT_NAME>")

# This will set the given experiment as the active experiment. 
# If an experiment with this name does not exist, a new experiment with this name is created.
mlflow.set_experiment("<EXPERIMENT_NAME>")

Deneydeki çalıştırmaları yönet

Makine öğrenmesi denemesi, basitleştirilmiş izleme ve karşılaştırma için bir çalıştırma koleksiyonu içerir. Bir denemede veri bilimcisi çeşitli çalıştırmalarda gezinebilir ve temel alınan parametreleri ve ölçümleri inceleyebilir. Veri bilimciler, hangi parametre alt kümesinin istenen model performansını verdiğini belirlemek için makine öğrenmesi denemesi içindeki çalıştırmaları da karşılaştırabilir.

Deneme çalıştırmalarını görüntülemek için denemenin görünümünden Çalıştır listesi'ni seçin.

Makine öğrenmesi son çalıştırmalarının ekran görüntüsü.

Çalıştırma listesinden çalıştırma adını seçerek belirli bir çalıştırmanın ayrıntılarına gidebilirsiniz.

Çalıştırma ayrıntılarını izleme

Makine öğrenmesi çalıştırması, model kodunun tek bir yürütülmesine karşılık gelir. Her çalıştırma için aşağıdaki bilgileri izleyebilirsiniz:

Makine öğrenmesi çalıştırma ayrıntı sayfasının ekran görüntüsü.

Her çalıştırma aşağıdaki bilgileri içerir:

  • Kaynak: Çalıştırmayı oluşturan not defterinin adı.
  • Kayıtlı Sürüm: Çalıştırmanın makine öğrenmesi modeli olarak kaydedilip kaydedilmediğini gösterir.
  • Başlangıç tarihi: Çalıştırmanın başlangıç saati.
  • Durum: Çalıştırmanın ilerleme durumu.
  • Hiper parametreler: Anahtar-değer çiftleri olarak kaydedilen hiper parametreler. Hem anahtarlar hem de değerler dizelerdir.
  • Ölçümler: Anahtar-değer çiftleri olarak kaydedilen ölçümleri çalıştırın. Değer sayısaldır.
  • Çıkış dosyaları: Herhangi bir biçimdeki çıkış dosyaları. Örneğin, görüntüleri, ortamı, modelleri ve veri dosyalarını kaydedebilirsiniz.
  • Etiketler: Çalıştırmalara anahtar-değer çiftleri olarak atanan meta veriler.

Makine öğrenmesi çalıştırma ayrıntı sayfasının ekran görüntüsü.

Çalıştırma listesini görüntüle

Bir denemedeki tüm çalıştırmaları Çalıştırma listesi görünümünde görüntüleyebilirsiniz. Bu görünüm, son etkinlikleri izlemenize, ilgili Spark uygulamasına hızla atlamanıza ve çalıştırma durumuna göre filtreler uygulamanıza olanak tanır.

Çalıştırma listesini görüntüle

Bir denemedeki tüm çalıştırmaları Çalıştırma listesi görünümünde görüntüleyebilirsiniz. Bu görünüm, son etkinlikleri izlemenize, ilgili Spark uygulamasına hızla atlamanıza ve çalıştırma durumuna göre filtreler uygulamanıza olanak tanır.

Makine öğrenmesi son çalıştırmalarının ekran görüntüsü.

Çalıştırmaları karşılaştır ve filtrele

Makine öğrenmesi çalıştırmalarınızın kalitesini karşılaştırmak ve değerlendirmek için, deneme içindeki seçili çalıştırmalar arasındaki parametreleri, ölçümleri ve meta verileri karşılaştırabilirsiniz.

Çalıştırmalara etiket uygulama

Deneme çalıştırmaları için MLflow etiketlemesi, kullanıcıların çalıştırmalarına anahtar-değer çiftleri biçiminde özel meta veriler eklemesine olanak tanır. Bu etiketler belirli özniteliklere göre çalıştırmaları kategorilere ayırmanıza, filtrelemenize ve aramanıza yardımcı olur, böylece MLflow platformundaki denemeleri yönetmeyi ve çözümlemeyi kolaylaştırır. Kullanıcılar model türleri, parametreler veya ilgili tanımlayıcılar gibi bilgilerle çalıştırmaları etiketlemek için etiketleri kullanabilir ve denemelerin genel düzenlemesini ve izlenebilirliğini geliştirebilir.

Bu kod parçacığı bir MLflow çalıştırması başlatır, bazı parametreleri ve ölçümleri kaydeder ve çalıştırmayı kategorilere ayırmak ve daha fazla bilgi sağlamak için etiketler ekler.

import mlflow
import mlflow.sklearn
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
from sklearn.datasets import fetch_california_housing

# Autologging
mlflow.autolog()

# Load the California housing dataset
data = fetch_california_housing(as_frame=True)
X = data.data
y = data.target

# Split the data
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Start an MLflow run
with mlflow.start_run() as run:

    # Train the model
    model = LinearRegression()
    model.fit(X_train, y_train)

    # Predict and evaluate
    y_pred = model.predict(X_test)
    
    # Add tags
    mlflow.set_tag("model_type", "Linear Regression")
    mlflow.set_tag("dataset", "California Housing")
    mlflow.set_tag("developer", "Bob")

Etiketler uygulandıktan sonra sonuçları doğrudan satır içi MLflow pencere öğesinden veya çalıştırma ayrıntıları sayfasından görüntüleyebilirsiniz.

Ayrıntılar sayfasında bir çalıştırmaya uygulanan etiketleri gösteren ekran görüntüsü.

Uyarı

Uyarı: Dokuda MLflow Deneme Çalışmalarına Etiket Uygulama Sınırlamaları

  • Boş Olmayan Etiketler: Etiket adları veya değerleri boş olamaz. Boş bir ad veya değere sahip bir etiket uygulamayı denerseniz işlem başarısız olur.
  • Etiket Adları: Etiket adları en fazla 250 karakter uzunluğunda olabilir.
  • Etiket Değerleri: Etiket değerleri en fazla 5000 karakter uzunluğunda olabilir.
  • Kısıtlanmış Etiket Adları: Belirli ön eklerle başlayan etiket adları desteklenmez. Özellikle, synapseml, mlflow veya trident ile başlayan etiket adları kısıtlanır ve kabul edilmeyecektir.

Çalıştırmaları görsel olarak karşılaştırma

Mevcut denemede çalıştırmaları görsel olarak karşılaştırabilir ve filtreleyebilirsiniz. Görsel karşılaştırma, birden çok çalıştırma arasında kolayca gezinmenizi ve bunlar arasında sıralama yapmanızı sağlar.

Ekran görüntüsü, çalıştırmaların listesini ve grafik görünümünü gösteriyor.

Koşuları karşılaştırmak için:

  1. Birden çok çalıştırma içeren mevcut bir makine öğrenmesi denemesi seçin.
  2. Görünüm sekmesini seçin ve ardından Çalıştır listesi görünümüne gidin. Alternatif olarak, Çalıştırma listesini doğrudan Çalıştırma ayrıntıları görünümünden görüntüleme seçeneğini belirleyebilirsiniz.
  3. Sütunları özelleştir bölmesini genişleterek tablo içindeki sütunları özelleştirin. Burada, görmek istediğiniz özellikleri, ölçümleri, etiketleri ve hiper parametreleri seçebilirsiniz.
  4. Sonuçlarınızı belirli seçili ölçütlere göre daraltmak için Filtre bölmesini genişletin.
  5. Ölçüm karşılaştırma bölmesinde sonuçlarını karşılaştırmak için birden çok çalıştırmayı seçin. Bu bölmeden grafik başlığını, görselleştirme türünü, X eksenini, Y eksenini ve daha fazlasını değiştirerek grafikleri özelleştirebilirsiniz.

MLflow API'yi kullanarak çalıştırmaları karşılaştırın

Veri bilimciler, deneme içindeki çalıştırmaları sorgulamak ve arama yapmak için MLflow da kullanabilir. MLflow belgelerini ziyaret ederek çalıştırmaları aramak, filtrelemek ve karşılaştırmak için daha fazla MLflow API'sini keşfedebilirsiniz.

Tüm koşuları al

MLflow arama API'sini mlflow.search_runs() kullanarak, aşağıdaki koddaki <EXPERIMENT_NAME>'yi denemenizin adıyla veya <EXPERIMENT_ID>'yi deneme kimliğinizle değiştirerek bir denemedeki tüm çalıştırmaları alabilirsiniz.

import mlflow

# Get runs by experiment name: 
mlflow.search_runs(experiment_names=["<EXPERIMENT_NAME>"])

# Get runs by experiment ID:
mlflow.search_runs(experiment_ids=["<EXPERIMENT_ID>"])

İpucu

Birden çok denemede arama yapmak için, experiment_ids parametresine deneme kimliklerinin bir listesini sağlayabilirsiniz. Benzer şekilde, parametresine deneme adlarının listesinin experiment_names sağlanması MLflow'un birden çok denemede aramasına olanak sağlar. Farklı deneylerdeki çalıştırmaları karşılaştırmak istiyorsanız bu yararlı olabilir.

Çalıştırmaları sıralama ve sınırlama

max_results 'den search_runs parametresini, döndürülen çalıştırma sayısını sınırlamak için kullanın. order_by parametresi, sıralama ölçütü olarak sütunları listelemenizi sağlar ve isteğe bağlı DESC veya ASC değer içerebilir. Örneğin, aşağıdaki örnek bir denemenin son çalıştırmasını döndürür.

mlflow.search_runs(experiment_ids=[ "1234-5678-90AB-CDEFG" ], max_results=1, order_by=["start_time DESC"])

Fabric defteri içindeki çalıştırmaları karşılaştırın

Her not defteri hücresinde oluşturulan MLflow çalıştırmalarını izlemek için Fabric not defterleri içindeki MLflow yazar pencere öğesini kullanabilirsiniz. Pencere öğesi çalıştırmalarınızı, ilişkili ölçümlerinizi, parametrelerinizi ve özelliklerinizi doğrudan tek tek hücre düzeyine kadar izlemenizi sağlar.

Görsel karşılaştırma elde etmek için Karşılaştırmayı çalıştır görünümüne de geçebilirsiniz. Bu görünüm verileri grafiksel olarak sunarak farklı çalıştırmalardaki desenlerin veya sapmaların hızlı bir şekilde tanımlanmasına yardımcı olur.

MLFlow yazma pencere öğesinin nasıl kullanılacağını gösteren ekran görüntüsü.

Çalıştırmayı makine öğrenmesi modeli olarak kaydetme

Bir çalıştırma istenen sonucu verdikten sonra, ML modeli olarak kaydet'i seçerek gelişmiş model izleme ve model dağıtımı için çalıştırmayı model olarak kaydedebilirsiniz.

Yeni model oluştur'un seçileceği yeri gösteren ekran görüntüsü.

ML Denemelerini İzleme (önizleme)

ML deneyleri doğrudan İzleyici ile tümleştirilir. Bu işlevsellik, Spark uygulamalarınız ve oluşturdukları ML denemeleri hakkında daha fazla içgörü sağlamak üzere tasarlanmıştır ve bu işlemleri yönetmeyi ve hatalarını ayıklamayı kolaylaştırır.

Monitörden çalıştırmaları izlemek

Kullanıcılar deneme çalıştırmalarını doğrudan monitörden izleyebilir ve tüm etkinliklerinin birleşik bir görünümünü sağlar. Bu tümleştirme filtreleme seçeneklerini içerir ve kullanıcıların son 30 gün içinde veya belirtilen diğer dönemlerde oluşturulan denemelere veya çalıştırmalara odaklanmasını sağlar.

Görünümün monitör sekmesinde nerede çalıştığını gösteren ekran görüntüsü.

ML Denemesi doğrudan İzleyici ile tümleştirilir; burada belirli bir Spark uygulamasını seçebilir ve Öğe Anlık Görüntülerine erişebilirsiniz. Burada, bu uygulama tarafından oluşturulan tüm denemelerin ve çalıştırmaların listesini bulacaksınız.