上面提到的大数据基础架构,解决了数据的收集和存储问题,并且提供了实时和离线两种计算能力,接下来就需要考虑数据的使用,从原始的、初步结构化的数据,生成决策需要的知识、统计信息和预测结果,输出到业务系统中,进而收集用户反馈,这应该是一个自动化的、持续改进的系统。
字节跳动AI全景图整个系统又包括几个关键部分:
1. 数据流水线
数据流水线需要明确数据的上下游,在流水线中,每个模块都承担着生产者或/和消费者的角色。
作为消费者,这些模块需要明确指定要消费的是什么数据,以及这些数据的形态。
作为生产者,这些模块需要明确可以提供的是哪些数据,什么形态的数据。
数据流水线,整体上充当了数据注册与发现的作用,将各个生产者和消费者串联起来,让数据沿着价值链流动。
2. 任务自动调度
有了数据流水线上的生产者和消费者的状态以及依赖关系,就可以自动调度任务,让数据真正流动起来。
这里的首要前提是各个任务有统一的触发、监控和中止的接口。
为了充分利用资源,需要有一个任务编排策略,根据任务的资源需求、时间限制,决定调度顺序和资源分配,满足系统的数据需求。
3. 系统服务
AI系统与业务系统可以在各个层次上结合,系统服务也包含几个层次:
A. 基础数据服务
包括离线数据统一访问,适合大量数据的展示,例如搜索结果、用户行为序列,一般可以使用es、hbase、presto、impala等技术,其中es/hbase意味着重新保存一份数据,需要考虑存储成本。
B. 基础智能服务
包括统计信息(固定以及adhoc查询)、用户画像服务、预测服务(模型打分)、决策支持(规则引擎)等
C. 业务智能服务
包括搜索与排序、推荐、广告、自动业务流程。
4. 反馈闭环
业务系统打点,记录最终展示的信息以及用户反馈,作为下一轮优化的基础。
网友评论