Co to jest magazyn zarządzanych funkcji?

W naszej wizji magazyn zarządzanych funkcji chcemy umożliwić specjalistom uczenia maszynowego niezależne opracowywanie i tworzenie funkcji produkcyjnych. Należy podać specyfikację zestawu funkcji, a następnie umożliwić systemowi obsługę, zabezpieczanie i monitorowanie funkcji. Pozwala to uwolnić cię od nakładu pracy związanego z konfigurowaniem i zarządzaniem podstawowymi potokami inżynierii cech.

Dzięki integracji naszego magazynu funkcji w całym cyklu życia uczenia maszynowego można szybciej eksperymentować i dostarczać modele, zwiększać niezawodność modeli i zmniejszać koszty operacyjne. Ponowne zdefiniowanie środowiska uczenia maszynowego zapewnia te zalety.

Aby uzyskać więcej informacji na temat jednostek najwyższego poziomu w magazynie funkcji, w tym specyfikacji zestawu funkcji, zobacz Opis jednostek najwyższego poziomu w magazyn zarządzanych funkcji.

Co to są funkcje?

Funkcje służą jako dane wejściowe dla modelu. W przypadku przypadków użycia opartych na danych w kontekście przedsiębiorstwa funkcje często przekształcają dane historyczne (proste agregacje, agregacje okien, przekształcenia na poziomie wiersza itp.). Rozważmy na przykład model uczenia maszynowego rezygnacji klienta. Dane wejściowe modelu mogą obejmować dane interakcji klienta, takie jak 7day_transactions_sum (liczba transakcji w ciągu ostatnich siedmiu dni) lub 7day_complaints_sum (liczba skarg w ciągu ostatnich siedmiu dni). Obie te funkcje agregujące są obliczane na poprzednich siedmiu dniach danych.

Problemy rozwiązane przez magazyn funkcji

Aby lepiej zrozumieć magazyn zarządzanych funkcji, należy najpierw zrozumieć problemy, które mogą rozwiązać magazyn funkcji.

  • Magazyn funkcji umożliwia wyszukiwanie i ponowne używanie funkcji utworzonych przez zespół, aby uniknąć nadmiarowej pracy i dostarczać spójne przewidywania.

  • Możesz tworzyć nowe funkcje z możliwością transformacji, aby sprostać wymaganiom inżynierii cech w elastyczny, dynamiczny sposób.

  • System operacjonalizuje potoki inżynierii cech wymagane do transformacji i materializacji , aby uwolnić zespół od aspektów operacyjnych i zarządza nimi.

  • Możesz użyć tego samego potoku funkcji, pierwotnie używanego do generowania danych szkoleniowych, do nowego użycia na potrzeby wnioskowania, aby zapewnić spójność online/offline oraz uniknąć niesymetryczności trenowania/obsługi.

Udostępnianie magazyn zarządzanych funkcji

Diagram that shows how you can share a feature store among multiple users and workspaces

Magazyn funkcji to nowy typ obszaru roboczego, którego może używać wiele obszarów roboczych projektu. Funkcje można używać w środowiskach opartych na platformie Spark innych niż usługa Azure Machine Edukacja, takich jak usługa Azure Databricks. Można również przeprowadzić lokalne programowanie i testowanie funkcji.

Omówienie magazynu funkcji

Diagram depicting a conceptual architecture of Azure Machine Learning

W przypadku magazyn zarządzanych funkcji należy podać specyfikację zestawu funkcji. Następnie system obsługuje obsługę, zabezpieczanie i monitorowanie funkcji. Specyfikacja zestawu funkcji zawiera definicje funkcji i opcjonalną logikę przekształcania. Można również deklaracyjnie podać ustawienia materializacji, aby zmaterializować magazyn w trybie offline (ADLS Gen2). System generuje potoki materializacji funkcji i zarządza nimi. Wykaz funkcji umożliwia wyszukiwanie, udostępnianie i ponowne używanie funkcji. Za pomocą interfejsu API obsługującego użytkownicy mogą wyszukać funkcje, aby wygenerować dane na potrzeby trenowania i wnioskowania. Interfejs API obsługi może ściągać dane bezpośrednio ze źródła lub z magazynu materializacji offline na potrzeby wnioskowania trenowania/wsadowego. System zapewnia również możliwości monitorowania zadań materializacji funkcji.

Zalety korzystania z usługi Azure Machine Edukacja magazyn zarządzanych funkcji

  • Zwiększa elastyczność dostarczania modelu (tworzenie prototypów do operacjonalizacji):
    • Odnajdywanie i ponowne używanie funkcji zamiast tworzyć funkcje od podstaw
    • Szybsze eksperymentowanie z lokalnym tworzeniem/testowaniem nowych funkcji z obsługą transformacji i używaniem specjalizacji pobierania funkcji jako tkanki łączącej w przepływie MLOps
    • Materializacja deklaracyjna i wypełnienie wsteczne
    • Wstępnie utworzone konstrukcje: składnik pobierania funkcji i specjali pobierania funkcji
  • Zwiększa niezawodność modeli uczenia maszynowego
    • Spójna definicja funkcji między jednostkami biznesowymi/organizacją
    • Zestawy funkcji są wersjonowane i niezmienne: nowsza wersja modeli może używać nowszych wersji funkcji bez zakłócania starszej wersji modelu
    • Monitorowanie materializacji zestawu funkcji
    • Materializacja pozwala uniknąć niesymetryczności trenowania/obsługi
    • Pobieranie funkcji obsługuje sprzężenia czasowe do punktu w czasie (nazywane również podróżą czasową), aby uniknąć wycieku danych.
  • Zmniejsza koszty
    • Ponowne używanie funkcji utworzonych przez inne osoby w organizacji
    • Materializacja i monitorowanie są zarządzane przez system, aby zmniejszyć koszty inżynieryjne

