Problem, który pojawia się tylko na dużym skalę
Jedna maszynowa nauka, stworzona przez jednego lub dwóch ludzi, wytrzymuje prawie każdą ilość improvisacji. Kod inżynierii cech znajduje się w notatniku, a dane treningowe to CSV pociągnięte przez skrypt jednorazowy, a model jest wdrożony przez kogoś SSH-ing na serwer. Nie wszystko to jest dobrym modelem praktyki, ale nie jest to jeszcze problem, ponieważ niczego innego w systemie nie zależy od jego zgodności. Problemy zaczynają się dokładnie tam, gdzie drugi model potrzebuje niektórych z tych samych podstawowych danych — okresu klienta, średniego miesięcznego kosztu — a zespół budujący go albo powtarza logiczność cech odscratch (wprowadzając niewyraźną niezgodność w chwili edycji obu kopii), albo sięga do niezapisanej pipeline pierwszego modelu (tworząc ukrytą zależność, która zniszcza zdolność zespołu pierwszego zmieniania czegoś).
To kształt problemu na każdym etapie rozwoju organizacji ML: co działa dla jednego do trzech modeli staje się aktywnie szkodliwe w pięciu do piętnastu, a jest niepraktyczne gdziekolwiek po dwudziestu, kiedy wielu zespółów samodzielnie powtarza rekonstrukcję ładowania danych, obliczanie cech i dostarczanie modeli, każda w bitkowaniu sposób, bez wspólnej źródłowej prawdy dotyczącej tego, co na самом fakcie oznacza dana cecha.
Co właściwie jest magazynem cech
Magazyn cech to centralna system do definiowania, obliczania, przechowywania i dostarczania cech wejściowych modeli, podzielony na dwa zintegrowane pół. Magazyn odroczone przechowuje historyczne wartości cech przeznaczone do treningu, zwykle w magazynie danych, i obsługuje połączenia punktowe – zwracanie dla danego entyta i określonego czasu historycznego dokładnie takiej wartości cechy, jaką byłoby znane na ten moment, a nie wartość obliczona ze względu na widoczność w przeszłości. Błąd w tej kwestii jest jednym z najczęściej występujących i najtrudniejszych do wykrycia źródeł pustoszenia danych w produkcyjnej ML: trening modelu odwołania się na obecny całkowity wartościowy life-cycle klienta, gdy ta cała wartość life-cycle została faktycznie obliczona po zdarzeniu odwołania, które powinno ją przewidzieć, cichym podwyższa dokładność treningową w sposób, który nigdy nie będzie powtarzany w produkcyjności.
Magazyn online przechowuje obecne wartości cech w niskopozostałym magazynie klucz-wartość (często Redis lub podobny system), aby żądanie predykcyjne na żywo mogło pobrać cechy klienta w miliardach sekund zamiast wykonywać zapytania w magazynie danych na ścieżce żądania. Krytyczna właściwość projektu polega na tym, że oba magazyny obliczają tę samą definicję cechy z tej samej logiki źródłowej, więc model treningowy odroczonego widzi te same semantyki cech w produkcyjności – właściwość często nazywana jednostajnością treningu i predykcji, i jedną z najbardziej cichej przyczyn modeli, które wykazują się dobrą dokładnością w treningu, ale słabo po wdrożeniu.
Dlaczego ta inwestycja staje się najwyższo-leverage na skalę
Po wprowadzeniu magazynu cech, ekonomia budowy nowej modeli ulega znacznym zmianom. Nowy zespół nie musi odziedziczyć nowych cech klienta lub średniej miesięcznej wydatności — rejestruje nową cechę, jeśli jej jeszcze nie ma, lub ponownie używa istniejącej, o ile taka już istnieje, ze zdefiniowanym właścicielem i dokumentowaną historią. Organizacje, które skaliły się ponad pięćdziesięciu produkcyjnych modeli, zgłoszą, że ta jedna struktura infrastrukturalna była różnicą między wielomiesięcznym czasem do produkcji nowego modelu a tygodniowym, ponieważ większość pracy w typowych projektach ML okazuje się być zlewozmyślnictwem niż samym modelowaniem.
Zysk z konstancji kompiluje się ze wzrostem powtórnej wykorzystania: cecha, która została zweryfikowana, monitorowana i pomyślnie użyta przez trzy poprzednie modele, przekazuje większą pewność niż nowo napisana. Błąd znaleziony w zdefiniowanej wspólnej cechę zostaje naprawiony tylko raz, dla każdego modelu zależnego od niej, zamiast być naprawiany samodzielnie we wielu kopii podobnej, ale nieidentycznej logiki, które przypadkowo istnieją w organizacji.
Regulacja musi sięgać wraz z rozwojem infrastruktury
Techniczna infrastruktura sama w sobie nie rozwiązuje pół organizacyjnej części problemu skalowania. Po kilkudziesięciu modelach, nikt już nie ma pełnego widzenia co do tego, co działa, kto jest odpowiedzialny za to, czy dany model nadal jest w użyciu — a modele z rzeczywistymi konsekwencjami biznesowymi (decyzje kredytowe, flagi fałszywe, ceny) potrzebują procesu zatwierdzania proporcjonalnego do ich ryzyka, a nie takiego latającego procesu jak dla modelu eksperymentalnego wewnętrznej firmy. Praktyczny system regulacji przypisuje każdemu modelowi poziom ryzyka, wymaga dokumentacji źródła danych treningowych, używanych cech i pomiaru wydajności przed promocją do produkcji, a dla wysokorzyskowych modeli konieczne jest ocena sprawiedliwości oraz zapisany podejście do ograniczania białości plus zatwierdzenie od więcej niż jednego zatwierdzającego, a nie decyzji jednego inżyniera.
Monitorowanie cyklu życia modeli zamyka inny brak: bez aktywnego monitorowania użycia modele po prostu się zbierają — nikt ich nie usuwa, ponieważ nikt nie zauważa, że przestały być wywoływane. Monitorowanie ilości żądań dla każdego modelu i ostrzeżenie co do wszystkich nieużywanych przez okres dłuższy (zwykle 90 dni) zamienia usunięcie modeli w regularny proces kwartalny, a nie foremne badanie, które wystąpi tylko wtedy, gdy ktoś przypadkowo natknie się na stary model.
Struktura zespołu odzwierciedla ten sam wykres jak infrastruktura
Zespół ML centralny, który działa dobrze dla pięciu modeli, staje się brzegiem opóźniającym przy sto modelach, ponieważ teraz każda grupa produktów musi planować swoje potrzeby modelowania wobec ograniczonej pojemności jednego zespołu. Organizacyjna struktura, która skali się dalej, to federacja: centralny zespół platformowy tworzy i utrzymuje podzieloną infrastrukturę — magazyn cech, rejestr modeli, warstwa serwowania, monitorowanie — a inżynierowie ML włożone bezpośrednio do grup produktów budują specyficzne dla dziedziny modele na tej wspólnej platformie. Ta separacja ma znaczenie, ponieważ oddziela dwa prawdziwie różne umiejętności: inżynieria platformowa, która optimizuje na wiarygodność, zgodność i powtarzalność dla wielu konsumentów, a zastosowana modelowanie, które korzysta z głębokiej, bliskiej znajomości jednego konkretnego problemu biznesowego oraz osób odpowiadających za rozwiązanie tego problemu.
Mały centralny zespół (ok. pięć do dziesięciu inżynierów platformowych jest powszechnym zakresem w organizacjach obsługujących setki modeli produkcyjnych) wspierający znacznie większy federacyjny zespół inżynierów ML włożonych bezpośrednio do grup produktów, to proporcja, która powtarza się u firm skaliłych pomyślnie, i jest to świadomie zaprojektowane rozwiązanie, a nie coś, co naturalnie wywodzi się — organizacje, które pomijają warstwę platformową i po prostu zatrudniają więcej inżynierów ML włożonych bezpośrednio do grup produktów, tendencji do odnalezienia oryginalnej problematyki powtarzanej na większą, droższą skalę.
Często zadawane pytania
Jaką różnicę tworzy offline i online część magazynu cech?
Magazyn cech offline przechowuje historyczne wartości cech do treningu modeli i obsługuje pobieranie punktowe, co zapewnia, że dane treningowe odzwierciedlają tylko to, co było wtedy znane. Magazyn cech online przechowuje obecne wartości cech w systemie klucz-wartość o niskiej opóźnieniu, aby żądania predykcyjne na żywo mogły je pobrać milisekundami. Oba obliczają cechy z tych samych definicji, aby utrzymać zgodność między treningiem a dostarczaniem.
Czego jest training-serving skew i dlaczego magazyn cech pomaga w zapobieganiu temu?
Training-serving skew występuje, gdy wartości cech, które model widział podczas treningu, systematycznie różnią się od tych, które otrzymuje w produkcyjnym środowisku, często dlatego, że dwa oddzielne, nieco różne pakiety obliczeniowe obliczają
Na jakim skalę organizacja zwykle potrzebuje magazynu cech?
Nie ma konkretnego licznika, ale ból zaczyna się rozwijać gdzieś w przedziale od pięciu do dwudziestu modeli produkcyjnych, gdy więcej niż jedna grupa zaczyna potrzebować danych pokrywających się i koszt powtarzanej, niezgodnej logiki cech przewyższa koszt utworzenia wspólnej infrastruktury.
Dlaczego wysokie ryzykowne modele ML potrzebują więcej niż jednego zatwierdzającego przed wdrożeniem produkcyjnym?
Bo modele używane do decyzji konsekwentnych — kredytowe, udzielanie kredytów, opieka zdrowotna, bezpieczeństwo — zawierają prawne, finansowe i sprawiedliwościowe ryzyko, które jedno podejście inżyniera jest niewykluczone, że zdołałoby to w pełni złapać. Wymaganie dokumentowanego oceny sprawiedliwości oraz podpisu zatwierdzającego od więcej niż jednego kwalifikowanego recenzenta tworzy kontrolę przeciwko błędnym przekonaniom, które proces zatwierdzający jednoosobowy by nie zauważył.
Co oznacza struktura zespołu ML federacyjna w praktyce?
Oznacza, że mały centra platformowy zespół tworzy i prowadzi wspólne infrastrukturę — magazyn cech, rejestr modeli, dostarczanie, monitorowanie — podczas gdy inżynierowie ML są wcieleni bezpośrednio do indywidualnych zespołów produktów, aby budować modele specyficzne dla problemu biznesowego danego zespołu, korzystając z wspólnej platformy zamiast samodzielnie budować infrastrukturę.
▶ Wypróbuj na żywo
Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz Feature Stores: Scaling ML Past a Handful of Models i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.