Koncepcje zestawu narzędzi karty modelu

Karta Modelowa

Karty modeli to dokumenty uczenia maszynowego, które zapewniają kontekst i przejrzystość rozwoju i wydajności modelu. Można ich używać do udostępniania metadanych i metryk modelu badaczom, programistom, reporterom i nie tylko.

Niektóre przypadki użycia kart modeli obejmują:

  • Ułatwianie wymiany informacji pomiędzy twórcami modeli i twórcami produktów.
  • Informowanie użytkowników modeli uczenia maszynowego, aby mogli podejmować bardziej świadome decyzje dotyczące tego, jak z nich korzystać (lub jak z nich nie korzystać).
  • Dostarczanie modelowych informacji wymaganych do skutecznego nadzoru publicznego i rozliczalności.

Schemat

Schemat Karty Modelu jest proto opisującym dostępne pola karty Modelu. Dostępny jest również interfejs JSON . Obiekty te można łączyć z innymi systemami w celu przechowywania, analizy lub wizualizacji.

Obecnie schemat karty modelu jest ściśle egzekwowany. W Model Card Toolkit 2.0 to ograniczenie schematu zostanie zniesione.

Grafika

Model Card Toolkit automatycznie generuje grafikę dla zestawów danych TFX i wyników oceny. Grafikę można również utworzyć ręcznie za pomocą narzędzia takiego jak Matplotlib i zapisać na karcie ModelCard — szczegóły można znaleźć w interfejsie API karty Model .

W schemacie karty modelu grafika jest przechowywana w polu Graphic.image i jest kodowana jako ciągi znaków zakodowane w standardzie base64 . Zestaw narzędzi Model Card może pomóc w generowaniu obrazów base64 .

Zestaw narzędzi do kart modeli

Zestaw narzędzi Model Card umożliwia generowanie dokumentów Model Card , a także obiektów Proto i JSON za pomocą usprawnionego interfejsu Pythona.

API karty modelu

Zestaw narzędzi karty modelu zawiera interfejs API karty modelu składający się z klasy języka Python . Aktualizacje wprowadzone w obiekcie Pythona Model Card są zapisywane w protoobiekcie Model Card.

Grafika

Funkcji model_card_toolkit.utils.graphics.figure_to_base64str() można użyć do konwersji grafiki, takiej jak figury Matplotlib, na ciągi Base64.

Zapisywanie i ładowanie kart modeli

Jeśli zakończyłeś dodawanie adnotacji do swojej karty modelu i chcesz ją serializować w formacie JSON lub protobuf, użyj metody ModelCard.save() .


import model_card_toolkit as mct

model_card = mct.ModelCard()
model_card.model_details.name = 'Fine-tuned MobileNetV2 Model for Cats vs. Dogs'
model_card.save('model_cards/cats_vs_dogs.json')

Jeśli chcesz przywrócić i zaktualizować zapisaną kartę modelu, użyj funkcji model_card_toolkit.model_card.load_model_card() .


import model_card_toolkit as mct

model_card = mct.load_model_card('model_cards/cats_vs_dogs.json')
model_card.model_details.licenses.append(mct.License(identifier='Apache-2.0'))

Dokumenty karty wzorcowej

Domyślnie wygenerowany dokument karty modelu jest plikiem HTML opartym na default_template.html.jinja . Możesz jednak dostarczyć własny, niestandardowy szablon Jinja. Te pliki szablonów mogą mieć dowolny format tekstowy (HTML, Markdown, LaTeX itp.). Jako przykład podano szablon Markdown .

Integracja TFX i MLMD

Zestaw narzędzi karty modelu integruje się z narzędziami TensorFlow Extended i ML Metadata . Magazynu metadanych można użyć podczas inicjalizacji zestawu narzędzi karty modelu do wstępnego wypełnienia wielu pól kart modelu oraz wygenerowania wykresów szkoleniowych i ewaluacyjnych.

Artefakty używane przez MCT:

Wykonania stosowane przez MCT:

  • Trainer : używany do wpisania nazwy i wersji modelu

Komponent ModelCardGenerator został przeniesiony do biblioteki dodatków TFX i nie jest już zawarty w zestawie Model Card Toolkit od wersji 2.0.0. Zanim będziesz mógł korzystać z komponentu, musisz zainstalować pakiet tfx-addons :

pip install tfx-addons[model_card_generator]

Zapoznaj się z przewodnikiem ModelCardGenerator i uruchom notatnik studium przypadku , aby dowiedzieć się więcej o komponencie.