Odpowiedz już dziś na lokalne wydarzenie TensorFlow Everywhere!
Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

Zrozumienie potoków TFX

MLOps to praktyka polegająca na stosowaniu praktyk DevOps w celu automatyzacji, zarządzania i kontroli przepływów pracy uczenia maszynowego (ML). Przepływy pracy ML obejmują kroki, aby:

  • Przygotuj, analizuj i przekształcaj dane.
  • Trenuj i oceniaj model.
  • Wdrażaj wyszkolone modele do produkcji.
  • Śledź artefakty ML i poznaj ich zależności.

Zarządzanie tymi krokami w sposób ad hoc może być trudne i czasochłonne.

TFX ułatwia wdrażanie MLOps, udostępniając zestaw narzędzi, który pomaga zorganizować proces ML na różnych koordynatorach, takich jak: Apache Airflow, Apache Beam i Kubeflow Pipelines. Wdrażając przepływ pracy jako potok TFX, możesz:

  • Zautomatyzuj proces ML, co umożliwia regularne przekwalifikowanie, ocenę i wdrażanie modelu.
  • Wykorzystaj rozproszone zasoby obliczeniowe do przetwarzania dużych zestawów danych i obciążeń.
  • Zwiększ prędkość eksperymentowania, uruchamiając potok z różnymi zestawami hiperparametrów.

W tym przewodniku opisano podstawowe pojęcia wymagane do zrozumienia potoków TFX.

Artefakt

Dane wyjściowe kroków w potoku TFX nazywane są artefaktami . W kolejnych krokach przepływu pracy te artefakty mogą być używane jako dane wejściowe. W ten sposób TFX umożliwia przesyłanie danych między etapami przepływu pracy.

Na przykład standardowy składnik ExampleGen emituje serializowane przykłady, których komponenty, takie jak standardowy składnik StatisticsGen , używają jako danych wejściowych.

Artefakty muszą być silnie wpisane z typem artefaktu zarejestrowanym w magazynie metadanych ML . Dowiedz się więcej o pojęciach używanych w metadanych ML .

Typy artefaktów mają nazwę i definiują schemat jego właściwości. Nazwy typów artefaktów muszą być unikalne w sklepie z metadanymi ML. TFX udostępnia kilka standardowych typów artefaktów, które opisują złożone typy danych i typy wartości, takie jak: string, integer i float. Możesz ponownie użyć tych typów artefaktów lub zdefiniować niestandardowe typy artefaktów, które pochodzą z Artifact .

Parametr

Parametry są danymi wejściowymi dla potoków, które są znane przed wykonaniem potoku. Parametry umożliwiają zmianę zachowania potoku lub części potoku za pomocą konfiguracji zamiast kodu.

Na przykład można użyć parametrów, aby uruchomić potok z różnymi zestawami hiperparametrów bez zmiany kodu potoku.

Używanie parametrów pozwala zwiększyć prędkość eksperymentowania, ułatwiając uruchamianie potoku z różnymi zestawami parametrów.

Dowiedz się więcej o klasie RuntimeParameter .

Składnik

Składnik to implementacja zadania ML, którego można użyć jako kroku w potoku TFX. Komponenty składają się z:

  • Specyfikacja komponentu, która definiuje artefakty wejściowe i wyjściowe komponentu oraz wymagane parametry komponentu.
  • Moduł wykonujący, który implementuje kod w celu wykonania kroku w przepływie pracy ML, takiego jak pozyskiwanie i przekształcanie danych lub uczenie i ocena modelu.
  • Interfejs komponentu, który pakuje specyfikację komponentu i moduł wykonawczy do użycia w potoku.

TFX zapewnia kilka standardowych komponentów , których możesz użyć w swoich potokach. Jeśli te komponenty nie spełniają Twoich potrzeb, możesz tworzyć komponenty niestandardowe. Dowiedz się więcej o niestandardowych komponentach .

Rurociąg

Potok TFX to przenośna implementacja przepływu pracy ML, którą można uruchomić w różnych koordynatorach, takich jak: Apache Airflow, Apache Beam i Kubeflow Pipelines. Potok składa się z instancji składników i parametrów wejściowych.

