最近继续总结之前读过的经典论文,正好看到知乎王喆老师提出的关于youtube的十大工程问题,研究之后发现自己第一遍阅读还是读的太粗陋,遂再次阅读,这里记下自己这几次阅读的一些思考与总结。总的来说youtube的推荐系统架构已经是如今各个互联网公司的基本操作了,十分具有纪念意义,那我我们来一起看看youtube的前辈们如果解决这个问题的。
Youtube的用户推荐场景自不必多说,作为全球最大的UGC的视频网站,需要在百万量级的视频规模下进行个性化推荐。由于候选视频集合过大,考虑online系统延迟问题,不宜用复杂网络直接进行推荐,所以Youtube采取了两层深度网络完成整个推荐过程:
- 第一层是Candidate Generation Model完成候选视频的快速筛选,这一步候选视频集合由百万降低到了百的量级。
- 第二层是用Ranking Model完成几百个候选视频的精排
接下来我们先看看粗排的模型
我们自底而上看这个网络,最底层的输入是用户观看过的video的embedding向量,以及搜索词的embedding向量。至于这个embedding向量是怎么生成的,作者的原话是这样的 :Inspired by continuous bag of words language models, we learn high dimensional embeddings for each video in a xed vocabulary and feed these embeddings into a feedforward neural network。
简单来说就是分别利用word2vec对embedded video watches和embedded search tokens做了一个embedding,然后网络训练的时候直接查表就完事儿,具体在网络训练的时候可以fine