Co to jest magazyn funkcji?

Na tej stronie wyjaśniono, czym jest magazyn funkcji i jakie korzyści zapewnia, oraz konkretne zalety usługi Databricks Feature Store.

Magazyn funkcji to scentralizowane repozytorium, które umożliwia analitykom danych znajdowanie i udostępnianie funkcji, a także zapewnia, że ten sam kod używany do obliczania wartości funkcji jest używany do trenowania i wnioskowania modelu.

Uczenie maszynowe używa istniejących danych do tworzenia modelu w celu przewidywania przyszłych wyników. W prawie wszystkich przypadkach nieprzetworzone dane wymagają wstępnego przetwarzania i przekształcania, zanim będzie można go użyć do utworzenia modelu. Ten proces jest nazywany inżynierią cech, a dane wyjściowe tego procesu są nazywane funkcjami — blokami konstrukcyjnymi modelu.

Tworzenie funkcji jest skomplikowane i czasochłonne. Dodatkową komplikacją jest to, że w przypadku uczenia maszynowego obliczenia funkcji należy wykonać na potrzeby trenowania modelu, a następnie ponownie, gdy model jest używany do przewidywania. Te implementacje mogą nie być wykonywane przez ten sam zespół lub przy użyciu tego samego środowiska kodu, co może prowadzić do opóźnień i błędów. Ponadto różne zespoły w organizacji często będą miały podobne potrzeby funkcji, ale mogą nie być świadomi pracy wykonanej przez inne zespoły. Magazyn funkcji jest przeznaczony do rozwiązywania tych problemów.

Dlaczego warto używać magazynu funkcji usługi Databricks?

Magazyn funkcji usługi Databricks jest w pełni zintegrowany z innymi składnikami usługi Azure Databricks.

  • Odnajdywania. Interfejs użytkownika magazynu funkcji, dostępny z obszaru roboczego usługi Databricks, umożliwia przeglądanie i wyszukiwanie istniejących funkcji.
  • Lineage. Podczas tworzenia tabeli funkcji w usłudze Azure Databricks źródła danych używane do tworzenia tabeli funkcji są zapisywane i dostępne. Dla każdej funkcji w tabeli funkcji można również uzyskać dostęp do modeli, notesów, zadań i punktów końcowych korzystających z tej funkcji.
  • Integracja z ocenianie i obsługa modelu. Gdy używasz funkcji z magazynu funkcji do trenowania modelu, model jest spakowany z metadanymi funkcji. Gdy używasz modelu do oceniania wsadowego lub wnioskowania online, automatycznie pobiera funkcje ze sklepu Feature Store. Obiekt wywołujący nie musi wiedzieć o nich ani uwzględniać logiki, aby wyszukać lub dołączyć funkcje w celu oceny nowych danych. Dzięki temu wdrożenie modelu i aktualizacje są znacznie łatwiejsze.
  • Wyszukiwanie do punktu w czasie. Usługa Feature Store obsługuje szeregi czasowe i przypadki użycia oparte na zdarzeniach, które wymagają poprawności punktu w czasie.

Inżynieria cech w katalogu aparatu Unity

W przypadku środowiska Databricks Runtime 13.3 LTS lub nowszego, jeśli obszar roboczy jest włączony dla wykazu aparatu Unity, katalog aparatu Unity stanie się twoim magazynem funkcji. W wykazie aparatu Unity można użyć dowolnej tabeli delty lub tabeli delta live z kluczem podstawowym jako tabelą funkcji na potrzeby trenowania lub wnioskowania modelu. Wykaz aparatu Unity zapewnia odnajdywanie funkcji, nadzór, pochodzenie i dostęp między obszarami roboczymi.

Jak działa magazyn funkcji usługi Databricks?

Typowy przepływ pracy uczenia maszynowego przy użyciu magazynu funkcji jest zgodny z następującą ścieżką:

  1. Napisz kod, aby przekonwertować nieprzetworzone dane na funkcje i utworzyć ramkę danych platformy Spark zawierającą żądane funkcje.
  2. W przypadku obszarów roboczych, które są włączone dla wykazu aparatu Unity, zapisz ramkę danych jako tabelę funkcji w wykazie aparatu Unity. Jeśli obszar roboczy nie jest włączony dla wykazu aparatu Unity, zapisz ramkę danych jako tabelę funkcji w magazynie funkcji obszaru roboczego.
  3. Trenowanie modelu przy użyciu funkcji z magazynu funkcji. Gdy to zrobisz, model przechowuje specyfikacje funkcji używanych do trenowania. Gdy model jest używany do wnioskowania, automatycznie łączy funkcje z odpowiednich tabel funkcji.
  4. Rejestrowanie modelu w rejestrze modeli.

Teraz możesz użyć modelu do przewidywania nowych danych.

W przypadku przypadków użycia wsadowego model automatycznie pobiera funkcje, których potrzebuje ze sklepu Feature Store.

Przepływ pracy magazynu funkcji dla przypadków użycia uczenia maszynowego wsadowego.

W przypadku przypadków użycia obsługujących dane w czasie rzeczywistym opublikuj funkcje w sklepie online lub użyj tabeli online.

W czasie wnioskowania model odczytuje wstępnie obliczone funkcje ze sklepu online i dołącza je do danych podanych w żądaniu klienta do punktu końcowego obsługującego model.

Przepływ magazynu funkcji dla obsługiwanych modeli uczenia maszynowego.

Rozpoczynanie korzystania ze sklepu Feature Store

Zapoznaj się z następującymi artykułami, aby rozpocząć pracę ze sklepem Feature Store:

W przypadku korzystania z inżynierii funkcji w wykazie aparatu Unity wykaz aparatu Unity zajmuje się udostępnianiem tabel funkcji między obszarami roboczymi i używasz uprawnień wykazu aparatu Unity do kontrolowania dostępu do tabel funkcji. Następujące linki dotyczą tylko magazynu funkcji obszaru roboczego:

Obsługiwane typy danych:

Inżynieria funkcji w katalogu aparatu Unity i magazynie funkcji obszaru roboczego obsługują następujące typy danych PySpark:

  • IntegerType
  • FloatType
  • BooleanType
  • StringType
  • DoubleType
  • LongType
  • TimestampType
  • DateType
  • ShortType
  • ArrayType
  • BinaryType [1]
  • DecimalType [1]
  • MapType [1]

[1] BinaryType, DecimalTypei MapType są obsługiwane we wszystkich wersjach inżynierii funkcji w katalogu aparatu Unity i w magazynie funkcji obszaru roboczego w wersji 0.3.5 lub nowszej.

Typy danych wymienione powyżej obsługują typy funkcji, które są wspólne w aplikacjach uczenia maszynowego. Na przykład:

  • Można przechowywać gęste wektory, tensory i osadzanie jako ArrayType.
  • Można przechowywać rozrzedzonych wektorów, tensorów i osadzania jako MapType.
  • Tekst można przechowywać jako StringType.

Po opublikowaniu ArrayType w sklepach online funkcje są MapType przechowywane w formacie JSON.

Interfejs użytkownika magazynu funkcji wyświetla metadane dotyczące typów danych funkcji:

Przykład złożonych typów danych

Więcej informacji

Aby uzyskać więcej informacji na temat najlepszych rozwiązań dotyczących korzystania ze sklepu Feature Store, pobierz kompleksowy przewodnik po sklepach funkcji.