Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini menunjukkan langkah-langkah penelusuran kesalahan untuk masalah umum yang mungkin dihadapi pengguna saat bekerja dengan model yang melayani titik akhir. Masalah umum dapat mencakup kesalahan yang dihadapi pengguna ketika titik akhir gagal menginisialisasi atau memulai, membangun kegagalan yang terkait dengan kontainer, atau masalah selama operasi atau menjalankan model pada titik akhir.
:::tip Validasi sebelum pemecahan masalah Mengalami masalah penggelaran? Mulailah dengan validasi pra-penyebaran untuk menangkap masalah umum sebelum terjadi. :::
Debugging pembangunan container Anda
Databricks merekomendasikan untuk meninjau log untuk pemecahan masalah dan debugging kesalahan dalam beban kerja penyajian model Anda. Lihat Memantau kualitas model dan kesehatan titik akhir untuk informasi tentang log dan cara melihatnya.
Log acara di UI ruang kerja (klik tab Peristiwa) berisi informasi tentang kemajuan build kontainer. Build kontainer yang berhasil ditandai dengan SERVED_ENTITY_CONTAINER_EVENT jenis peristiwa dan pesan Container image creation finished successfully. Jika Anda tidak melihat peristiwa atau pesan build setelah satu jam membuat endpoint, hubungi support Databricks untuk bantuan.
Jika build Anda berhasil, tetapi Anda mengalami kesalahan lain, lihat Debug setelah build kontainer berhasil. Jika build Anda gagal, lihat Debug setelah kegagalan build kontainer.
Debug setelah build kontainer berhasil
Bahkan jika kontainer berhasil dibangun, mungkin ada masalah saat Anda menjalankan model atau selama pengoperasian titik akhir itu sendiri. Sub-bagian berikut merinci masalah umum dan cara memecahkan masalahnya.
Nota
Jika kode model Anda mengembalikan MlflowException kesalahan, dapat diharapkan bahwa kode respons akan dipetakan ke 4xx respons. Databricks menganggap kesalahan kode model ini adalah kesalahan yang disebabkan pelanggan, karena dapat diselesaikan berdasarkan pesan kesalahan yang dihasilkan.
5xx kode kesalahan dicadangkan untuk mengomunikasikan kesalahan yang disebabkan oleh Databricks.
Dependensi hilang
Anda mungkin mendapatkan kesalahan seperti An error occurred while loading the model. No module named <module-name>., yang mungkin menunjukkan bahwa dependensi hilang dari kontainer. Verifikasi bahwa Anda menunjukkan semua dependensi yang harus disertakan dalam build kontainer dengan benar. Beri perhatian khusus pada pustaka kustom dan pastikan bahwa .whl file disertakan sebagai artefak.
Model gagal atau waktu habis saat permintaan dikirim ke titik akhir
Anda mungkin menerima kesalahan seperti Encountered an unexpected error while evaluating the model. Verify that the input is compatible with the model for inference. saat predict() dipanggil pada model Anda.
Kesalahan ini dapat menunjukkan masalah kode dalam predict() fungsi. Databricks merekomendasikan agar Anda memuat model dari MLflow di notebook dan memanggilnya. Melakukannya menyoroti masalah dalam predict() fungsi, dan Anda dapat melihat di mana kegagalan terjadi dalam metode .
Analisis akar penyebab permintaan yang gagal
Jika permintaan ke titik akhir gagal, Anda dapat melakukan analisis akar penyebab dengan menggunakan tabel inferensi. Jika diaktifkan, tabel inferensi secara otomatis mencatat semua permintaan dan respons ke titik akhir Anda dalam tabel Katalog Unity untuk Anda kueri.
- Untuk model eksternal, titik akhir throughput yang disediakan, dan agen AI, lihat Memantau model yang dilayani menggunakan tabel inferensi yang didukung AI Gateway.
- Untuk model kustom, lihat Inferensi tabel untuk pemantauan dan debugging model.
Untuk mengkueri tabel inferensi:
- Di ruang kerja Anda, buka tab Penyajian dan pilih nama titik akhir Anda.
- Di bagian Tabel inferensi , temukan nama tabel inferensi yang sepenuhnya memenuhi syarat. Contohnya,
my-catalog.my-schema.my-table. - Jalankan yang berikut ini di buku catatan Databricks:
%sql SELECT * FROM my-catalog.my-schema.my-table - Tampilkan dan filter pada kolom seperti
request,response,request_timedanstatus_codeuntuk memahami permintaan dan mempersempit hasil.%sql SELECT * FROM my-catalog.my-schema.my-table WHERE status_code != 200 - Jika Anda mengaktifkan pelacakan agen untuk agen AI, lihat kolom Respons untuk melihat jejak terperinci. Lihat Mengaktifkan tabel inferensi untuk agen AI.
Ruang kerja melebihi konkurensi yang disediakan
Anda mungkin menerima kesalahan Workspace exceeded provisioned concurrency quota . Ini menunjukkan bahwa Anda telah mencapai batas kuota ruang kerja Anda untuk konkurensi yang telah dialokasikan. Lihat Batas dan wilayah Layanan Model untuk informasi selengkapnya tentang batas konkurensi.
Anda dapat membebaskan kuota ini dengan menghapus atau menghentikan titik akhir yang tidak digunakan.
Batas ini dapat ditingkatkan tergantung pada ketersediaan wilayah. Hubungi tim akun Databricks Anda dan berikan ID ruang kerja Anda untuk meminta peningkatan konkurensi.
Ruang kerja melebihi batas permintaan paralel
Anda mungkin menerima kesalahan 429 berikut: Exceeded max number of parallel requests. Please contact your Databricks representative to increase the limit.
Batas ini menunjukkan bahwa Anda telah mencapai batas ruang kerja pada jumlah maksimum permintaan yang dapat dikirim secara paralel. Lihat Batas dan wilayah Layanan Model untuk informasi selengkapnya tentang batas ini.
Databricks merekomendasikan untuk berpindah ke titik akhir yang dioptimalkan rute, di mana batas ini telah dihapus. Jika Anda tidak dapat berpindah untuk merutekan titik akhir yang dioptimalkan, Anda dapat mengurangi jumlah klien yang mengirim permintaan inferensi atau menghubungi perwakilan Databricks Anda untuk peningkatan kuota.
Terlalu banyak permintaan bersamaan
Anda mungkin menerima error 429 berikut: Too many concurrent requests. Consider increasing the provisioned concurrency of the served entity. Error ini menunjukkan bahwa konkurensi yang dialokasikan pada titik akhir Anda saat ini tidak dapat menangani volume lalu lintas masuk. Jika Anda telah mengaktifkan penskalaan otomatis untuk titik akhir Anda, sistem akan secara otomatis menyediakan kapasitas tambahan hingga batas yang telah dikonfigurasi pada titik akhir untuk menangani beban yang meningkat. Jika penskalaan otomatis tidak diaktifkan, pertimbangkan untuk meningkatkan konkurensi yang disediakan secara manual atau mengaktifkan penskalaan otomatis untuk menangani lonjakan lalu lintas.
Debug setelah kegagalan pembangunan kontainer
Bagian ini merinci masalah yang mungkin terjadi saat build Anda gagal.
OSError: [Errno 28] No space left on device
Kesalahan No space left dapat disebabkan oleh terlalu banyak artefak besar yang dicatat bersama model yang tidak perlu. Periksa MLflow bahwa artefak asing tidak dicatat bersama model dan coba sebarkan ulang paket pelangsing.
Masalah Azure Firewall dengan model penyajian dari Unity Catalog
Anda mungkin melihat kesalahan: Build could not start due to an internal error. If you are serving a model from UC and Azure Firewall is enabled, this is not supported by default..
Hubungi tim akun Databricks Anda untuk membantu mengatasinya.
Kegagalan build karena kurangnya ketersediaan GPU
Karena pembatasan dalam pasokan dan ketersediaan GPU, build GPU Anda mungkin gagal dengan kesalahan ini: Build could not start due to an internal error - please contact your Databricks representative..
Hubungi tim akun Databricks Anda untuk membantu mengatasinya. Bergantung pada ketersediaan wilayah, tim dapat menyediakan lebih banyak sumber daya GPU.
Versi paket pustaka yang terinstal
Databricks merekomendasikan agar Anda menentukan semua pustaka penting sebagai dependensi model untuk memastikan perilaku model yang konsisten dan dapat direproduksi di seluruh lingkungan. Dalam log build, Anda dapat mengonfirmasi versi paket yang diinstal dengan benar.
- Untuk versi MLflow, jika Anda tidak memiliki versi yang ditentukan, Model Serving menggunakan versi terbaru.
- Untuk penyajian GPU kustom, Model Serving menginstal versi yang direkomendasikan dari
cudadancuDNNsesuai dengan dokumentasi PyTorch dan Tensorflow publik.
Model log yang memerlukan flash-attn
Jika Anda mencatat model yang memerlukan flash-attn, Databricks merekomendasikan penggunaan versi roda kustom .flash-attn Jika tidak, kesalahan build seperti ModuleNotFoundError: No module named 'torch' dapat mengakibatkan.
Untuk menggunakan versi wheel kustom flash-attn, tentukan semua persyaratan pip sebagai daftar dan berikan sebagai parameter ke fungsi mlflow.transformers.log_model Anda. Anda harus menentukan versi pytorch, torch, dan torchvision yang kompatibel dengan versi CUDA yang telah Anda tentukan dalam paket wheel flash attn Anda.
Misalnya, Databricks merekomendasikan penggunaan versi dan roda berikut untuk CUDA 11.8:
- Pytorch
- Obor 2.0.1+cu118
- Torchvision 0.15.2+cu118
- Flash-Attn
logged_model=mlflow.transformers.log_model(
transformers_model=test_pipeline,
artifact_path="artifact_path",
pip_requirements=["--extra-index-url https://download.pytorch.org/whl/cu118", "mlflow==2.13.1", "setuptools<70.0.0", "torch==2.0.1+cu118", "accelerate==0.31.0", "astunparse==1.6.3", "bcrypt==3.2.0", "boto3==1.34.39", "configparser==5.2.0", "defusedxml==0.7.1", "dill==0.3.6", "google-cloud-storage==2.10.0", "ipython==8.15.0", "lz4==4.3.2", "nvidia-ml-py==12.555.43", "optree==0.12.1", "pandas==1.5.3", "pyopenssl==23.2.0", "pytesseract==0.3.10", "scikit-learn==1.3.0", "sentencepiece==0.1.99", "torchvision==0.15.2+cu118", "transformers==4.41.2", "https://github.com/Dao-AILab/flash-attention/releases/download/v2.5.8/flash_attn-2.5.8+cu118torch2.0cxx11abiFALSE-cp311-cp311-linux_x86_64.whl"],
input_example=input_example,
registered_model_name=registered_model_name)