-->

深度学习推荐系统实战_01_开篇词_从0开始搭建一个深度学习推荐系统

你好,我是王哲。

现在在一家硅谷的科技公司rucu担任机器学习工程师。

Roou是美国最大的视频流媒体平台,在美国的智能电视市场占有率超过三分之一。

我作为一荐系统的架构负责人,在最近两年多的时间里,跟团队一起搭建起了一整套深度学习推荐系统,和之前的传统的推荐系统比起来,在播放时长、点击率等效果指标上取得了百分之三十以上的提升。

在这个过程中啊,我和我的团队踩过不少坑,也总结了很多经验。

其中最宝贵的一点就是只有建立起深度学习推荐系统的知识体系,从系统的层面考虑问题,我们才能够实现整体效果上的优化。

与此同时呢,我还发现越来越多的在校生和刚入行的工程师都想要熟悉,或者是在深度学习推荐系统领域有进一步的发展。

但是啊经常因为缺少系统的学习机会,我作为一起个难点上停滞不前。

研比如说有一些对深度学习推荐系统非常感兴趣的在校生,很希望能有一个前辈能带领他们熟悉业界的热门技术,让他们在进入相关领域前就积攒起足够的工程经验。

我觉得这种想法是非常好的,因为我也面试过超过两三百位应届生了。

以我的经验,最让企业青睐的应届生就是动手能力强,有实习经验,有业界项目经验的,但这种锻炼自己的机会却很难找到。

再比如说一些已经进入推荐广告,搜索相关部门,但是工作时间不长,或者有兴趣转行进入这些行业的工程师,他们想要主动承担起某个模块的开发任务,或者想要去拓展自己的技术视野和格局,向更高的职位进发。

但是呢想实现这些,需要一个建立整套领系系系和实践框架的机会,但也是很难遇到的。

我是一个十分赞同开源思想,也很乐于分享的人。

看到那么多同行有这样的需求之后,我就在想,为什么不把自己建立行业知识体系的过程分享出来呢?所以啊在二零二零年初,我发布了我的新书深度学习推荐系统。

希望这本书能帮助一些同学建立起行业的知识体图。

让我没想到的是,这本书在半年之内就从印了七次,销量接近两万册,豆瓣评分也达到了九点三分,这对于一本技术书来说是非常难得的。

新书获得大家认可的同时,我也收到了很多读者的反馈,其中最多的一点就是书中的知识非常体系化,帮助我建立了行业的知识蓝图。

但是啊如果能有配套的实践项目就更完美了。

就像linux之父linux说的那句话,tk kts chip p sume的code.但实践对于工程来来永永远是最重要的。

所以我就趁热打铁,在即刻时间上开设了一门更偏重实战的技术专栏。

我想,这是一次绝佳的机会,与你一同从零开始,搭建一个工业级的深度学习推荐系统,做到知识和实践两手抓。

而跟你聊了开设这门课程的初心之后,我觉得很有必要把我们的事业放的更宽一点。

看看我们这个时代到底是怎么被推荐系统影响着的,推荐系统又是怎么在深度学习的浪潮之中。

乘风破浪的。

毫无疑问,推荐系统从来没有像现在这样影响着我们的生活。

想上网购物天猫、京东的推荐系统会帮你挑选商品。

想了解资讯头条、知乎的推荐系统会为你准备知识和新闻。

想消遣放松抖音快手会为你奉上让你欲罢不能的短视频。

而驱动这些巨头进行推荐服务的,都是基于深度学习的推荐模型。

从二零一三年开始,百度率先在广告系统中应用了深度学习。

二零一五年到二零二零年,阿里提出和应用了从MOR到DIEN等一系列的深度学习模型。

国外的互联网巨头也不逞多让从最早google的what wake到二零一五年youtube的深度学习推荐系统,再到之后的facebook、 amamazon、微软等等,几乎所有的头部公司都成功应用了深度学习,让它如后浪般席卷了推荐系统,业界彻底取代了传统的推荐模型。

