Samouczek: wdrażanie i wykonywanie zapytań względem modelu niestandardowego

Ten artykuł zawiera podstawowe kroki wdrażania i wykonywania zapytań dotyczących modelu niestandardowego, czyli tradycyjnego modelu uczenia maszynowego zainstalowanego w wykazie aparatu Unity lub zarejestrowanego w rejestrze modeli obszarów roboczych przy użyciu usługi Azure Databricks model obsługującego.

Poniżej przedstawiono przewodniki opisujące obsługę i wdrażanie modelu podstawowego na potrzeby generowania sztucznej inteligencji i llM:

Krok 1. Rejestrowanie modelu w rejestrze modeli

Istnieją różne sposoby rejestrowania modelu na potrzeby obsługi modeli:

Technika rejestrowania opis
Automatyczne rejestrowanie Ta opcja jest automatycznie włączana w przypadku korzystania z środowiska Databricks Runtime na potrzeby uczenia maszynowego. Jest to najprostszy sposób, ale daje ci mniejszą kontrolę.
Rejestrowanie przy użyciu wbudowanych smaków MLflow Model można rejestrować ręcznie za pomocą wbudowanych smaków modeli MLflow.
Rejestrowanie niestandardowe za pomocą polecenia pyfunc Użyj tej opcji, jeśli masz model niestandardowy lub jeśli potrzebujesz dodatkowych kroków przed lub po wnioskowaniu.

W poniższym przykładzie pokazano, jak zarejestrować model MLflow przy użyciu odmiany transformer i określić wymagane parametry dla modelu.

with mlflow.start_run():
    model_info = mlflow.transformers.log_model(
        transformers_model=text_generation_pipeline,
        artifact_path="my_sentence_generator",
        inference_config=inference_config,
        registered_model_name='gpt2',
        input_example=input_example,
        signature=signature
    )

Po zarejestrowaniu modelu upewnij się, że model został zarejestrowany w wykazie aparatu Unity MLflow lub rejestrze modeli.

Krok 2. Tworzenie punktu końcowego przy użyciu interfejsu użytkownika obsługującego

Po zarejestrowaniu zarejestrowanego modelu i sposobie jego obsługi możesz utworzyć punkt końcowy obsługujący model przy użyciu interfejsu użytkownika obsługującego usługę.

  1. Kliknij pozycję Obsługa na pasku bocznym, aby wyświetlić interfejs użytkownika obsługującego.

  2. Kliknij pozycję Utwórz obsługujący punkt końcowy.

    Okienko obsługi modelu w interfejsie użytkownika usługi Databricks

  3. W polu Nazwa podaj nazwę punktu końcowego.

  4. W sekcji Obsługiwane jednostki

    1. Kliknij pole Jednostka, aby otworzyć formularz Wybierz obsługiwaną jednostkę.
    2. Wybierz typ modelu, który chcesz obsłużyć. Formularz jest dynamicznie aktualizowany na podstawie wybranego wyboru.
    3. Wybierz model i wersję modelu, którą chcesz obsłużyć.
    4. Wybierz procent ruchu, który ma być kierowany do obsługiwanego modelu.
    5. Wybierz rozmiar obliczeniowy do użycia. Na potrzeby obciążeń można użyć procesora CPU lub procesora GPU. Obsługa modelu obsługującego procesor GPU jest dostępna w publicznej wersji zapoznawczej. Aby uzyskać więcej informacji na temat dostępnych obliczeń procesora GPU, zobacz Typy obciążeń procesora GPU.
    6. W obszarze Skalowanie obliczeń w poziomie wybierz rozmiar skalowania zasobów obliczeniowych w poziomie, który odpowiada liczbie żądań, które może przetwarzać ten obsługiwany model w tym samym czasie. Ta liczba powinna być w przybliżeniu równa czasowi wykonywania modelu QPS x.
      1. Dostępne rozmiary są małe dla 0–4 żądań, średnich 8-16 żądań i dużych dla 16-64 żądań.
    7. Określ, czy punkt końcowy powinien być skalowany do zera, gdy nie jest używany.
  5. Kliknij pozycję Utwórz. Zostanie wyświetlona strona Obsługa punktów końcowych z stanem obsługującym punkt końcowy wyświetlany jako Nie wszystko gotowe.

    Tworzenie punktu końcowego obsługującego model

Jeśli wolisz programowo utworzyć punkt końcowy za pomocą interfejsu API obsługującego usługę Databricks, zobacz Tworzenie niestandardowych punktów końcowych obsługujących model.

Krok 3. Wykonywanie zapytań względem punktu końcowego

Najprostszym i najszybszym sposobem testowania i wysyłania żądań oceniania do obsługiwanego modelu jest użycie interfejsu użytkownika obsługującego.

  1. Na stronie Obsługa punktu końcowego wybierz pozycję Punkt końcowy zapytania.

  2. Wstaw dane wejściowe modelu w formacie JSON i kliknij pozycję Wyślij żądanie. Jeśli model został zarejestrowany przy użyciu przykładu danych wejściowych, kliknij pozycję Pokaż przykład , aby załadować przykład danych wejściowych.

       {
       "inputs" : ["Hello, I'm a language model,"],
       "params" : {"max_new_tokens": 10, "temperature": 1}
       }
    

Aby wysyłać żądania oceniania, skonstruuj kod JSON przy użyciu jednego z obsługiwanych kluczy i obiektu JSON odpowiadającego formatowi wejściowemu. Zobacz Tworzenie zapytań obsługujących punkty końcowe dla modeli niestandardowych, aby uzyskać obsługiwane formaty i wskazówki dotyczące wysyłania żądań oceniania przy użyciu interfejsu API.

Jeśli planujesz uzyskać dostęp do punktu końcowego obsługującego usługę poza interfejsem użytkownika usługi Azure Databricks, potrzebujesz elementu DATABRICKS_API_TOKEN.

Ważne

Najlepszym rozwiązaniem w zakresie zabezpieczeń w scenariuszach produkcyjnych usługa Databricks zaleca używanie tokenów OAuth maszyny do maszyny podczas uwierzytelniania w środowisku produkcyjnym.

W przypadku testowania i programowania usługa Databricks zaleca używanie osobistego tokenu dostępu należącego do jednostek usługi zamiast użytkowników obszaru roboczego. Aby utworzyć tokeny dla jednostek usługi, zobacz Zarządzanie tokenami dla jednostki usługi.

Przykładowe notesy

Zapoznaj się z poniższym notesem służącym do obsługi modelu MLflow transformers z obsługą modelu.

Wdrażanie notesu modelu rozpoznawania twarzy transformers przytulania

Pobierz notes

Zapoznaj się z poniższym notesem służącym do obsługi modelu MLflow pyfunc z obsługą modelu. Aby uzyskać dodatkowe informacje na temat dostosowywania wdrożeń modelu, zobacz Wdrażanie kodu w języku Python przy użyciu obsługi modelu.

Wdrażanie notesu modelu MLflow pyfunc

Pobierz notes