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
- Serializacja za pomocą Pickle i Joblib
- MLflow Model Flavor
- Eksport do ONNX na potrzeby przenośności
- Definiowanie sygnatury i schematu modelu