Presented By O’Reilly and Intel AI
Put AI to work
April 10-11, 2018: Training
April 11-13, 2018: Tutorials & Conference
Beijing, CN

Spark+BigDL 基于Hadoop的推荐系统的深度学习实践

此演讲使用中文 (This will be presented in Chinese)

徐晓 (阿里巴巴)
14:0014:40 Thursday, April 12, 2018
实施人工智能 (Implementing AI)
Location: 多功能厅6A+B(Function Room 6A+B) Level:
Secondary topics:  深度学习(Deep Learning), 零售业与电子商务 (Retail and e-commerce)

必要预备知识 (Prerequisite Knowledge)

1. Hadoop/Spark的使用经验 2. 深度学习的基本知识 3. 推荐算法/Information Retrival领域的基本知识

您将学到什么 (What you'll learn)

1. BigDL在推荐应用中的实践经验 2. 用深度学习改造已有推荐系统的实践经验

描述 (Description)

  • 技术选型的思考

和很多成熟的推荐系统一样,演讲者负责的推荐引擎是基于类Hadoop系统构建的。该推荐引擎运行在分布式的cpu集群上(类似Yarn)。同时,上下游数据均存储在类Hive/类HBase的系统里。因此,我们选择了能够完美兼容Hadoop生态并专门为cpu优化的BigDL。当然,BigDL还有很多其他的优势。在议题中,演讲者会对这些优势进行更详细的分析。

  • 实验场景的选择/搭建

通常,我们需要选择/搭建一个实验场景来直观的比较不同算法之间效果差异。一个合适的实验场景能够很好的反映算法间的效果差异,反之,则会混淆算法的优劣。在推荐算法优化中,实验场景显得尤为重要。在议题中,演讲者会介绍实际工作中关于实验场景的一些案例和经验。

  • 神经网络配置脚本的定制

针对具体业务的算法调优是推荐算法工程师非常重要的工作。在深度学习中,这意味着需要频繁的修改网络结构、超参数,以及输入特征。通过修改代码来实现这一点显然不是一个好的选项,尤其当你使用scala/java这样的静态语言来编写Spark程序时。在议题中,演讲者会分享基于BigDL构建配置脚本来实现动态训练的一些经验。

  • 模型数据的IO

推荐用神经网络通常会包含一些非常稀疏的输入层(如:用户/商品的embedding层),这意味着模型会包含至少一个非常大的权重矩阵。在这种情况下,模型数据往往有数GB,甚至更大。在议题中,演讲者会分享如何控制模型规模,以及在Hive/HDFS上的高效读写模型的一些经验。

  • 自定义神经网络组件的开发

BigDL与其他深度学习工具一样,提供了几乎所有的常用网络组件。但在实际工作中,为了更好的实施一些探索性的新想法,我们往往需要开发自定义网络组件。在议题中,演讲者将通过案例的方式,分享使用BigDL的API开发自定义网络组件的一些经验。

Photo of 徐晓

徐晓

阿里巴巴

徐晓任职于AliOS-推荐算法引擎组。从业经验包括AliOS 应用商店/信息流推荐系统的开发和优化;AliOS算法中台研发;RecSys Challenge 2016优胜者。