Migrowanie do środowiska obsługi modeli
W tym artykule pokazano, jak włączyć obsługę modelu w obszarze roboczym i przełączyć modele na środowisko obsługi modeli mozaiki sztucznej inteligencji oparte na bezserwerowych obliczeniach.
Wymagania
- Zarejestrowany model w rejestrze modeli MLflow.
- Uprawnienia do zarejestrowanych modeli zgodnie z opisem w przewodniku dotyczącym kontroli dostępu.
- Włącz bezserwerowe obliczenia w obszarze roboczym.
Istotne zmiany
- W obszarze Obsługa modelu format żądania do punktu końcowego i odpowiedzi z punktu końcowego są nieco inne niż starsza obsługa modelu MLflow. Aby uzyskać szczegółowe informacje na temat nowego protokołu formatu, zobacz Ocenianie punktu końcowego modelu.
- W obszarze Obsługa modelu adres URL punktu końcowego
model
zawieraserving-endpoints
wartość zamiast . - Obsługa modelu obejmuje pełną obsługę zarządzania zasobami za pomocą przepływów pracy interfejsu API.
- Obsługa modeli jest gotowa do użycia w środowisku produkcyjnym i wspierana przez umowę SLA usługi Azure Databricks.
Migrowanie starszych modeli obsługujących model MLflow do obsługi modeli
Możesz utworzyć punkt końcowy obsługujący model i elastycznie przenieść przepływy pracy bez wyłączania obsługi starszych modeli MLflow.
W poniższych krokach pokazano, jak to zrobić za pomocą interfejsu użytkownika. Dla każdego modelu, na którym włączono obsługę starszych modeli MLflow:
- Zarejestruj model w wykazie aparatu Unity.
- Przejdź do pozycji Obsługa punktów końcowych na pasku bocznym obszaru roboczego uczenia maszynowego.
- Postępuj zgodnie z przepływem pracy opisanym w temacie Tworzenie punktów końcowych obsługujących model niestandardowy, aby dowiedzieć się, jak utworzyć punkt końcowy obsługujący usługę za pomocą modelu.
- Przejdź aplikację, aby użyć nowego adresu URL dostarczonego przez punkt końcowy obsługujący, aby wykonać zapytanie dotyczące modelu wraz z nowym formatem oceniania.
- Po przejściu modeli możesz przejść do pozycji Modele na pasku bocznym obszaru roboczego uczenia maszynowego.
- Wybierz model, dla którego chcesz wyłączyć obsługę starszych modeli MLflow.
- Na karcie Obsługa wybierz pozycję Zatrzymaj.
- Zostanie wyświetlony komunikat potwierdzający. Wybierz pozycję Zatrzymaj obsługę.
Migrowanie wdrożonych wersji modelu do obsługi modeli
W poprzednich wersjach funkcji obsługa modelu punkt końcowy obsługujący został utworzony na podstawie etapu zarejestrowanej wersji modelu: Staging
lub Production
. Aby przeprowadzić migrację obsługiwanych modeli z tego środowiska, możesz replikować to zachowanie w nowym środowisku obsługi modelu.
W tej sekcji przedstawiono sposób tworzenia oddzielnych punktów końcowych obsługujących model dla Staging
wersji modelu i Production
wersji modelu. W poniższych krokach pokazano, jak to zrobić za pomocą interfejsu API obsługującego punkty końcowe dla każdego z obsługiwanych modeli.
W tym przykładzie zarejestrowana nazwa modelA
modelu ma wersję 1 na etapie Production
modelu i wersję 2 na etapie Staging
modelu .
Utwórz dwa punkty końcowe dla zarejestrowanego modelu, jeden dla
Staging
wersji modelu, a drugi dlaProduction
wersji modelu.W przypadku
Staging
wersji modelu:POST /api/2.0/serving-endpoints { "name":"modelA-Staging" "config": { "served_entities": [ { "entity_name":"model-A", "entity_version":"2", // Staging Model Version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }, }
W przypadku
Production
wersji modelu:POST /api/2.0/serving-endpoints { "name":"modelA-Production" "config": { "served_entities": [ { "entity_name":"model-A", "entity_version":"1", // Production Model Version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }, }
Sprawdź stan punktów końcowych.
W przypadku przejściowego punktu końcowego:
GET /api/2.0/serving-endpoints/modelA-Staging
W przypadku produkcyjnego punktu końcowego:
GET /api/2.0/serving-endpoints/modelA-Production
Gdy punkty końcowe będą gotowe, wykonaj zapytanie dotyczące punktu końcowego przy użyciu:
W przypadku przejściowego punktu końcowego:
POST /serving-endpoints/modelA-Staging/invocations
W przypadku produkcyjnego punktu końcowego:
POST /serving-endpoints/modelA-Production/invocations
Zaktualizuj punkt końcowy na podstawie przejść wersji modelu.
W scenariuszu, w którym jest tworzony nowy model w wersji 3, można przejść do wersji 2
Production
modelu , podczas gdy model w wersji 3 może przejść doStaging
wersji i model w wersji 1 toArchived
. Te zmiany można odzwierciedlić w oddzielnych punktach końcowych obsługujących model w następujący sposób:W przypadku punktu końcowego
Staging
zaktualizuj punkt końcowy, aby używał nowej wersji modelu w programieStaging
.PUT /api/2.0/serving-endpoints/modelA-Staging/config { "served_entities": [ { "entity_name":"model-A", "entity_version":"3", // New Staging model version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }
W przypadku
Production
punktu końcowego zaktualizuj punkt końcowy, aby używał nowej wersji modelu w programieProduction
.PUT /api/2.0/serving-endpoints/modelA-Production/config { "served_entities": [ { "entity_name":"model-A", "entity_version":"2", // New Production model version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }
Migrowanie przepływów pracy wnioskowania mosaicML do obsługi modelu
Ta sekcja zawiera wskazówki dotyczące migrowania wdrożeń wnioskowania MozaikaML do usługi Mozaika AI Model Serving i zawiera przykład notesu.
Poniższa tabela zawiera podsumowanie parzystości między wnioskowaniem MosaicML i modelem obsługującym w usłudze Azure Databricks.
Wnioskowanie mozaikiML | Obsługa modelu mozaiki sztucznej inteligencji |
---|---|
create_inference_deployment | Tworzenie punktu końcowego obsługującego model |
update_inference_deployment | Aktualizowanie punktu końcowego obsługującego model |
delete_inference_deployment | Usuwanie punktu końcowego obsługującego model |
get_inference_deployment | Uzyskiwanie stanu punktu końcowego obsługującego model |
Poniższy notes zawiera przykład z przewodnikiem migracji llama-13b
modelu z biblioteki MosaicML do usługi Mozaika AI Model Serving.