一、背景
推荐和广告领域已经大规模应用DNN模型,但大规模稀疏性仍然是该领域模型的本质特点,为了增强模型的拟合能力,模型稀疏参数会达到万亿规模,单模型的物理大小超过1TB,需要分布式的服务来承载;另外模型在线预估场景每秒的参数获取量由每秒用户请求量(大于1000),每个用户请求计算的item数量(大于1000),每个item获取的参数量(大于200)的三者乘积组成,其对应每秒的参数获取量KPS(Keys Per Second)在2亿的级别,即使用20个副本来分摊流量单机KPS也超过1000万,行业内还没有一个通用key-value存储引擎(Redis/RocksDB/Pika[1])能满足上述的两个核心诉求,于是BIGO结合模型在线预估场景的特点进行了存储引擎和分布式服务的定制设计,获得了万亿参数规模下高性能参数服务的能力,取名Cyclone。
二、整体架构设计
1、核心目标
1、单机能够支撑1000万以上KPS且latency低于10ms
2、通过分布式集群支持万亿参数规模,TB级别的模型
3、支持多副本和多个shards的一致性增量更新
4、系统可用性达到99.99%
2、架构图
上图为整体系统架构图,在线服务部分包含cyclone proxy、cyclone meta、cyclone server三个核心服务,参数数