Feathr 是一個資料和人工智慧工程平台,在 LinkedIn 生產中廣泛使用多年,並於 2022 年開源。
請閱讀我們關於 Open Sourcing Feathr 和 Feathr on Azure 的公告,以及 LF AI & Data Foundation 的公告。
羽毛讓您:
Feathr 在 AI 建模中特別有用,它可以自動計算特徵轉換並將其連接到訓練資料中,使用時間點正確的語義來避免資料外洩,並支援具體化和部署特徵以在生產中線上使用。
嘗試 Feathr 最簡單的方法是使用 Feathr Sandbox,它是一個獨立的容器,具有 Feathr 的大部分功能,您應該在 5 分鐘內提高工作效率。要使用它,只需運行以下命令:
# 80: Feathr UI, 8888: Jupyter, 7080: Interpret
docker run -it --rm -p 8888:8888 -p 8081:80 -p 7080:7080 -e GRANT_SUDO=yes feathrfeaturestore/feathr-sandbox:releases-v1.0.0
您可以查看 Feathr 快速入門 jupyter 筆記本:
http://localhost:8888/lab/workspaces/auto-w/tree/local_quickstart_notebook.ipynb
運行筆記本後,所有功能都將在 UI 中註冊,您可以存取 Feathr UI:
http://localhost:8081
如果你想在 python 環境中安裝 Feathr 用戶端,請使用以下指令:
pip install feathr
或使用 GitHub 上的最新程式碼:
pip install git+https://github.com/feathr-ai/feathr.git#subdirectory=feathr_project
Feathr 與 Databricks 和 Azure Synapse 具有本機整合:
依照 Feathr ARM 部署指南在 Azure 上執行 Feathr。這讓你可以快速開始使用 Azure 資源管理器範本進行自動化部署。
如果您想手動設定所有內容,可以查看 Feathr CLI 部署指南以在 Azure 上執行 Feathr。這使您可以了解正在發生的情況並一次設定一項資源。
姓名 | 描述 | 平台 |
---|---|---|
紐約出租車演示 | 快速入門筆記本,展示如何使用紐約市計程車票價預測範例資料定義、具體化和註冊功能。 | Azure Synapse、Databricks、本地 Spark |
Databricks 快速入門紐約計程車演示 | 包含紐約市計程車費用預測範例資料的快速入門 Databricks 筆記本。 | 資料區塊 |
特徵嵌入 | Feathr UDF 範例展示如何透過預先訓練的 Transformer 模型和飯店評論樣本資料來定義和使用特徵嵌入。 | 資料區塊 |
詐欺檢測演示 | 使用多個資料來源(例如使用者帳戶和交易資料)示範要素儲存的範例。 | Azure Synapse、Databricks、本地 Spark |
產品推薦示範 | Feathr Feature Store 範例筆記本(包含產品推薦場景) | Azure Synapse、Databricks、本地 Spark |
請閱讀 Feathr Full Capativity 以了解更多範例。以下是一些精選的:
Feathr 提供了直覺的 UI,因此您可以搜尋和探索所有可用功能及其相應的譜系。
您可以使用 Feathr UI 搜尋要素、識別資料來源、追蹤要素沿襲和管理存取控制。請在此處查看最新的現場演示,以了解 Feathr UI 為您做些什麼。當系統提示您登入時,請使用下列帳戶之一:
有關 Feathr UI 及其背後註冊表的更多信息,請參閱 Feathr Feature Registry
Feathr 具有高度可自訂的 UDF,具有本機 PySpark 和 Spark SQL 集成,可降低資料科學家的學習曲線:
def add_new_dropoff_and_fare_amount_column ( df : DataFrame ):
df = df . withColumn ( "f_day_of_week" , dayofweek ( "lpep_dropoff_datetime" ))
df = df . withColumn ( "fare_amount_cents" , df . fare_amount . cast ( 'double' ) * 100 )
return df
batch_source = HdfsSource ( name = "nycTaxiBatchSource" ,
path = "abfss://[email protected]/demo_data/green_tripdata_2020-04.csv" ,
preprocessing = add_new_dropoff_and_fare_amount_column ,
event_timestamp_column = "new_lpep_dropoff_datetime" ,
timestamp_format = "yyyy-MM-dd HH:mm:ss" )
agg_features = [ Feature ( name = "f_location_avg_fare" ,
key = location_id , # Query/join key of the feature(group)
feature_type = FLOAT ,
transform = WindowAggTransformation ( # Window Aggregation transformation
agg_expr = "cast_float(fare_amount)" ,
agg_func = "AVG" , # Apply average aggregation over the window
window = "90d" )), # Over a 90-day window
]
agg_anchor = FeatureAnchor ( name = "aggregationFeatures" ,
source = batch_source ,
features = agg_features )
# Compute a new feature(a.k.a. derived feature) on top of an existing feature
derived_feature = DerivedFeature ( name = "f_trip_time_distance" ,
feature_type = FLOAT ,
key = trip_key ,
input_features = [ f_trip_distance , f_trip_time_duration ],
transform = "f_trip_distance * f_trip_time_duration" )
# Another example to compute embedding similarity
user_embedding = Feature ( name = "user_embedding" , feature_type = DENSE_VECTOR , key = user_key )
item_embedding = Feature ( name = "item_embedding" , feature_type = DENSE_VECTOR , key = item_key )
user_item_similarity = DerivedFeature ( name = "user_item_similarity" ,
feature_type = FLOAT ,
key = [ user_key , item_key ],
input_features = [ user_embedding , item_embedding ],
transform = "cosine_similarity(user_embedding, item_embedding)" )
有關更多詳細信息,請閱讀串流媒體源攝取指南。
有關更多詳細信息,請閱讀 Feathr 中的時間點正確性和時間點連接。
按照快速入門 Jupyter Notebook 進行嘗試。還有一個配套的快速入門指南,其中包含有關筆記型電腦的更多說明。
羽毛成分 | 雲端整合 |
---|---|
離線商店 – 物件存儲 | Azure Blob 儲存、Azure ADLS Gen2、AWS S3 |
線下商店 – SQL | Azure SQL DB、Azure Synapse 專用 SQL 池、VM 中的 Azure SQL、Snowflake |
串流媒體來源 | 卡夫卡,活動中心 |
網上商店 | Redis、Azure Cosmos DB |
功能註冊與治理 | Azure Purview、ANSI SQL,例如 Azure SQL Server |
計算引擎 | Azure Synapse Spark 池、Databricks |
機器學習平台 | Azure 機器學習、Jupyter 筆記本、Databricks 筆記本 |
文件格式 | Parquet、ORC、Avro、JSON、Delta Lake、CSV |
證書 | Azure 金鑰保管庫 |
為社區建構並由社區建構。查看社區指南。
加入我們的 Slack 頻道提出問題和討論(或點擊邀請連結)。