性能上,通过切分一次请求需要处理的app 的Batch size为更小的size,并利用多线程并行请求达到提高处理效率的目的。单次响应耗时从31ms下降到14ms。
交叉特征在wide部分很重要,可以捕捉到特征间的交互,起到添加非线性的作用。
特征首先转换为低维稠密向量,维度通常O(10)-O(100)。
训练方式。 集成模型的子模型部分是独立训练,只在inference阶段合并预测。而联合训练模型是同时训练同时产出的。
模型规模。集成模型独立训练,模型规模要大一些才能达到可接受的效果。而联合训练模型中,Wide部分只需补充Deep模型的缺点,即记忆能力,这部分主要通过小规模的交叉特征实现。因此联合训练模型的Wide部分的模型特征较小。
联合模型求解采用FTRL算法,L1正则。深度部分用AdaGrad优化算法。


warm-starting方式进行模型的更新,即预先用上一个版本的向量和wide模型的权重进行初始化模型。模型加载后,空跑一轮确认在大规模服务期间无问题。有点类似为了解决tf程序懒加载而进行warm-up的空跑。
模型服务阶段将请求的batch size切分为更小的size,由多线程程序并行执行,缩短运行时间。




网友评论