Magazyny cech: Feast i Tecton
Magazyny cech online i offline, wersjonowanie cech, złączenia point-in-time, opóźnienie udostępniania.
Magazyny cech: Feast i Tecton to bezpłatna lekcja Learn AI with Python na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Learn AI with Python, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Learn AI with Python zawiera 4 lekcji w sumie.
Problem feature store
Zespoły wielokrotnie implementują te same cechy, a potoki trenowania obliczają je inaczej niż kod serwowania. Feature store centralizuje definicje cech, ich ponowne wykorzystanie i serwowanie, eliminując powielanie pracy oraz training-serving skew.
Feast i Tecton
Dwa wiodące rozwiązania typu feature store:
- Feast: rozwiązanie open source, lekkie, wykorzystujące własną infrastrukturę
- Tecton: komercyjne, zarządzane rozwiązanie, które dodatkowo zapewnia strumieniowe potoki cech i nadzór
Oba rozwiązania opierają się na podstawowych pojęciach encji, cech oraz offline store i online store.
Encje i feature views
Encja to obiekt opisywany przez cechy (na przykład użytkownik lub produkt). Feature view grupuje powiązane cechy dla encji i wskazuje źródło danych. Definicje te znajdują się w kodzie i są wersjonowane jak każdy inny artefakt.
# A user entity with features:
# avg_purchase, days_since_signup, total_ordersfeast apply
feast apply rejestruje definicje encji i feature view w rejestrze feature store. Dzięki temu magazyn poznaje istniejące cechy oraz źródła ich danych.
feast apply
# Registered entity user
# Registered feature view user_statsMaterializacja
Przed rozpoczęciem serwowania cechy muszą zostać załadowane do online store. Materializacja oblicza wartości cech do określonego momentu i zapisuje je w online store (np. Redis), aby były gotowe do odczytu z małym opóźnieniem.
feast materialize
feast materialize przyjmuje datę początkową i końcową, a następnie ładuje wartości cech z tego przedziału do online store. Uruchamia się je zgodnie z harmonogramem, aby cechy online były aktualne.
feast materialize 2024-01-01T00:00:00 2024-01-31T00:00:00Serwowanie online
Podczas wnioskowania najnowsze cechy dla określonych encji pobiera się za pomocą get_online_features, przekazując entity_rows identyfikujące wyszukiwane encje. Funkcja zwraca najświeższe wartości w ciągu milisekund.
from feast import FeatureStore
store = FeatureStore(repo_path=".")
features = store.get_online_features(
features=["user_stats:avg_purchase", "user_stats:total_orders"],
entity_rows=[{"user_id": 123}],
).to_dict()Budowanie danych treningowych
Na potrzeby trenowania wartości cech łączy się z historycznymi etykietami. Feature store odczytuje dane z offline store i zwraca zbiór danych wyrównany względem znacznika czasu każdej etykiety, zapewniając zgodność danych wejściowych trenowania z tymi, które zostaną udostępnione podczas serwowania.
training_df = store.get_historical_features(
entity_df=labels_df, # has user_id and event_timestamp
features=["user_stats:avg_purchase"],
).to_df()Złączenia point-in-time
Kluczową gwarancją feature store jest złączenie point-in-time: dla każdej etykiety treningowej pobierane są wyłącznie wartości cech znane w chwili znacznika czasu etykiety lub wcześniej. Zapobiega to wykorzystywaniu informacji z przyszłości.
Zapobieganie wyciekowi danych
Bez poprawności point-in-time istnieje ryzyko wycieku danych: trenowania na wartościach cech obliczonych po wystąpieniu zdarzenia odpowiadającego etykiecie. Zawyża to metryki offline, ale powoduje ich załamanie na produkcji. Feature store automatycznie wymusza poprawność w czasie.
Pełny cykl życia
Cykl życia feature store łączy wszystkie elementy:
feast applyrejestruje definicjefeast materializeładuje dane do online store- trenowanie korzysta ze złączeń point-in-time z offline store
- serwowanie odczytuje aktualne wartości za pomocą
get_online_features
Szybki test
Proszę sprawdzić swoją wiedzę na temat feature store.
Podsumowanie
Poznali Państwo feature store z użyciem Feast i Tecton:
feast applyrejestruje encje i feature viewsfeast materializeładuje online store dla określonych datget_online_featuresudostępnia aktualne wartości dla entity_rows- Złączenia point-in-time budują dane treningowe wolne od wycieku
Często zadawane pytania
Czy lekcja „Magazyny cech: Feast i Tecton” jest bezpłatna?
Tak — pełny tekst „Magazyny cech: Feast i Tecton” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Learn AI with Python, przejdź na CoddyKit PRO. Kurs Learn AI with Python zawiera 4 lekcji w sumie.
Co nauczysz się w „Magazyny cech: Feast i Tecton”?
Magazyny cech online i offline, wersjonowanie cech, złączenia point-in-time, opóźnienie udostępniania. Ćwiczysz Learn AI with Python z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Learn AI with Python?
Nie wymagamy żadnego doświadczenia. Learn AI with Python w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „Magazyny cech: Feast i Tecton”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Learn AI with Python?
Tak. Każda lekcja Learn AI with Python zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Wzorce architektury systemów AI
- Skalowalne potoki ML z Airflow
- Magazyny cech: Feast i Tecton
- Obserwowalność i monitorowanie systemów AI