推理性能提升一倍,TensorFlow Feature Column性能优化实践

01

写在前面

在CTR(Click Through Rate)点击率预估的推荐算法场景,TensorFlow Feature Column被广泛应用到实践中。这一方面带来了模型特征处理的便利,另一方面也带来了一些线上推理服务的性能问题。为了优化推荐业务性能,提升线上服务效率,爱奇艺深度学习平台团队在实践中总结了一些性能优化方法。

经过这些优化,推荐业务的线上推理服务性能效率可以提升一倍以上,p99延迟降低达到50%以上。

02

背景介绍

Feature Column是TensorFlow提供的用于处理结构化数据的工具,是将样本特征映射到用于训练模型特征的桥梁。它提供了多种特征处理方法,让算法人员可以很容易将各种原始特征转换为模型的输入,来进行模型实验。

如上图所示,所有Feature Column都源自FeatureColumn类,并继承了三个子类CategoricalColumn、DenseColumn和SequenceDenseColumn,分别对应稀疏特征稠密特征序列稠密特征。算法人员可以按照样本特征的类型找到对应的接口直接适配。

而且 Feature Column 和 TF Estimator 接口有很好的集成,通过定义好对应的特征输入就可以直接在预定义的 Estimator 模型中使用。TF Estimator 在推荐算法的使用非常普遍,特别是它封装了分布式训练的功能。

下图是一个使用Feature Column处理特征,进入到 Estimator DNN Classifier的示例:

虽然Feature Column使用起来很方便,模型代码编写比较快,但是在爱奇艺推荐类业务的线上服务落地过程中,一些性能问题逐渐凸显,下面将逐个介绍我们在实际中碰到的一些问题,以及如何优化。

03

整型特征哈希优化

推荐类模型通常都会将ID类特征哈希到一定数量的bucket 分桶,然后转换成 Embedding再作为神经网络的输入,比如视频类ID特征,用户ID特征,商品ID特征等。示例如下:

在` categorical_column_with_hash_bucket `的文档[2]里面说到:对于String类型的输入,会执行`output_id = Hash(input_feature_st

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值