更让人感叹的是,字节跳动在二零二零年一月五日发布的一份抖音数据报告中宣布,抖音日活用户突破了四亿。

要知道,这距离抖音二零一六年九月上线,只过去了三年多一点的时间。

作为一个几乎完全由推荐系统驱动的应用,这样的增长速度是惊人的、前所未有的。

而字节跳动技术团队曾披露的深度学习在推荐算法、视频内容理解、自然语言处理等方向上的应用,就又一次向我们证明了深度学习的强大实力。

那么问题来了,随着推荐系统的快速发展,在深度学习时代,推荐系统工程师应该怎么选择自己的职业发展方向呢?推荐工程师的工作,本质上是利用一切可能的技术手段来提升推荐系统的效果,从而不断达到甚至超越企业的商业目标。

举个例子,二零一九年,阿里著名的千人千面推荐系统驱动天猫,达成了双十一两千六百八十四亿元的成交额。

假设我们通过改进天猫的商品推荐功能,让整个平台的转化率提升百分之一。

那在两千六百八十四亿元的基础上,我们就能再增加二十六亿元。

也就是说,推荐工程师只通过优化推荐技术,就创造了二十六亿元的利润,这无疑是这个职位最大的魅力所在,也是它能够支撑起百万年薪最重要的原因。

百分之一听起来很小,但是要在一个成熟的推荐系统上找到能够提升的突破点并不容易,这需要我们动用所有的领域知识储备。

一位推荐工程师优秀与否,也就是在这个时候体现出来的那在所有业界巨头的推荐引擎都有深度学习驱动的。

今天作为一名推荐系统从业者,我们不应该止步于或者说满足于继续使用协同过滤矩阵分解这类传统方法,而应该加深对深度学习模型的理解。

加强对大数据平台的熟悉架构。

但们我们业务和模型的技术知觉,提高我们整体的技术格局,这些都是我们取得成功的边缘。

你可能想问哪最近经常听说算法工程师的知识更新太快,一不小心就处在了被淘汰的边缘。

但我始终相信一点,人才的分布都是金字塔式的。

我们与其抱怨金字塔底座为什么这么宽,不如努力提高自己的知识储备工程能力,哪怕只是向金字塔间前进了一步。

我们也超过了最宽,那个底座不是吗?因此啊,我希望在这门课与你一起建立的是深度学习推荐系统的整体架构,这对我来说也是个不小的挑战。

因此,对他几乎需要我输出所有的工作经验和知识储备。

当然,对你来说肯定也是个挑战。

因为一定有很多新知识需要补充到你自己的框架中。

但我相信我们的目标是一致的,就是在深度学习时代,在推荐系统这个行业开拓视野站稳脚跟。

接下来我就和你说说咱们这门课是怎么设计的一句话,这门课程是一门知识与实践并重的课程。

通过解决三十个深度学习推荐系统问题,不仅串联起整个知识体系,还能实打实的收获一套经过实践验证过的开源代码,从而让你也能实现一个工业级的深度学习推荐系统。

注意了,这里有几个关键词,分别是知识体系、深度学习、工业级,还有实战。

没错,我们的课程就是围绕这几个关键词展开的遵循一个经典推荐系统的框架。

我把课程分成了六个部分,分别是基础架构篇、特征工程篇、线上服务篇、推荐模型篇、效果评估篇、前沿拓展篇。

其中的每节课我们都会着重解决一个技术难点。

下面我来和你说说每一节课都是怎么设计的。

首先是基础架构篇,我希望和你一起从零出发。

建立深度学习推荐性的框架。

虽然是从零出发,但我也希望你在开始学习这门课之前,有一定的编程基础,也知道一些基本的机器学习概念、知识。

有了这些基础,我们再通过基础架构篇的学习,就能做到心中有蓝图,心中有高楼了。

具体来说,在基础架构篇中,我会详细讲解我们要从零开始实现的推荐系统sparl lexes它的主要功能和基础架构。

