Przegląd modeli ogrodów

TensorFlow Model Garden zapewnia implementacje wielu najnowocześniejszych modeli uczenia maszynowego (ML) do przetwarzania wizji i języka naturalnego (NLP), a także narzędzia przepływu pracy umożliwiające szybką konfigurację i uruchamianie tych modeli na standardowych zestawach danych. Niezależnie od tego, czy chcesz porównywać wydajność znanego modelu, weryfikować wyniki niedawno opublikowanych badań, czy rozszerzać istniejące modele, Model Garden może pomóc w prowadzeniu badań i aplikacji ML.

The Model Garden zawiera następujące zasoby dla programistów systemów uczących się:

Zasoby te są przeznaczone do użytku z platformą TensorFlow Core i integracji z istniejącymi projektami programistycznymi TensorFlow. Zasoby Model Garden są również udostępniane na licencji open source , dzięki czemu można dowolnie rozszerzać i dystrybuować modele i narzędzia.

Praktyczne modele ML wymagają intensywnych obliczeń i mogą wymagać akceleratorów, takich jak jednostki przetwarzania graficznego (GPU) i jednostki przetwarzania tensorowego (TPU). Większość modeli w Model Garden została przeszkolona na dużych zbiorach danych przy użyciu TPU. Można jednak również trenować i uruchamiać te modele na procesorach GPU i CPU.

Modele ogrodowe modele

Modele uczenia maszynowego w Model Garden zawierają pełny kod, dzięki czemu można je testować, szkolić lub ponownie szkolić pod kątem badań i eksperymentów. Ogród Modeli obejmuje dwie podstawowe kategorie modeli: modele oficjalne i modele badawcze .

Oficjalne modele

Repozytorium modeli oficjalnych to zbiór najnowocześniejszych modeli, z naciskiem na przetwarzanie wizji i języka naturalnego (NLP). Modele te są implementowane przy użyciu obecnych wysokopoziomowych interfejsów API TensorFlow 2.x. Biblioteki modeli w tym repozytorium są zoptymalizowane pod kątem wysokiej wydajności i aktywnie utrzymywane przez inżynierów Google. Oficjalne modele zawierają dodatkowe metadane, których można użyć do szybkiego konfigurowania eksperymentów przy użyciu struktury eksperymentów szkoleniowych Model Garden .

Modele badawcze

Repozytorium Research Models to zbiór modeli opublikowanych jako źródła kodu dla artykułów naukowych. Modele te są implementowane przy użyciu zarówno TensorFlow 1.x, jak i 2.x. Biblioteki modeli w folderze badań są obsługiwane przez właścicieli kodu i społeczność naukową.

Struktura eksperymentu szkoleniowego

Struktura eksperymentów szkoleniowych Model Garden umożliwia szybkie składanie i uruchamianie eksperymentów szkoleniowych przy użyciu oficjalnych modeli i standardowych zestawów danych. Struktura szkoleniowa wykorzystuje dodatkowe metadane zawarte w oficjalnych modelach Model Garden, aby umożliwić szybkie konfigurowanie modeli przy użyciu deklaratywnego modelu programowania. Eksperyment uczący można zdefiniować za pomocą poleceń języka Python w bibliotece TensorFlow Model lub skonfigurować szkolenie przy użyciu pliku konfiguracyjnego YAML, takiego jak ten przykład .

Struktura szkolenia używa tfm.core.base_trainer.ExperimentConfig jako obiektu konfiguracji, który zawiera następujące obiekty konfiguracji najwyższego poziomu:

  • runtime : Definiuje sprzęt do przetwarzania, strategię dystrybucji i inne optymalizacje wydajności
  • task : Definiuje model, dane szkoleniowe, straty i inicjalizację
  • trainer : Definiuje optymalizator, pętle treningowe, pętle oceny, podsumowania i punkty kontrolne

Aby zapoznać się z pełnym przykładem korzystania z platformy eksperymentu szkoleniowego Model Garden, zobacz samouczek Klasyfikacja obrazów za pomocą Model Garden . Aby uzyskać informacje na temat struktury eksperymentu szkoleniowego, zapoznaj się z dokumentacją interfejsu API TensorFlow Models . Jeśli szukasz rozwiązania do zarządzania pętlami uczenia dla eksperymentów uczenia modelu, zapoznaj się z Orbit .

Wyspecjalizowane operacje ML

Model Garden zawiera wiele operacji wizyjnych i NLP zaprojektowanych specjalnie do wykonywania najnowocześniejszych modeli, które działają wydajnie na GPU i TPU. Zapoznaj się z dokumentacją interfejsu API biblioteki TensorFlow Models Vision, aby uzyskać listę wyspecjalizowanych operacji wizyjnych . Zapoznaj się z dokumentacją TensorFlow Models NLP Library API, aby uzyskać listę operacji NLP . Biblioteki te zawierają również dodatkowe funkcje użytkowe używane do przetwarzania danych wizyjnych i NLP, uczenia i wykonywania modeli.

Pętle treningowe z Orbit

Narzędzie Orbit to elastyczna, lekka biblioteka zaprojektowana, aby ułatwić pisanie niestandardowych pętli szkoleniowych w TensorFlow 2.x i dobrze współpracuje z platformą eksperymentów szkoleniowych Model Garden . Orbit obsługuje typowe zadania uczenia modeli, takie jak zapisywanie punktów kontrolnych, uruchamianie oceny modeli i konfigurowanie pisania podsumowań. Bezproblemowo integruje się z tf.distribute i obsługuje działanie na różnych typach urządzeń, w tym na CPU, GPU i sprzęcie TPU. Narzędzie Orbit jest również oprogramowaniem typu open source , dzięki czemu możesz je rozszerzać i dostosowywać do swoich potrzeb szkoleniowych.

Zazwyczaj trenujesz modele TensorFlow, pisząc niestandardową pętlę treningową lub używając wysokopoziomowej funkcji Keras Model.fit . W przypadku prostych modeli można zdefiniować niestandardową pętlę treningową i zarządzać nią za pomocą niskopoziomowych metod TensorFlow, takich jak tf.GradientTape lub tf.function . Alternatywnie możesz użyć wysokiego poziomu Keras Model.fit .

Jeśli jednak Twój model jest złożony, a pętla treningowa wymaga bardziej elastycznej kontroli lub dostosowywania, powinieneś użyć Orbita. Możesz zdefiniować większość swojej pętli treningowej za pomocą klasy orbit.AbstractTrainer lub orbit.StandardTrainer . Dowiedz się więcej o narzędziu Orbit w dokumentacji interfejsu Orbit API .