"AICon2018大会的演讲资料,主题是《借助TensorFlow在CTR预估中快速落地DNN》,由vivo AI团队负责人李珂分享。内容涵盖了广告CTR系统架构、选择TensorFlow的原因、分布式TensorFlow训练以及TensorFlow Serving的实时推断方案。"
在这份资料中,李珂探讨了如何利用TensorFlow来优化广告点击率(CTR)的预测系统。首先,广告CTR系统架构是一个关键环节,它涉及前端请求、个性化CTR判断、实时预测、统计CTR等多个步骤。当用户发起请求时,系统会根据用户基础数据、用户行为数据和物品数据进行实时预测,然后通过特征工程和模型训练来生成模型。在线验证和离线特征处理是保证模型准确性的必要过程,而实时数据和实时用户行为则为系统提供了持续更新的信息。
为什么选择TensorFlow?主要因为DNN(深度神经网络)在CTR预估中的优势。在特征不变的情况下,DNN可以显著提升算法效果,它被认为是CTR预估的最后前沿,能够捕捉到特征工程难以提取的复杂特征。然而,DNN也面临挑战,如巨大的计算量,以及对推理性能的高要求,特别是对于那些基于Java技术栈的互联网公司来说,通常需要使用C++进行推理实现。而TensorFlow则能有效解决这些问题,它的分布式模式支持大规模训练,HDFS接口方便与Hadoop数据源集成,同时TensorFlow Serving解决了在线推理问题,使得在TensorFlow中设计的网络结构可以轻松应用于服务端。
在分布式TensorFlow训练中,有几个核心概念需要理解:Task、Job和Cluster。Task对应一个TensorFlow Server,通常是一个单进程实体,可以指定在特定的Job和Task索引下运行。Job是一组具有共同目标的Tasks,如参数服务器(PS)Job用于存储和共享变量,worker Job负责计算密集型任务。Cluster则包含了所有参与计算的Task,它们可能分布在不同的服务器上。
这份资料详细介绍了如何利用TensorFlow在CTR预估中部署DNN模型,从系统架构设计到实际训练和推理方案,为读者提供了一套完整的实践指南。通过理解这些内容,开发者可以更好地理解和应用深度学习技术来优化广告系统的性能。