Aracılığıyla paylaş


Azure AI Studio'da değerlendirme akışı geliştirme

Önemli

Bu makalede açıklanan özelliklerden bazıları yalnızca önizleme aşamasında kullanılabilir. Bu önizleme, 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 Ek Kullanım Koşulları.

Değerlendirme akışları, çalıştırma çıktılarının belirli ölçütler ve hedeflerle ne kadar uyumlu olduğunu değerlendiren özel akış türleridir.

İstem akışında, görevlerinize ve hedeflerinize göre uyarlanmış kendi değerlendirme akışınızı özelleştirebilir veya oluşturabilir ve ardından diğer akışları değerlendirmek için kullanabilirsiniz. Bu belgede şunu öğrenirsiniz:

  • Değerlendirme yöntemi geliştirme.
  • İstem akışı değerlendirmeleri için girişleri, çıkışları ve günlüğe kaydetme ölçümlerini anlayın.

Değerlendirme yöntemi geliştirmeye başlama

Kendi değerlendirme yöntemlerinizi geliştirmenin iki yolu vardır:

  • Yerleşik Değerlendirme Akışını Özelleştirme: Yerleşik değerlendirme akışını değiştirme.

    1. Araçlar'ın altında İstem akışı'nı seçin.
    2. Akış oluşturma sihirbazını açmak için Oluştur'u seçin.
    3. Araştırma galerisi altındaki akış galerisinde Değerlendirme akışı'nı seçerek bu türe göre filtreleyin. Özelleştirme yapmak için bir örnek seçin ve Kopyala'yı seçin.
  • Sıfırdan Yeni Değerlendirme Akışı Oluşturma: Sıfırdan yepyeni bir değerlendirme yöntemi geliştirin.

    1. Araçlar'ın altında İstem akışı'nı seçin.
    2. Akış oluşturma sihirbazını açmak için Oluştur'u seçin.
    3. "Değerlendirme akışı" kutusundaki Türe göre oluştur'un altındaki akış galerisinde Oluştur'u seçin, ardından değerlendirme akışı şablonunu görebilirsiniz.

İstem akışında değerlendirmeyi anlama

İstem akışında akış, bir girişi işleyen ve çıkış oluşturan bir düğüm dizisidir. Değerlendirme akışları da gerekli girişleri alır ve ilgili çıkışları üretir.

Değerlendirme yöntemlerinin bazı özel özellikleri şunlardır:

  • Bunlar genellikle test edilecek çalıştırmadan sonra çalışır ve bu çalıştırmadan çıkışlar alır.
  • Test edilecek çalıştırmanın çıkışlarının dışında isteğe bağlı olarak ilgili temel gerçekleri içerebilecek başka bir veri kümesi alabilirler.
  • Tek tek puanlara göre test edilen akışın genel performansını hesaplayan bir toplama düğümüne sahip olabilirler.
  • İşlevi kullanarak ölçümleri günlüğe log_metric() kaydedebilirler.

Değerlendirme yöntemleri geliştirmede girişlerin ve çıkışların nasıl tanımlanması gerektiğini tanıtıyoruz.

Girişler

Değerlendirme, bu çalıştırmanın çıkışlarının belirli ölçütler ve hedeflerle ne kadar uyumlu olduğunu değerlendirmek için başka bir çalıştırmadan sonra çalışır. Bu nedenle değerlendirme, bu çalıştırmadan oluşturulan çıkışları alır.

Veri kümesinden gelen temel gerçeklik gibi diğer girişler de gerekebilir. Varsayılan olarak değerlendirme, test çalıştırmasına sağlanan test veri kümesiyle aynı veri kümesini kullanır. Ancak, karşılık gelen etiketler veya hedef gerçek değerleri farklı bir veri kümesindeyse, buna kolayca geçiş yapabilirsiniz.

Bu nedenle, bir değerlendirme çalıştırmak için bu gerekli girişlerin kaynaklarını belirtmeniz gerekir. Bunu yapmak için, değerlendirme gönderirken bir "giriş eşlemesi" bölümü görürsünüz.

  • Veri kaynağı çalıştırma çıkışınızdan geliyorsa, kaynak şu şekilde gösterilir: ${run.output.[OutputName]}
  • Veri kaynağı test veri kümenizden geliyorsa, kaynak şu şekilde gösterilir: ${data.[ColumnName]}

Not

