Mengaktifkan tabel inferensi pada model yang melayani titik akhir menggunakan API
Penting
Fitur ini ada di Pratinjau Publik.
Artikel ini menjelaskan cara menggunakan Databricks API untuk mengaktifkan tabel inferensi untuk model yang melayani titik akhir. Untuk informasi umum tentang menggunakan tabel inferensi, termasuk cara mengaktifkannya menggunakan antarmuka pengguna Databricks, lihat Tabel inferensi untuk model pemantauan dan penelusuran kesalahan.
Anda dapat mengaktifkan tabel inferensi saat membuat titik akhir baru atau di titik akhir yang sudah ada. Databricks merekomendasikan agar Anda membuat titik akhir dengan perwakilan layanan sehingga tabel inferensi tidak terpengaruh jika pengguna yang membuat titik akhir dihapus dari ruang kerja.
Pemilik tabel inferensi adalah pengguna yang membuat titik akhir. Semua daftar kontrol akses (ACL) pada tabel mengikuti izin Katalog Unity standar dan dapat dimodifikasi oleh pemilik tabel.
Persyaratan
- Ruang kerja Anda harus mengaktifkan Katalog Unity.
- Pembuat titik akhir dan pengubah harus memiliki izin Dapat Mengelola pada titik akhir. Lihat Daftar kontrol akses.
- Pembuat titik akhir dan pengubah harus memiliki izin berikut di Katalog Unity:
USE CATALOG
izin pada katalog yang ditentukan.USE SCHEMA
izin pada skema yang ditentukan.CREATE TABLE
izin dalam skema.
Mengaktifkan tabel inferensi pada pembuatan titik akhir menggunakan API
Anda dapat mengaktifkan tabel inferensi untuk titik akhir selama pembuatan titik akhir menggunakan API. Untuk petunjuk tentang membuat titik akhir, lihat Membuat model kustom yang melayani titik akhir.
Dalam API, isi permintaan memiliki auto_capture_config
untuk menentukan:
- Katalog Unity Catalog: string yang mewakili katalog untuk menyimpan tabel
- Skema Unity Catalog: string yang mewakili skema untuk menyimpan tabel
- (opsional) awalan tabel: string yang digunakan sebagai awalan untuk nama tabel inferensi. Jika ini tidak ditentukan, nama titik akhir digunakan.
- (opsional) diaktifkan: nilai boolean yang digunakan untuk mengaktifkan atau menonaktifkan tabel inferensi. Ini benar secara default.
Setelah menentukan katalog, skema, dan prefiks tabel opsional, tabel dibuat di <catalog>.<schema>.<table_prefix>_payload
. Tabel ini secara otomatis membuat tabel terkelola Katalog Unity. Pemilik tabel adalah pengguna yang membuat titik akhir.
Catatan
Menentukan tabel yang ada tidak didukung karena tabel inferensi selalu dibuat secara otomatis pada pembuatan titik akhir atau pembaruan titik akhir.
Peringatan
Tabel inferensi bisa menjadi rusak jika Anda melakukan salah satu hal berikut:
- Ubah skema tabel.
- Ubah nama tabel.
- Hapus tabel.
- Kehilangan izin ke katalog atau skema Katalog Unity.
Dalam hal ini, auto_capture_config
status titik akhir menunjukkan status FAILED
untuk tabel payload. Jika ini terjadi, Anda harus membuat titik akhir baru untuk terus menggunakan tabel inferensi.
Contoh berikut menunjukkan cara mengaktifkan tabel inferensi selama pembuatan titik akhir.
POST /api/2.0/serving-endpoints
{
"name": "feed-ads",
"config":{
"served_entities": [
{
"entity_name": "ads1",
"entity_version": "1",
"workload_size": "Small",
"scale_to_zero_enabled": true
}
],
"auto_capture_config":{
"catalog_name": "ml",
"schema_name": "ads",
"table_name_prefix": "feed-ads-prod"
}
}
}
Responsnya seperti berikut:
{
"name": "feed-ads",
"creator": "customer@example.com",
"creation_timestamp": 1666829055000,
"last_updated_timestamp": 1666829055000,
"state": {
"ready": "NOT_READY",
"config_update": "IN_PROGRESS"
},
"pending_config": {
"start_time": 1666718879000,
"served_entities": [
{
"name": "ads1-1",
"entity_name": "ads1",
"entity_version": "1",
"workload_size": "Small",
"scale_to_zero_enabled": true,
"state": {
"deployment": "DEPLOYMENT_CREATING",
"deployment_state_message": "Creating"
},
"creator": "customer@example.com",
"creation_timestamp": 1666829055000
}
],
"config_version": 1,
"traffic_config": {
"routes": [
{
"served_model_name": "ads1-1",
"traffic_percentage": 100
}
]
},
"auto_capture_config": {
"catalog_name": "ml",
"schema_name": "ads",
"table_name_prefix": "feed-ads-prod",
"state": {
"payload_table": {
"name": "feed-ads-prod_payload"
}
},
"enabled": true
}
},
"id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"permission_level": "CAN_MANAGE"
}
Setelah pengelogan ke tabel inferensi diaktifkan, tunggu hingga titik akhir Anda siap. Kemudian Anda dapat mulai memanggilnya.
Setelah Anda membuat tabel inferensi, evolusi skema dan menambahkan data harus ditangani oleh sistem.
Operasi berikut tidak berdampak pada integritas tabel:
- Menjalankan OPTIMIZE, ANALYZE, dan VACUUM terhadap tabel.
- Menghapus data lama yang tidak digunakan.
Jika Anda tidak menentukan auto_capture_config
, secara default konfigurasi pengaturan dari versi konfigurasi sebelumnya digunakan kembali. Misalnya, jika tabel inferensi sudah diaktifkan, pengaturan yang sama digunakan pada pembaruan titik akhir berikutnya atau jika tabel inferensi dinonaktifkan, maka tabel tersebut terus dinonaktifkan.
{
"served_entities": [
{
"name":"current",
"entity_name":"model-A",
"entity_version":"1",
"workload_size":"Small",
"scale_to_zero_enabled":true
}
],
"auto_capture_config": {
"enabled": false
}
}
Mengaktifkan tabel inferensi pada titik akhir yang ada menggunakan API
Anda juga dapat mengaktifkan tabel inferensi pada titik akhir yang ada menggunakan API. Setelah tabel inferensi diaktifkan, lanjutkan menentukan isi yang sama auto_capture_config
dalam panggilan API titik akhir pembaruan di masa mendatang untuk terus menggunakan tabel inferensi.
Catatan
Mengubah lokasi tabel setelah mengaktifkan tabel inferensi tidak didukung.
PUT /api/2.0/serving-endpoints/{name}/config
{
"served_entities": [
{
"name":"current",
"entity_name":"model-A",
"entity_version":"1",
"workload_size":"Small",
"scale_to_zero_enabled":true
},
{
"name":"challenger",
"entity_name":"model-B",
"entity_version":"1",
"workload_size":"Small",
"scale_to_zero_enabled":true
}
],
"traffic_config":{
"routes": [
{
"served_model_name":"current",
"traffic_percentage":"50"
},
{
"served_model_name":"challenger",
"traffic_percentage":"50"
}
]
},
"auto_capture_config":{
"catalog_name": "catalog",
"schema_name": "schema",
"table_name_prefix": "my-endpoint"
}
}
Menonaktifkan tabel inferensi
Saat menonaktifkan tabel inferensi, Anda tidak perlu menentukan katalog, skema, atau awalan tabel. Satu-satunya bidang yang diperlukan adalah enabled: false
.
POST /api/2.0/serving-endpoints
{
"name": "feed-ads",
"config":{
"served_entities": [
{
"entity_name": "ads1",
"entity_version": "1",
"workload_size": "Small",
"scale_to_zero_enabled": true
}
],
"auto_capture_config":{
"enabled": false
}
}
}
Untuk mengaktifkan kembali tabel inferensi yang dinonaktifkan, ikuti instruksi di Mengaktifkan tabel inferensi pada titik akhir yang ada. Anda dapat menggunakan tabel yang sama atau menentukan tabel baru.
Langkah berikutnya
Setelah mengaktifkan tabel inferensi, Anda dapat memantau model yang dilayani dalam model Anda yang melayani titik akhir dengan Databricks Lakehouse Monitoring. Untuk detailnya, lihat Alur Kerja: Memantau performa model menggunakan tabel inferensi.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk