Udostępnij za pośrednictwem


Co to jest magazyn zarządzanych funkcji?

W przypadku magazyn zarządzanych funkcji chcemy, aby specjaliści zajmujący się uczeniem maszynowym chcieli niezależnie opracowywać i tworzyć funkcje produkcyjne. Należy podać specyfikację zestawu funkcji. System obsługuje obsługę, zabezpieczanie i monitorowanie funkcji. Pozwala to uwolnić Cię od podstawowego potoku inżynierii cech i obciążeń związanych z zarządzaniem.

Dzięki integracji naszego magazynu funkcji w całym cyklu życia uczenia maszynowego można eksperymentować i dostarczać modele szybciej, 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?

Funkcja służy jako dane wejściowe dla modelu. W przypadku przypadków użycia opartych na danych w kontekście przedsiębiorstwa funkcja często przekształca 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 z klientem — na przykład 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 w ciągu ostatnich siedmiu dni danych.

Problemy rozwiązane przez magazyn funkcji

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

  • Magazyn funkcji umożliwia wyszukiwanie i ponowne używanie funkcji tworzonych przez zespół w celu uniknięcia nadmiarowej pracy i dostarczania spójnych przewidywań.

  • Możesz utworzyć nową funkcję z możliwością transformacji, aby spełnić wymagania inżynieryjne funkcji 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 przedstawiający sposób udostępniania magazynu funkcji między wieloma użytkownikami i obszarami roboczymi

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 Learning, takich jak Azure Databricks. Można również przeprowadzić lokalne programowanie i testowanie funkcji.

Omówienie magazynu funkcji

Diagram przedstawiający architekturę koncepcyjną usługi 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 Learning 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 — przekształcanie platformy Spark umożliwia tworzenie funkcji za pomocą przekształceń niestandardowych — na przykład agregacji opartych na oknach
  • 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, prekomputację 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 — zarządzana platforma Spark w usłudze Azure Machine Learning (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 Learning 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 Learning.

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