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.
- Araçlar'ın altında İstem akışı'nı seçin.
- Akış oluşturma sihirbazını açmak için Oluştur'u seçin.
- 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.
- Araçlar'ın altında İstem akışı'nı seçin.
- Akış oluşturma sihirbazını açmak için Oluştur'u seçin.
- "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
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin