modelleri izlemek ve hata ayıklamak için çıkarım tabloları
Önemli
Bu özellik Genel Önizlemededir.
Bu makalede, sunulan modelleri izlemeye yönelik çıkarım tabloları açıklanmaktadır. Aşağıdaki diyagramda çıkarım tablolarına sahip tipik bir iş akışı gösterilmektedir. Çıkarım tablosu, uç noktaya hizmet veren bir model için gelen istekleri ve giden yanıtları otomatik olarak yakalar ve bunları Unity Kataloğu Delta tablosu olarak günlüğe kaydeder. ML modellerini izlemek, hatalarını ayıklamak ve iyileştirmek için bu tablodaki verileri kullanabilirsiniz.
Çıkarım tabloları nedir?
Üretim iş akışlarında modellerin performansını izlemek, yapay zeka ve ML modeli yaşam döngüsünün önemli bir yönüdür. Çıkarım Tabloları, Mozaik Yapay Zeka Modeli Sunma uç noktalarındaki istek girişlerini ve yanıtlarını (tahminleri) sürekli günlüğe kaydederek ve Unity Kataloğu'ndaki Bir Delta tablosuna kaydederek modellerin izlenmesini ve tanılamasını basitleştirir. Daha sonra modellerinizi izlemek, hatalarını ayıklamak ve iyileştirmek için DBSQL sorguları, not defterleri ve Lakehouse İzleme gibi Databricks platformunun tüm özelliklerini kullanabilirsiniz.
Var olan veya yeni oluşturulan herhangi bir modelde uç noktaya hizmet veren çıkarım tablolarını etkinleştirebilirsiniz ve bu uç noktaya yönelik istekler UC'deki bir tabloya otomatik olarak kaydedilir.
Çıkarım tabloları için bazı yaygın uygulamalar şunlardır:
- Veri ve model kalitesini izleme. Lakehouse İzleme'yi kullanarak model performansınızı ve veri kaymalarınızı sürekli izleyebilirsiniz. Lakehouse İzleme, paydaşlarla paylaşabileceğiniz veri ve model kalitesi panolarını otomatik olarak oluşturur. Buna ek olarak, gelen verilerdeki vardiyalara veya model performansındaki düşüşlere göre modelinizi yeniden eğitmeniz gerektiğinde uyarıların bilinmesini sağlayabilirsiniz.
- Üretim sorunlarının hatalarını ayıkla. Çıkarım Tabloları HTTP durum kodları, model yürütme süreleri ve istek ve yanıt JSON kodu gibi verileri günlüğe kaydeder. Bu performans verilerini hata ayıklama amacıyla kullanabilirsiniz. Geçmiş isteklerdeki model performansını karşılaştırmak için Çıkarım Tablolarındaki geçmiş verileri de kullanabilirsiniz.
- Eğitim corpus'u oluşturun. Çıkarım Tablolarını temel gerçeklik etiketleriyle birleştirerek modelinizi yeniden eğitmek veya ince ayar yapmak ve geliştirmek için kullanabileceğiniz bir eğitim corpus'u oluşturabilirsiniz. Databricks İşler'i kullanarak sürekli bir geri bildirim döngüsü ayarlayabilir ve yeniden eğitimi otomatikleştirebilirsiniz.
Gereksinim -leri
- Çalışma alanınızda Unity Kataloğu etkinleştirilmiş olmalıdır.
- Hem uç nokta oluşturucusunun hem de değiştiricinin uç nokta üzerinde Yönetebilir izni olmalıdır. Bkz. Erişim denetim listeleri.
- Hem uç noktanın oluşturucusunun hem de değiştiricinin Unity Kataloğu'nda aşağıdaki izinlere sahip olması gerekir:
USE CATALOG
belirtilen katalog üzerindeki izinler.USE SCHEMA
belirtilen şema üzerindeki izinler.CREATE TABLE
şemadaki izinler.
Çıkarım tablolarını etkinleştirme ve devre dışı bırakma
Bu bölümde Databricks kullanıcı arabirimini kullanarak çıkarım tablolarını etkinleştirme veya devre dışı bırakma adımları gösterilmektedir. API'yi de kullanabilirsiniz; Yönergeler için bkz . API'yi kullanarak uç noktaları sunan modelde çıkarım tablolarını etkinleştirme.
Çıkarım tablolarının sahibi, uç noktayı oluşturan kullanıcıdır. Tablodaki tüm erişim denetim listeleri (ACL' ler) standart Unity Kataloğu izinlerini izler ve tablo sahibi tarafından değiştirilebilir.
Uyarı
Aşağıdakilerden birini yaparsanız çıkarım tablosu bozulabilir:
- Tablo şemasını değiştirin.
- Tablo adını değiştirin.
- Tabloyu silin.
- Unity Kataloğu kataloğuna veya şemasına yönelik izinleri kaybedersiniz.
Bu durumda uç nokta durumu, auto_capture_config
yük tablosu için bir FAILED
durum gösterir. Böyle bir durumda çıkarım tablolarını kullanmaya devam etmek için yeni bir uç nokta oluşturmanız gerekir.
Uç nokta oluşturma sırasında çıkarım tablolarını etkinleştirmek için aşağıdaki adımları kullanın:
Databricks Machine Learning kullanıcı arabiriminde Sunma'ya tıklayın.
Sunum uç noktası oluştur'a tıklayın.
Çıkarım tablolarını etkinleştir'i seçin.
Açılan menülerde, tablonun yer almak istediğiniz kataloğu ve şemayı seçin.
Varsayılan tablo adıdır
<catalog>.<schema>.<endpoint-name>_payload
. İsterseniz, özel bir tablo ön eki girebilirsiniz.Sunum uç noktası oluştur'a tıklayın.
Çıkarım tablolarını mevcut bir uç noktada da etkinleştirebilirsiniz. Mevcut uç nokta yapılandırmasını düzenlemek için aşağıdakileri yapın:
- Uç nokta sayfanıza gidin.
- Yapılandırmayı düzenle'ye tıklayın.
- 3. adımdan başlayarak önceki yönergeleri izleyin.
- İşiniz bittiğinde Hizmet sunma uç noktasını güncelleştir'e tıklayın.
Çıkarım tablolarını devre dışı bırakmak için şu yönergeleri izleyin:
Önemli
Bir uç noktada çıkarım tablolarını devre dışı bırakırsanız, bunları yeniden etkinleştiremezsiniz. Çıkarım tablolarını kullanmaya devam etmek için yeni bir uç nokta oluşturmanız ve çıkarım tablolarını etkinleştirmeniz gerekir.
- Uç nokta sayfanıza gidin.
- Yapılandırmayı düzenle'ye tıklayın.
- Onay işaretini kaldırmak için Çıkarım tablosunu etkinleştir'e tıklayın.
- Uç nokta belirtimlerinden memnun olduğunuzda Güncelleştir'e tıklayın.
İş Akışı: Çıkarım tablolarını kullanarak model performansını izleme
Çıkarım tablolarını kullanarak model performansını izlemek için şu adımları izleyin:
- Uç nokta oluşturma sırasında veya daha sonra güncelleştirerek uç noktanızda çıkarım tablolarını etkinleştirin.
- Çıkarım tablosundaki JSON yüklerini uç nokta şemasına göre paketten çıkararak işlemek için bir iş akışı zamanlayın.
- (İsteğe bağlı) Model kalitesi ölçümlerinin hesaplanması için paketlenmemiş istekleri ve yanıtları ground-truth etiketleriyle birleştirin.
- Elde edilen Delta tablosu üzerinde bir izleyici oluşturun ve ölçümleri yenileyin.
Başlangıç not defterleri bu iş akışını uygular.
Çıkarım tablosunu izlemek için başlangıç not defteri
Aşağıdaki not defteri, bir Lakehouse monitoring çıkarım tablosundan gelen isteklerin paketini açmak için yukarıda özetlenen adımları uygular. Not defteri isteğe bağlı olarak veya Databricks İşleri kullanılarak yinelenen bir zamanlamaya göre çalıştırılabilir.
Çıkarım tablosu Lakehouse İzleme başlangıç not defteri
LLM'lere hizmet veren uç noktalardan metin kalitesini izlemek için başlangıç not defteri
Aşağıdaki not defteri bir çıkarım tablosundan istekleri açar, bir dizi metin değerlendirme ölçümünü (okunabilirlik ve toksisite gibi) hesaplar ve bu ölçümler üzerinde izlemeyi etkinleştirir. Not defteri isteğe bağlı olarak veya Databricks İşleri kullanılarak yinelenen bir zamanlamaya göre çalıştırılabilir.
LLM çıkarım tablosu Lakehouse İzleme başlangıç not defteri
Çıkarım tablosunda sonuçları sorgulama ve analiz etme
Sunulan modelleriniz hazır olduktan sonra modellerinize yapılan tüm istekler yanıtlarla birlikte çıkarım tablosuna otomatik olarak kaydedilir. Tabloyu kullanıcı arabiriminde görüntüleyebilir, DBSQL'den veya not defterinden sorgulayabilir veya REST API'yi kullanarak tabloyu sorgulayabilirsiniz.
Tabloyu kullanıcı arabiriminde görüntülemek için: Uç nokta sayfasında, çıkarım tablosunun adına tıklayarak tabloyu Katalog Gezgini'nde açın.
TABLOYU DBSQL'den veya Databricks not defterinden sorgulamak için: Çıkarım tablosunu sorgulamak için aşağıdakine benzer bir kod çalıştırabilirsiniz.
SELECT * FROM <catalog>.<schema>.<payload_table>
Kullanıcı arabirimini kullanarak çıkarım tablolarını etkinleştirdiyseniz, payload_table
uç noktayı oluştururken atadığınız tablo adıdır. API'yi kullanarak çıkarım tablolarını etkinleştirdiyseniz, payload_table
yanıtın state
auto_capture_config
bölümünde bildirilir. Örnek için bkz . API kullanarak uç noktaları sunan modelde çıkarım tablolarını etkinleştirme.
Performans notu
Uç noktayı çağırdıktan sonra, puanlama isteği gönderdikten sonraki bir saat içinde çıkarım tablonuzda günlüğe kaydedilen çağrıyı görebilirsiniz. Ayrıca Azure Databricks, günlük teslimin en az bir kez gerçekleşmesini garanti eder, bu nedenle yinelenen günlüklerin gönderilmesi olası olmasa da mümkündür.
Unity Kataloğu çıkarım tablosu şeması
Çıkarım tablosuna günlüğe kaydedilen her istek ve yanıt aşağıdaki şemaya sahip bir Delta tablosuna yazılır:
Not
Uç noktayı bir giriş toplu işlemiyle çağırırsanız, toplu işin tamamı tek satır olarak günlüğe kaydedilir.
Sütun adı | Açıklama | Tür |
---|---|---|
databricks_request_id |
Azure Databricks tarafından oluşturulan ve tüm model sunum isteklerine eklenmiş istek tanımlayıcısı. | DİZGİ |
client_request_id |
model sunum isteği gövdesinde belirtilebilen isteğe bağlı bir istemci tarafından oluşturulan istek tanımlayıcısı. Daha fazla bilgi için bkz . Belirtme client_request_id . |
DİZGİ |
date |
Model sunum isteğinin alındığı UTC tarihi. | DATE |
timestamp_ms |
Model sunma isteğinin ne zaman alındığına ilişkin dönem milisaniye cinsinden zaman damgası. | UZUN |
status_code |
Modelden döndürülen HTTP durum kodu. | INT |
sampling_fraction |
İsteğin aşağı örneklenmiş olması durumunda kullanılan örnekleme kesri. Bu değer 0 ile 1 arasındadır ve burada 1 gelen isteklerin %100'ünün dahil olduğunu gösterir. | ÇİFT |
execution_time_ms |
Modelin çıkarım gerçekleştirdiği milisaniye cinsinden yürütme süresi. Bu ek yük ağ gecikme sürelerini içermez ve yalnızca modelin tahmin oluşturma süresini temsil eder. | UZUN |
request |
Uç noktaya hizmet veren modele gönderilen ham istek JSON gövdesi. | DİZGİ |
response |
Uç noktaya hizmet veren model tarafından döndürülen ham yanıt JSON gövdesi. | DİZGİ |
request_metadata |
İstekle ilişkili uç nokta sunan modelle ilgili meta verilerin haritası. Bu eşleme uç noktanız için kullanılan uç nokta adını, model adını ve model sürümünü içerir. | MAP<STRING, STRING> |
Belirtmek client_request_id
Bu client_request_id
alan, kullanıcının istek gövdesine hizmet veren modelde sağlayabileceğiniz isteğe bağlı bir değerdir. Bu, kullanıcının altındaki son çıkarım tablosunda görünen bir istek için kendi tanımlayıcısını sağlamasına client_request_id
olanak tanır ve isteğinizi temel gerçeklik etiketi birleştirme gibi kullanan client_request_id
diğer tablolarla birleştirmek için kullanılabilir. client_request_id
belirtmek için, istek yükünün en üst düzey anahtarı olarak değerini ekleyin. Belirtilmezse client_request_id
, değer isteğe karşılık gelen satırda null olarak görünür.
{
"client_request_id": "<user-provided-id>",
"dataframe_records": [
{
"sepal length (cm)": 5.1,
"sepal width (cm)": 3.5,
"petal length (cm)": 1.4,
"petal width (cm)": 0.2
},
{
"sepal length (cm)": 4.9,
"sepal width (cm)": 3,
"petal length (cm)": 1.4,
"petal width (cm)": 0.2
},
{
"sepal length (cm)": 4.7,
"sepal width (cm)": 3.2,
"petal length (cm)": 1.3,
"petal width (cm)": 0.2
}
]
}
ile client_request_id
ilişkili client_request_id
etiketleri olan başka tablolar varsa, daha sonra temel gerçeklik etiketi birleşimleri için kullanılabilir.
Sınırlamalar
- Müşteri tarafından yönetilen anahtarlar desteklenmez.
- Temel modelleri barındıran uç noktalar için çıkarım tabloları yalnızca sağlanan aktarım hızı iş yüklerinde desteklenir.
- Çıkarım tabloları, dış modelleri barındıran uç noktalarda desteklenmez.
- Azure Güvenlik Duvarı Unity Kataloğu Delta tablosunu oluşturma hatalarına neden olabilir, bu nedenle varsayılan olarak desteklenmez. Etkinleştirmek için Databricks hesap ekibinize ulaşın.
- Çıkarım tabloları etkinleştirildiğinde, tek bir uç noktada sunulan tüm modellerde toplam maksimum eşzamanlılık sınırı 128'dir. Bu sınıra bir artış istemek için Azure Databricks hesap ekibinize ulaşın.
- Çıkarım tablosunda 500.000'den fazla dosya varsa, ek veri günlüğe kaydedilmez. Bu sınırı aşmamak için, daha eski verileri silerek OPTIMIZE komutunu çalıştırın veya tablonuzda bekletmeyi ayarlayın. Tablonuzdaki dosya sayısını denetlemek için komutunu çalıştırın
DESCRIBE DETAIL <catalog>.<schema>.<payload_table>
.
Genel model sunma uç noktası sınırlamaları için bkz . Model Sunma sınırları ve bölgeleri.