机器学习中的特征存储与模型版本管理
1. 特征存储设计模式
特征存储设计模式能够满足训练时大数据批量处理的高可扩展性需求,以及在线应用服务时的极低延迟需求。目前没有单一数据库能同时处理潜在的数TB级数据扩展和毫秒级的极低延迟。特征存储通过分离的在线和离线特征存储来实现这一目标,并确保在两种场景下以一致的方式处理特征。
特征存储还充当特征数据集的版本控制仓库,允许将代码和模型开发中的持续集成/持续部署(CI/CD)实践应用于特征工程过程。这意味着新的机器学习项目可以从特征目录中选择特征,而不必从头开始进行特征工程,随着新特征的创建和添加,构建重用这些特征的新模型会变得更加容易和快速。
1.1 特征存储的替代实现
许多大型科技公司都有自己的特征存储版本,虽然架构和工具各不相同:
- Uber :Michelangelo Palette围绕Spark/Scala构建,使用Hive进行离线特征创建,Cassandra用于在线特征。
- Hopsworks :是Feast的开源替代方案,围绕数据框使用Spark和pandas,离线使用Hive,在线特征访问使用MySQL Cluster。
- Airbnb :在其生产机器学习框架Zipline中构建了自己的特征存储,使用Spark和Flink进行特征工程作业,Hive用于特征存储。
无论使用哪种技术栈,特征存储的主要组件基本相同:
| 组件 | 说明 |
| ---- | ---- |
| 特征工程处理工具 | 如Spark、
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



