Lær AI med Python · leksjon

Feature stores: Feast og Tecton

Feature stores på nett og uten nett, versjonering av features, point-in-time-joins og serveringsforsinkelse.

Leksjon 3 av 413 trinn

Feature stores: Feast og Tecton er en gratis leksjon i Lær AI med Python på CoddyKit. Dette er leksjon 3 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Lær AI med Python, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Lær AI med Python inneholder totalt 4 leksjoner.

Problemet med feature store

Team implementerer de samme features på nytt og på nytt, og treningspipelines beregner dem annerledes enn serving-koden. En feature store sentraliserer feature-definisjoner, gjenbruk og serving, og eliminerer dobbeltarbeid og training-serving-skjevhet.

Feast og Tecton

To ledende feature stores:

  • Feast: åpen kildekode, lettvektsløsning der du stiller med infrastrukturen selv
  • Tecton: kommersiell, driftet løsning som også tilbyr strømmebaserte feature-pipelines og styring

Begge deler bygger på kjernebegrepene entiteter, features og offline-/online-lagre.

Entiteter og feature views

En entitet er det features beskriver, for eksempel en bruker eller et produkt. En feature view grupperer relaterte features for en entitet og peker på en datakilde. Disse definisjonene ligger i kode og versjonshåndteres som alle andre artefakter.

# A user entity with features:
#   avg_purchase, days_since_signup, total_orders

feast apply

feast apply registrerer definisjonene av entiteter og feature views i feature store-registeret. Det er slik store-en lærer hvilke features som finnes, og hvor dataene deres kommer fra.

feast apply
# Registered entity user
# Registered feature view user_stats

Materialisering

Features må lastes inn i online-lageret før serving. Materialisering beregner feature-verdier frem til et bestemt tidspunkt og skriver dem til online-lageret, for eksempel Redis, slik at de er klare for lesing med lav latenstid.

feast materialize

feast materialize tar en start- og sluttdato og laster inn feature-verdier for dette tidsvinduet i online-lageret. Du kjører den etter en tidsplan for å holde online-features oppdaterte.

feast materialize 2024-01-01T00:00:00 2024-01-31T00:00:00

Online-serving

Ved inferens henter du de nyeste features for angitte entiteter med get_online_features, og sender inn entity_rows som identifiserer hvilke entiteter som skal slås opp. Den returnerer de ferskeste verdiene på millisekunder.

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()

Bygge treningsdata

Til trening kobler du feature-verdier sammen med historiske etiketter. Feature store-en leser fra offline-lageret og returnerer et datasett som er justert etter tidsstempelet for hver etikett, slik at treningsinndataene samsvarer med det serving vil levere.

training_df = store.get_historical_features(
    entity_df=labels_df,        # has user_id and event_timestamp
    features=["user_stats:avg_purchase"],
).to_df()

Point-in-time-joins

Den viktigste garantien i en feature store er point-in-time-join: For hver treningsetikett hentes bare feature-verdier som var kjent på eller før tidsstempelet til etiketten. Dette hindrer bruk av fremtidig informasjon.

Forhindre datalekkasje

Uten point-in-time-korrekthet risikerer du datalekkasje: at du trener på feature-verdier som ble beregnet etter hendelsen etiketten beskriver. Det blåser opp offline-måltallene, men modellen faller sammen i produksjon. Feature store-en håndhever tidsmessig korrekthet automatisk.

Hele livssyklusen

Livssyklusen til en feature store knytter alt sammen:

  • feast apply registrerer definisjoner
  • feast materialize laster inn online-lageret
  • Trening bruker point-in-time-joins fra offline-lageret
  • Serving leser ferske verdier via get_online_features

Hurtigsjekk

Test kunnskapene dine om feature stores.

Oppsummering

Du har lært om feature stores med Feast og Tecton:

  • feast apply registrerer entiteter og feature views
  • feast materialize laster inn online-lageret for angitte datoer
  • get_online_features leverer ferske verdier for entity_rows
  • Point-in-time-joins bygger treningsdata uten datalekkasje
Gratis å komme i gang

Lær deg Python med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
53
Leksjoner
225

Ofte stilte spørsmål

Er leksjonen «Feature stores: Feast og Tecton» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Lær AI med Python, inkludert «Feature stores: Feast og Tecton», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Lær AI med Python inneholder totalt 4 leksjoner.

Hva lærer jeg i «Feature stores: Feast og Tecton»?

Feature stores på nett og uten nett, versjonering av features, point-in-time-joins og serveringsforsinkelse. Du øver på Lær AI med Python med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Lær AI med Python?

Ingen tidligere erfaring er nødvendig. Lær AI med Python på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.

Hvor lang tid tar leksjonen «Feature stores: Feast og Tecton»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Lær AI med Python-leksjonen?

Ja. Alle Lær AI med Python-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Arkitekturmønstre for KI-systemer
  2. Skalerbare ML-pipelines med Airflow
  3. Feature stores: Feast og Tecton
  4. Observerbarhet og overvåking av KI-systemer
← Tilbake til Lær AI med Python