Değerlendirmeniz veri kümesinden veri gerektirmiyorsa, veri kümesi seçiminin isteğe bağlı bir yapılandırma olduğunu belirten giriş eşlemesi bölümündeki veri kümesi sütunlarına başvurmanız gerekmez. Veri kümesi seçimi değerlendirme sonucunu etkilemez.

Açıklama girin

Ölçümleri hesaplamak için hangi girişlerin gerekli olduğunu anımsatmak için her gerekli giriş için bir açıklama ekleyebilirsiniz. Kaynaklar toplu çalıştırma gönderiminde eşlenirken açıklamalar görüntülenir.

Her giriş için açıklama eklemek için değerlendirme yönteminizi geliştirirken giriş bölümünde Açıklamayı göster'i seçin. Açıklamayı gizlemek için "Açıklamayı gizle" seçeneğini belirleyebilirsiniz.

Ardından bu açıklama, toplu çalıştırma gönderiminde bu değerlendirme yöntemi kullanılırken görüntülenir.

Çıkışlar ve ölçümler

Değerlendirmenin çıkışları, test edilen akışın performansını ölçen sonuçlardır. Çıkış genellikle puanlar gibi ölçümler içerir ve ayrıca akıl yürütme ve öneriler için metin içerebilir.

Örnek düzeyi puan çıkışları

Akış, istem akışında her örnek veri kümesini birer birer işler ve bir çıkış kaydı oluşturur. Benzer şekilde, çoğu değerlendirme örneğinde, her çıkış için bir ölçüm vardır ve akışın her bir veri üzerinde nasıl performans göstereceğini denetlemenize olanak tanır.

Her veri örneğinin puanını kaydetmek için, her çıkışın puanını hesaplayın ve çıkış bölümünde ayarlayarak puanı akış çıkışı olarak günlüğe kaydedin. Bu yazma deneyimi, standart akış çıkışı tanımlamayla aynıdır.

Bu puanı düğümde line_process hesaplıyoruz. Bu puanı türe göre oluştururken sıfırdan oluşturup düzenleyebilirsiniz. Puanı hesaplamak için LLM'yi kullanmak için bu python düğümünü bir LLM düğümüyle de değiştirebilirsiniz.

Bu değerlendirme yöntemi başka bir akışı değerlendirmek için kullanıldığında, örnek düzeyi puanı Genel Bakış>Çıktısı sekmesinde görüntülenebilir.

Ölçüm günlüğü ve toplama düğümü

Ayrıca, çalıştırma için genel bir puan sağlamak da önemlidir. Bir değerlendirme akışındaki Python düğümünün "toplama olarak ayarla" yı denetleyerek bunu bir "azaltma" düğümüne dönüştürebilir ve düğümün girişleri liste olarak alıp toplu olarak işlemesini sağlayabilirsiniz.

Bu şekilde, her akış çıkışının tüm puanlarını hesaplayabilir ve işleyebilir ve her değişken için genel bir sonuç hesaplayabilirsiniz.

Komut İstemi flow_sdk.log_metrics() kullanarak bir toplama düğümündeki ölçümleri günlüğe kaydedebilirsiniz. Ölçümler sayısal olmalıdır (float/int). Dize türü ölçüm günlüğü desteklenmez.

Düğümde aggregate bu puanı hesaplıyoruz. Bu puanı türe göre oluştururken sıfırdan oluşturup düzenleyebilirsiniz. Puanı hesaplamak için LLM'yi kullanmak için bu Python düğümünü bir LLM düğümüyle de değiştirebilirsiniz. Api'yi değerlendirme akışında kullanmak log_metric için aşağıdaki örne bakın:

from typing import List
from promptflow import tool, log_metric

@tool
def calculate_accuracy(grades: List[str], variant_ids: List[str]):
    aggregate_grades = {}
    for index in range(len(grades)):
        grade = grades[index]
        variant_id = variant_ids[index]
        if variant_id not in aggregate_grades.keys():
            aggregate_grades[variant_id] = []
        aggregate_grades[variant_id].append(grade)

    # calculate accuracy for each variant
    for name, values in aggregate_grades.items():
        accuracy = round((values.count("Correct") / len(values)), 2)
        log_metric("accuracy", accuracy, variant_id=name)

    return aggregate_grades

Python düğümünde bu işlevi çağırdığınız gibi, başka bir yere atamanız gerekmez ve ölçümleri daha sonra görüntüleyebilirsiniz. Bu değerlendirme yöntemi toplu çalıştırmada kullanıldığında, örnek düzeyi puanı Genel Bakış-Ölçümler> sekmesinde görüntülenebilir.

Sonraki adımlar