Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano sposób używania zoptymalizowanych wdrożeń bezserwerowych na swoich punktach końcowych obsługi modelu. Bezserwerowe zoptymalizowane wdrożenia znacznie obniżają czas wdrażania i utrzymują środowisko obsługujące model tak samo jak środowisko trenowania modelu.
Co to są bezserwerowe zoptymalizowane wdrożenia?
Zoptymalizowane wdrożenia bezserwerowe korzystają z artefaktów modeli w procesie tworzenia pakietów i zarządzania etapami w środowiskach notesów bezserwerowych podczas rejestracji modelu, umożliwiając przyspieszone wdrażanie punktów końcowych i zapewniając spójność środowisk pomiędzy procesem trenowania a obsługą.
Różni się to od nieserwerowych zoptymalizowanych wdrożeń, w których artefakty modelu i środowiska są pakowane w kontenery w czasie wdrażania. W takich przypadkach środowisko, w którym obsługiwany jest model, może nie odpowiadać temu używanemu podczas jego trenowania.
Requirements
Bezserwerowe zoptymalizowane punkty końcowe mają takie same wymagania jak punkt końcowy obsługujący model (zobacz Wymagania). Dodatkowo:
- Model musi być modelem niestandardowym (nie FMAPI)
- Model musi być rejestrowany i zarejestrowany w notesie bezserwerowym przy użyciu wersji 3 lub 4
- Model musi być zalogowany i zarejestrowany w usłudze
mlflow>=3.1 - Model musi być zarejestrowany w UC i obsługiwany przy użyciu procesora CPU
- Maksymalny rozmiar środowiska modelu to 1 GB
Korzystanie z wdrożeń zoptymalizowanych pod kątem bezserwerowych
Podczas logowania i rejestrowania modelu użyj notebooka bezserwerowego z klientem 3 lub 4 oraz mlflow>=3.1.
Aby dostosować wersję klienta środowiska bezserwerowego, zobacz Konfigurowanie środowiska bezserwerowego.
Następnie, podczas rejestrowania modelu, ustaw parametr env_pack na żądane wartości.
import mlflow
from mlflow.utils.env_pack import EnvPackConfig
mlflow.register_model(
model_info.model_uri,
model_name,
env_pack=env_pack=EnvPackConfig(name="databricks_model_serving")
)
Dodanie parametru env_pack spowoduje, że funkcja zapakuje i przygotuje do użycia artefakty modelu oraz środowisko bezserwerowego notebooka podczas rejestracji modelu, aby były gotowe do użycia podczas wdrażania. Może to zająć dodatkowo więcej czasu w porównaniu z zarejestrowaniem modelu bez env_pack.
EnvPackConfig ma parametr install_dependencies (True domyślnie), który określa, czy zależności modelu są zainstalowane w bieżącym środowisku, aby potwierdzić, że środowisko jest prawidłowe. Jeśli chcesz pominąć ten krok, ustaw wartość na False.
Uwaga / Notatka
Punkty końcowe w obszarach roboczych bez dostępu do Internetu lub z zależnościami od bibliotek niestandardowych mogą zawieść, jeśli install_dependencies jest ustawiony na True. W takich przypadkach ustaw install_dependencies na False.
Możesz również zastąpić EnvPackConfig(...) skrótem "databricks_model_serving". Jest to odpowiednik EnvPackConfig(name="databricks_model_serving", install_dependencies = True).
Po zakończeniu rejestrowania modelu można wdrożyć model w usłudze modelu. Zwróć uwagę, że czas wdrożenia został skrócony, a dzienniki zdarzeń nie wskazują już kompilacji kontenera.