Model Sunma ile özel Python kitaplıkları kullanma
Bu makalede, modelinizi günlüğe kaydederken bir özel yansıtma sunucusundan özel kitaplıklar veya kitaplıklar eklemeyi öğreneceksiniz, böylece model dağıtımlarını Model Sunma ile kullanabilirsiniz. Eğitilmiş bir ML modeli dağıtılmaya hazır olduktan sonra ancak bir Azure Databricks Model Sunma uç noktası oluşturmadan önce bu kılavuzda ayrıntılı adımları tamamlamanız gerekir.
Model geliştirme genellikle ön veya son işleme, özel model tanımları ve diğer paylaşılan yardımcı programlar için işlevler içeren özel Python kitaplıklarının kullanılmasını gerektirir. Ayrıca birçok kurumsal güvenlik ekibi, tedarik zinciri saldırıları riskini azaltmak için Nexus veya Artifactory gibi özel PyPi yansıtmalarının kullanılmasını teşvik eder. Azure Databricks, Azure Databricks çalışma alanında özel bir yansıtmadan özel kitaplıkların ve kitaplıkların yüklenmesi için yerel destek sunar.
Gereksinimler
- MLflow 1.29 veya üzeri
1. Adım: Bağımlılık dosyasını karşıya yükleme
Databricks, bağımlılık dosyanızı Unity Kataloğu birimlerine yüklemenizi önerir. Alternatif olarak, Azure Databricks kullanıcı arabirimini kullanarak Databricks Dosya Sistemi'ne (DBFS) yükleyebilirsiniz.
Kitaplığınızın not defterinizde kullanılabildiğinden emin olmak için kullanarak yüklemeniz %pip%
gerekir. kullanarak %pip
kitaplığı geçerli not defterine yükler ve kümeye bağımlılığı indirir.
2. Adım: Modeli özel bir kitaplıkla günlüğe kaydetme
Önemli
Özel bir PyPi yansıtmasına işaret ederek özel kitaplığı yüklerseniz bu bölümdeki yönergeler gerekli değildir.
Kitaplığı yükledikten ve Python tekerlek dosyasını Unity Kataloğu birimlerine veya DBFS'ye yükledikten sonra betiğinize aşağıdaki kodu ekleyin. içinde extra_pip_requirements
bağımlılık dosyanızın yolunu belirtin.
mlflow.sklearn.log_model(model, "sklearn-model", extra_pip_requirements=["/volume/path/to/dependency.whl"])
DBFS için aşağıdakileri kullanın:
mlflow.sklearn.log_model(model, "sklearn-model", extra_pip_requirements=["/dbfs/path/to/dependency.whl"])
Özel kitaplığınız varsa, günlüğü yapılandırırken modelinizle ilişkili tüm özel Python kitaplıklarını belirtmeniz gerekir. Bunu log_model() içindeki veya conda_env
parametreleriyle extra_pip_requirements
yapabilirsiniz.
Önemli
DBFS kullanıyorsanız, günlüğe kaydetme extra_pip_requirements
sırasında yolunuz öncesinde eğik çizgi /
eklediğinizden dbfs
emin olun. DbFS yolları hakkında daha fazla bilgi için bkz. Azure Databricks'te dosyalarla çalışma.
from mlflow.utils.environment import _mlflow_conda_env
conda_env = _mlflow_conda_env(
additional_conda_deps= None,
additional_pip_deps= ["/volumes/path/to/dependency"],
additional_conda_channels=None,
)
mlflow.pyfunc.log_model(..., conda_env = conda_env)
3. Adım: MLflow modelini Python tekerlek dosyalarıyla güncelleştirme
MLflow, modelinizi python tekerlek dosyaları olarak önceden paketlenmiş tüm bağımlılıklarıyla günlüğe kaydetmek için add_libraries_to_model() yardımcı programını sağlar. Bu, modelinizin bağımlılıkları olarak belirtilen diğer tüm kitaplıklara ek olarak özel kitaplıklarınızı da modelle birlikte paketler. Bu, modeliniz tarafından kullanılan kitaplıkların eğitim ortamınızdan erişilebilen kitaplıklar olmasını garanti eder.
Aşağıdaki örnekte, model_uri
söz dizimini kullanarak model kayıt defterine başvurur models:/<model-name>/<model-version>
.
Model kayıt defteri URI'sini kullandığınızda, bu yardımcı program mevcut kayıtlı modeliniz altında yeni bir sürüm oluşturur.
import mlflow.models.utils
mlflow.models.utils.add_libraries_to_model(<model-uri>)
4. Adım: Modelinizi sunma
Dahil edilen paketleri içeren yeni bir model sürümü model kayıt defterinde kullanılabilir olduğunda, model sunumunu içeren bir uç noktaya bu model sürümünü ekleyebilirsiniz.
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