「免费学习 60+ 节公开课:投票页面,点击讲师头像」
作者 | 陈迪豪,第四范式资深架构师
编辑 | Jane
出品 | AI科技大本营(ID:rgznai100)
本文为CSDN即将推出的《新战场:决胜中台》专刊的第 5 篇文章。
一、机器学习场景与高性能特征管理中台
理想的机器学习场景是给到数据,训练模型后就能直接上线服务。然而真实的 AI 应用落地过程非常复杂,并不是有数据、懂算法就可以了。
首先建模具有一定门槛,建模科学技术人才除了要懂机器学习算法,还要知道熟悉建模业务场景,会使用 SQL、Python 做数据处理、特征拼接、支持时序特征;建模完成到上线,要保持在线与离线一致性,实现高性能硬实时预估服务;工程上涉及特征监控、读写分离、实时特征计算,这些情况在真实的 AI 应用场景中都要考虑到。
以我们合作的某银行事中反欺诈场景下的性能要求为例:首先实时性要求 P99 响应时间在 20 毫秒以内 ,比大家在业务里统计的平均延时要小很多,只有 1% 的时间可以在 20 毫秒以上;二是建模特征非常复杂,在线和离线的模型特征超过1000个;三是窗口特征需要能够在实时场景中生成;四是模型迭代周期短,需要定期上线更新。
在这种情况下,对企业特征管理中台有什么要求?
1、存储和计算必须是高性能的;
2、对离线特征的支持要与在线保持一致性;
3、训练得到的模型要支持端到端的预估;
4、支持单行和时序特征;
5、预估服务支持分布式高可用。
其中为什么强调特征的离线在线一致性?
用开源软件一般可以做到的是,离线积累一部分数据,然后用开源的深度学习框架训练模型,模型上线时把模型加载进来,但是机器学习除了模型预估还包括前面的处理过程,每个离线特征要支持在线预估都需要花几倍时间进行维护,以确保离线数据到在线预估的特征数据是一致的。
我们如何保证离线在线一致性呢?
通过一个统一的特征描述语言,用户离线环境中用这种统一特征描述语言进行表示与建模,在线环境中直接使用这个建模脚本来上线。