Feathr 是一个数据和人工智能工程平台,在 LinkedIn 生产中广泛使用多年,并于 2022 年开源。目前是 LF AI & Data Foundation 下的项目。
请阅读我们关于 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 频道提出问题和讨论(或单击邀请链接)。