Wystąpienia składników generują artefakty jako dane wyjściowe i zwykle zależą od artefaktów tworzonych przez wystąpienia składników nadrzędnych jako dane wejściowe. Sekwencja wykonywania instancji komponentów jest określana przez utworzenie skierowanego acyklicznego wykresu zależności artefaktów.

Na przykład rozważmy potok, który wykonuje następujące czynności:

  • Pobiera dane bezpośrednio z zastrzeżonego systemu przy użyciu niestandardowego komponentu.
  • Oblicza statystyki dla danych uczących przy użyciu standardowego składnika StatisticsGen.
  • Tworzy schemat danych przy użyciu standardowego składnika SchemaGen.
  • Sprawdza dane szkoleniowe pod kątem anomalii przy użyciu standardowego składnika ExampleValidator.
  • Wykonuje inżynierię funkcji na zestawie danych przy użyciu standardowego komponentu Transform.
  • Trenuje model przy użyciu standardowego komponentu Trainer.
  • Ocenia wytrenowany model przy użyciu składnika Ewaluator.
  • Jeśli model przejdzie ocenę, potok kolejkuje wytrenowany model do zastrzeżonego systemu wdrażania przy użyciu składnika niestandardowego.

Aby określić kolejność wykonywania instancji składników, TFX analizuje zależności artefaktów.

  • Komponent pozyskiwania danych nie ma żadnych zależności artefaktów, więc może to być pierwszy węzeł na wykresie.
  • StatisticsGen zależy od przykładów utworzonych podczas pozyskiwania danych, więc musi zostać wykonane po pozyskaniu danych.
  • SchemaGen zależy od statystyk utworzonych przez StatisticsGen, więc musi zostać wykonane po StatisticsGen.
  • ExampleValidator zależy od statystyk utworzonych przez StatisticsGen i schematu utworzonego przez SchemaGen, więc musi zostać wykonany po StatisticsGen i SchemaGen.
  • Transformacja zależy od przykładów utworzonych przez pozyskiwanie danych i schematu utworzonego przez SchemaGen, dlatego musi zostać wykonana po pozyskaniu danych i SchemaGen.
  • Trener zależy od przykładów utworzonych przez pozyskiwanie danych, schematu utworzonego przez SchemaGen i zapisanego modelu utworzonego przez Transform. Trainer można wykonać tylko po pozyskaniu danych, SchemaGen i Transform.
  • Ewaluator zależy od przykładów utworzonych przez pozyskanie danych i zapisanego modelu utworzonego przez trenera, więc musi zostać wykonany po pozyskaniu danych i trenerze.
  • Niestandardowy program wdrożeniowy zależy od zapisanego modelu utworzonego przez trenera i wyników analizy utworzonych przez osobę oceniającą, dlatego wdrażający musi zostać wykonany po trenerze i oceniającym.

Na podstawie tej analizy koordynator uruchamia:

  • Pozyskiwanie danych, instancje składnika StatisticsGen, SchemaGen sekwencyjnie.
  • Składniki ExampleValidator i Transform mogą działać równolegle, ponieważ współdzielą zależności artefaktów wejściowych i nie zależą od siebie nawzajem.
  • Po zakończeniu komponentu Transform, instancje trenera, ewaluatora i niestandardowego komponentu wdrażającego są uruchamiane sekwencyjnie.

Dowiedz się więcej o tworzeniu potoku TFX .

Szablon rurociągu TFX

Szablony potoków TFX ułatwiają rozpoczęcie tworzenia potoków, udostępniając wstępnie utworzony potok, który można dostosować do danego przypadku użycia.

Dowiedz się więcej o dostosowywaniu szablonu potoku TFX .

Uruchomienie rurociągu

Uruchomienie to pojedyncze wykonanie potoku.

Orchestrator

Orchestrator to system, w którym można wykonywać przebiegi potoków. TFX obsługuje koordynatorów, takich jak: Apache Airflow , Apache Beam i Kubeflow Pipelines . TFX używa również terminu DagRunner w odniesieniu do implementacji obsługującej orkiestrator.