0Pricing
MLOps Academy · Lekcja

Definiowanie sygnatury i schematu modelu

Jawnie deklaruj oczekiwane dane wejściowe i wyjściowe

Definiowanie sygnatury i schematu modelu to bezpłatna lekcja MLOps Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej MLOps Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs MLOps Academy zawiera 4 lekcji w sumie.

Co wchodzi, co wychodzi

Sygnatura modelu dokładnie określa oczekiwane dane wejściowe i zwracane dane wyjściowe. To kontrakt modelu. 📜

Dlaczego sygnatury mają znaczenie

Dzięki jasnemu schematowi osoby wywołujące wiedzą, które kolumny i typy należy przesłać. Nieprawidłowe dane wejściowe są wykrywane wcześnie, zamiast powodować błąd podczas wykonywania predykcji.

Dane wejściowe i wyjściowe

Sygnatura ma dwie części: schemat danych wejściowych, który opisuje każdą cechę, oraz schemat danych wyjściowych, który opisuje kształt predykcji.

Schematy kolumnowe a tensorowe

Modele tabelaryczne używają schematu kolumnowego z nazwanymi polami o określonych typach. Modele obrazów lub tekstu często korzystają ze schematu tensorowego opisującego kształty i typy danych.

Wywnioskuj go automatycznie

Najprostsze rozwiązanie to infer_signature: należy przekazać przykładowe dane wejściowe i wyjściowe, a MLflow sam określi schemat.

from mlflow.models import infer_signature
sig = infer_signature(X, model.predict(X))

Dołącz go podczas rejestrowania

Przekaż wywnioskowaną sygnaturę do log_model, aby została zapisana bezpośrednio w pliku MLmodel modelu.

mlflow.sklearn.log_model(model, name='m', signature=sig)

Dodaj przykład danych wejściowych

Zarejestrowanie również input_example daje współpracownikom przykład prawidłowych danych wejściowych do skopiowania i wklejenia oraz pomaga narzędziom tworzyć poprawne żądania.

mlflow.sklearn.log_model(model, name='m',
    input_example=X[:1])

Wymuszanie podczas serwowania

Podczas serwowania modelu MLflow sprawdza każde żądanie względem schematu i odrzuca dane wejściowe z nieprawidłowym typem lub brakującymi polami. 🛡️

Bezpieczna konwersja typów

MLflow może po cichu konwertować typy na szersze, na przykład int na long, ale blokuje zmiany powodujące utratę informacji, aby model nigdy nie otrzymał uszkodzonych danych.

Opcjonalne i dodatkowe kolumny

Pola można oznaczyć jako opcjonalne, a dodatkowe, nieoczekiwane kolumny zostaną pominięte, dzięki czemu drobne zmiany danych wejściowych nie przerwą serwowania.

Żywy dokument

Sygnatura pełni również funkcję dokumentacji: po otwarciu pliku MLmodel od razu widać pełny kontrakt danych wejściowych i wyjściowych modelu.

Szybki test

Ostatni test dotyczący sygnatur i schematów modeli.

Podsumowanie

Sygnatura to kontrakt danych wejściowych i wyjściowych modelu: należy ją wywnioskować, zarejestrować wraz z przykładem i pozwolić MLflow wymuszać jej przestrzeganie podczas serwowania. 🎉

Często zadawane pytania

Czy lekcja „Definiowanie sygnatury i schematu modelu” jest bezpłatna?

Tak — pełny tekst „Definiowanie sygnatury i schematu modelu” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu MLOps Academy, przejdź na CoddyKit PRO. Kurs MLOps Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Definiowanie sygnatury i schematu modelu”?

Jawnie deklaruj oczekiwane dane wejściowe i wyjściowe Ćwiczysz MLOps Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć MLOps Academy?

Nie wymagamy żadnego doświadczenia. MLOps Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Definiowanie sygnatury i schematu modelu”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji MLOps Academy?

Tak. Każda lekcja MLOps Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Serializacja za pomocą Pickle i Joblib
  2. MLflow Model Flavor
  3. Eksport do ONNX na potrzeby przenośności
  4. Definiowanie sygnatury i schematu modelu
← Powrót do MLOps Academy