由于缺少工业级的实验环境,它不可能是一个真正的工业级推荐系统。

但是它的每一行代码都是严谨的。

其中的每个方法都是经过业界验证的主流方法,并且我还会使用到spark、 flink、 TNNFL low这些业界目前最流行的新学习和大数据框架,麻雀虽小五脏俱全。

然后是特征工程篇。

在这一篇里,我会和你一起讨论推荐系统会用到的特征以及主要特征的处理方式,并利用spark进行实践。

除此之外,我还会讲解深度学习中非常流行的embedding graph embedding技术特征工程啊,你可以把它看作是推荐系统准备食材的过程。

所以我希望通过这部分的学习,你不仅能够成为一名合格的备菜师傅,更能够利用学到的embedding方法来实现sparl rexes中相似电影推荐功能,在实践中快速成长起来。

接下来是线上服务篇,一个工业级推荐系统和实验室demo的最大区别就在于线上服务部分。

在这一篇中,我们要实打实的搭建一个推荐服务器,它包括了服务器、存储、缓存、模型、服务等相关知识。

相信通过这部分的学习,能够初步掌握jeet、 server、 spark、 REDIS这些工程领域的核心技能。

第四篇是推荐模型篇,如果让我挑出深度学习,对传统推荐模型的最大改进啊,毫无疑问是深度学习。

在推荐模型上的应用,甚至我可以把它称为推荐系统上的明珠也不为过。

所以,推荐模型部分可以说是整门课程的重中之重了。

我们会一起学习深度学习。

推荐模型的原理和实践方法主要包括embedding加MLP、 wide and dep PNN等。

深学学习模型的架构和tenn l fo实现。

除此之外,我们还能接触到注意力机制,除要模型增强学习这些相关领域的前沿知识,主起,拓宽技术视野。

接着是效果评估篇。

在这一篇里,我们要重点学习效果评估的主要方法和指标,并利用这些方法建立起包括线下评估、线上AB测试、评估、反馈闭环等等一套评估体系。

真正能够用业界的方法而不是实验室的指标来评价一个推荐系统在完成整个知识框架的学习。

之后。

最后我们通过前沿拓展篇的学习,利用一些热门的深度学习推荐系统方案进行融会贯通。

这一篇呢我会重点讲解youtube、阿里巴巴、微软interest等一线公司的深度学习应用,帮助你追踪业界发展的最新趋势。

找到自己技术道路上的方向,把所有的点串成线连成面,就组成了我们希望掌握的深度学习推荐系统架构。

我把它总结成了一张图,放在了文稿里,你可以看看。

与此同时,我们也会在课程完成后,搭建起一个完整的推荐系统在,收获一份亲眼看见自己学习成果的成就感。

刚才说的这些就是我们全部的课程设计了。

那在开始正式学习之前,我还想啰嗦几句。

我想说的是,no magic千万不要期望一门课程就能让你成为业界纵深。

如果你是完全没有推荐性的新人,这门课能够让你入门推荐系统,初步掌握深度学习推荐系统各模块的相关知识和业界实践。

如果你是行业老兵,这门课能让你查漏补缺,在技术、视野和格局上有所提高,但推荐系统的每个模块都有着极深的技术纵深。

不管是TNCF flow还是spark,还是REDIS flick,他们中的每一个都需要我们持续性的钻研,才能够成为领域专家。

在技术专家的道路上,这仅仅是个开始。

当然了,我也很荣幸能帮你开启这个既有魅力又有挑战性的技术领域。

最后,关于深度学习推荐系统,希望你能在这里畅所欲言,提出你的困惑和疑问,欢迎多多给我留言。

你们的鼓励是我的动力。

如果你身边也有想要学习深度学习推荐型的同学,也别忘了把这个课程分享给他。

很高兴能与你一起开启深度学习推荐系统的学习之路。

愿与你在攀登行业塔尖的路上共勉,谢谢大家。