Odnajdywanie funkcji i zarządzanie nimi

Magazyn funkcji zarządzanych zapewnia następujące możliwości odnajdywania funkcji i zarządzania nimi:

  • Wyszukiwanie i ponowne używanie funkcji — funkcje wyszukiwania i ponownego używania w różnych magazynach funkcji
  • Obsługa wersji — zestawy funkcji są wersjonowane i niezmienne, co umożliwia niezależne zarządzanie cyklem życia zestawu funkcji. Możesz wdrożyć nowe wersje modelu z różnymi wersjami funkcji i uniknąć zakłóceń w starszej wersji modelu
  • Wyświetlanie kosztów na poziomie magazynu funkcji — podstawowy koszt związany z użyciem magazynu funkcji obejmuje zarządzane zadania materializacji platformy Spark. Ten koszt można zobaczyć na poziomie magazynu funkcji
  • Użycie zestawu funkcji — można wyświetlić listę zarejestrowanych modeli przy użyciu zestawów funkcji.

Przekształcanie funkcji

Przekształcanie funkcji obejmuje modyfikację funkcji zestawu danych w celu zwiększenia wydajności modelu. Kod przekształcania zdefiniowany w specyfikacji funkcji obsługuje przekształcanie funkcji. W celu szybszego eksperymentowania kod transformacji wykonuje obliczenia na danych źródłowych i umożliwia lokalne opracowywanie i testowanie przekształceń.

Magazyn funkcji zarządzanych zapewnia następujące możliwości przekształcania funkcji:

  • Obsługa przekształceń niestandardowych — można napisać przekształcanie platformy Spark w celu opracowania funkcji z niestandardowymi przekształceniami, takimi jak agregacje oparte na oknach, na przykład
  • Obsługa wstępnie skompilowanych funkcji — można przenieść wstępnie skompilowane funkcje do magazynu funkcji i obsłużyć je bez konieczności pisania kodu
  • Lokalne programowanie i testowanie — dzięki środowisku Spark można w pełni opracowywać i testować zestawy funkcji lokalnie

Materializacja cech

Materializacja obejmuje obliczanie wartości cech dla danego okna funkcji i trwałość tych wartości w magazynie materializacji. Teraz dane funkcji można pobierać szybciej i niezawodnie na potrzeby trenowania i wnioskowania.

  • Potok materializacji funkcji zarządzanych — deklaratywnie określasz harmonogram materializacji, a następnie system obsługuje planowanie, wstępne obliczanie i materializację wartości w magazynie materializacji.
  • Obsługa wypełniania wstecznego — materializacja zestawów funkcji na żądanie dla danego okna funkcji
  • Obsługa zarządzanej platformy Spark na potrzeby materializacji — platforma Azure Machine Edukacja zarządzana platforma Spark (w wystąpieniach obliczeniowych bezserwerowych) uruchamia zadania materializacji. Umożliwia ona skonfigurowanie infrastruktury platformy Spark i zarządzanie nią.

Uwaga

Obecnie obsługiwane są zarówno magazyny offline (ADLS Gen2) i magazyn online (Redis).

Pobieranie funkcji

Usługa Azure Machine Edukacja zawiera wbudowany składnik, który obsługuje pobieranie funkcji trybu offline. Umożliwia korzystanie z funkcji w krokach trenowania i wnioskowania wsadowego zadania potoku usługi Azure Machine Edukacja.

Magazyn funkcji zarządzanych zapewnia następujące możliwości pobierania funkcji:

  • Deklaratywne generowanie danych treningowych — dzięki wbudowanemu składnikowi pobierania funkcji można wygenerować dane treningowe w potokach bez konieczności pisania kodu
  • Deklaratywne generowanie danych wnioskowania wsadowego — za pomocą tego samego wbudowanego składnika pobierania funkcji można wygenerować dane wnioskowania wsadowego
  • Pobieranie funkcji programowych — możesz również użyć zestawu SDK get_offline_features()języka Python do wygenerowania danych trenowania/wnioskowania

Monitorowanie

Magazyn funkcji zarządzanych zapewnia następujące możliwości monitorowania:

  • Stan zadań materializacji — stan zadań materializacji można wyświetlić przy użyciu interfejsu użytkownika, interfejsu wiersza polecenia lub zestawu SDK
  • Powiadomienie dotyczące zadań materializacji — możesz skonfigurować powiadomienia e-mail dotyczące różnych stanów zadań materializacji

Zabezpieczenia

Magazyn funkcji zarządzanych zapewnia następujące możliwości zabezpieczeń:

  • Kontrola dostępu oparta na rolach — kontrola dostępu oparta na rolach dla magazynu funkcji, zestawu funkcji i jednostek.
  • Wykonywanie zapytań w magazynach funkcji — możesz utworzyć wiele magazynów funkcji z różnymi uprawnieniami dostępu dla użytkowników, ale zezwalać na wykonywanie zapytań (na przykład generowanie danych szkoleniowych) z wielu magazynów funkcji

Następne kroki