From entry to proficiency in the recommendation system, this project comprehensively introduces the theoretical knowledge of the industrial-grade recommendation system (Wang Shusen’s open course on recommendation system - explaining the real recommendation system in the industry based on the scenario of Xiaohongshu), how to train the model based on TensorFlow2, and how to achieve high-level recommendation system. Golang inference microservice with high performance, high concurrency and high availability. As well as some Sklean and TensorFlow programming basics. Comprehensively introduced the theory of industrial recommender system base on deep learning, how to train models based on TensorFlow2, how to implement the high-performance, high-concurrency and high-available inference services base on Golang.
Note: The theoretical knowledge of the first part is in this warehouse, and the codes of the second, third and fourth parts are in other warehouses. Click the link to jump.
If an error occurs when opening a Jupyter Notebook file through a hyperlink on the Github site, you can click on the "backup link" generated based on https://nbviewer.org to access the corresponding file indirectly.
Or access the off-site backup link of the entire project through the following link. Note that clicking on the non-Jupyter Notebook format file in the off-site backup link will jump back to the Github repository:
● Recommender_System
Wang Shusen’s open course on recommendation system - explains the real recommendation system in the industry based on the scenario of Xiaohongshu, reading notes.
● Recommendation system links (Alternate link) ]
● AB testing (Alternate link)
● Item-based collaborative filtering (ItemCF) (Alternate link)
● Swing recall channel (Alternate link)
● User-based collaborative filtering (UserCF) (Alternate link)
● Discrete feature processing (Alternate link)
● Matrix supplement (Alternate link)
● Twin Tower Model: Model and Training (Alternate link)
● Two-tower model: positive and negative samples (Alternate link)
● Twin Towers Model: Online recall and update (Alternate link)
● Twin-tower model + self-supervised learning (Alternate link)
● Deep Retrieval recall (Alternate link)
● Other recall channels (Alternate link)
● Exposure filter and Bloom Filter (Alternate link)
● Multi-objective ranking model (Alternate link)
● MMoE (Alternate link)
● Estimated score fusion (Alternate link)
● Video playback modeling (Alternate link)
● Characteristics of ranking models (Alternate link)
● Rough layout model (Alternate link)
● Factorizer FM (Alternate link)
● Deep Cross Network DCN (Alternate link)
● LHUC network structure (Alternate link)
● SENet Bilinear Cross (Alternate link)
● User behavior sequence modeling (Alternate link)
● DIN model (attention mechanism) (Alternate link)
● SIM model (long sequence modeling) (Alternate link)
● Measurement of item similarity and methods to improve diversity (Alternate link)
● MMR diversity algorithm (Alternate link)
● Diversity algorithm under the constraints of business rules (Alternate link)
● DPP diversity algorithm (Part 1) (Alternate link)
● DPP diversity algorithm (Part 2) (Alternate link)
● Optimization goals & evaluation indicators (Alternate link)
● Simple recall channel (Alternate link)
● Cluster recall (Alternate link)
● Look-Alike recall (Alternate link)
● Traffic control (Alternate link)
● Cold start AB test (Alternate link)
● Overview (Alternate link)
● Recall (Alternate link)
● Sort (Alternate link)
● Diversity (Alternate link)
● Characteristic user groups (Alternate link)
● Interactive behavior (follow, forward and comment) (Alternate link)
Based on the "DNN_for_YouTube_Recommendations" model and the movie rating data set (ml-1m), it demonstrates in detail how to implement a recommendation system ranking model based on TensorFlow2.
● YouTube deep ranking model (multi-valued embedding, multi-objective learning)
Based on Goalng, Docker and microservice ideas, a high-concurrency, high-performance and high-availability recommendation system reasoning microservice is implemented, including a variety of recall/sorting services, and provides a variety of interface access methods (REST, gRPC and Dubbo), etc., each It can handle tens of millions of inference requests every day.
● Recommendation system reasoning microservice Golang
● Machine learning Sklearn introductory tutorial ● Deep learning TensorFlow introductory tutorial