Lær AI med Python · Lektion

Feature stores: Feast og Tecton

Online- kontra offline-feature stores, feature-versionering, point-in-time joins, serving-latens.

Lektion 3 af 413 trin

Feature stores: Feast og Tecton er en gratis Lær AI med Python-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Lær AI med Python, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Lær AI med Python-kurset indeholder 4 lektioner i alt.

Problemet med featurelagre

Teams genimplementerer de samme features igen og igen, og træningsforløb beregner dem anderledes end produktionskoden. Et featurelager centraliserer featuredefinitioner, genbrug og levering og fjerner dobbeltarbejde samt skævhed mellem træning og produktion.

Feast og Tecton

To førende featurelagre:

  • Feast: open source, letvægtet og med din egen infrastruktur
  • Tecton: kommerciel og administreret tjeneste med featureforløb til datastrømme og styring

Begge deler de grundlæggende begreber entiteter, features samt offline- og online-lagre.

Entiteter og featurevisninger

En entitet er det, som features beskriver, f.eks. en bruger eller et produkt. En featurevisning grupperer relaterede features for en entitet og peger på en datakilde. Disse definitioner ligger i kode og versionsstyres som alle andre artefakter.

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

feast apply

feast apply registrerer dine entitets- og featurevisningsdefinitioner i featurelagerets register. Det er sådan, lageret lærer, hvilke features der findes, og hvor deres data kommer fra.

feast apply
# Registered entity user
# Registered feature view user_stats

Materialisering

Features skal indlæses i online-lageret, før de kan leveres. Materialisering beregner featureværdier frem til et bestemt tidspunkt og skriver dem til online-lageret (f.eks. Redis), så de er klar til læsning med lav latenstid.

feast materialize

feast materialize tager en start- og slutdato og indlæser featureværdier for dette interval i online-lageret. Du kører den efter en tidsplan for at holde online-features aktuelle.

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

Levering online

Ved inferens henter du de seneste features for bestemte entiteter med get_online_features og sender entity_rows, som identificerer de entiteter, der skal slås op. Den returnerer de nyeste værdier 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()

Oprettelse af træningsdata

Til træning sammenføjer du featureværdier med historiske labels. Featurelageret læser fra offline-lageret og returnerer et datasæt, der er tilpasset hvert labeltidspunkt, så træningsinputtet stemmer overens med det, som leveringen 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()

Sammenføjninger på et bestemt tidspunkt

Featurelagerets vigtigste garanti er sammenføjningen på et bestemt tidspunkt: For hver træningslabel henter det kun featureværdier, der var kendt på eller før labeltidspunktet. Det forhindrer brug af fremtidige oplysninger.

Forebyggelse af datalækage

Uden korrekthed på det bestemte tidspunkt risikerer du datalækage: Du træner på featureværdier, der blev beregnet efter hændelsen med labelen, hvilket oppuster offline-målingerne, men får resultaterne til at bryde sammen i produktionen. Featurelageret håndhæver automatisk tidsmæssig korrekthed.

Hele livscyklussen

Featurelagerets livscyklus samler det hele:

  • feast apply registrerer definitionerne
  • feast materialize indlæser online-lageret
  • træning bruger sammenføjninger på et bestemt tidspunkt fra offline-lageret
  • levering læser aktuelle værdier via get_online_features

Hurtig kontrol

Test din viden om featurelagre.

Opsummering

Du har lært om featurelagre med Feast og Tecton:

  • feast apply registrerer entiteter og featurevisninger
  • feast materialize indlæser online-lageret for bestemte datoer
  • get_online_features leverer aktuelle værdier for entity_rows
  • Sammenføjninger på et bestemt tidspunkt opbygger træningsdata uden lækage
Gratis at komme i gang

Lær Python med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
53
Lektioner
225

Ofte stillede spørgsmål

Er lektionen “Feature stores: Feast og Tecton” gratis?

Ja — alle 3 lektioner i læringssporet Lær AI med Python, inklusive “Feature stores: Feast og Tecton”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Lær AI med Python-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Feature stores: Feast og Tecton”?

Online- kontra offline-feature stores, feature-versionering, point-in-time joins, serving-latens. Du øver dig i Lær AI med Python med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Lær AI med Python?

Der kræves ingen tidligere erfaring. Lær AI med Python på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.

Hvor lang tid tager lektionen “Feature stores: Feast og Tecton”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

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

Ja. Alle Lær AI med Python-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Arkitekturmønstre til AI-systemer
  2. Skalerbare ML-pipelines med Airflow
  3. Feature stores: Feast og Tecton
  4. Observability og overvågning af AI-systemer
← Tilbage til Lær AI med Python