推荐系统系列第一篇——序

从开始从事算法到现在已经7年多时间,推荐系统事推动算法人工智能进步的幕后推手。从这篇文章开始尝试系统的介绍下推荐系统。

推荐系统并非一个指定的算法,而是一个系统,一个需要喂养可以成长运动的东西。如果用车来比喻推荐系统,那么发动机引擎对应的就是推荐引擎,包括:推荐主算法模块、策略主算法模块;为了支持引擎的运作需要配套的车架、车控制把手、刹车系统、电控制系统、油液系统,对应的要让推荐引擎动起来也需要配套的pass底盘、工程链路、数据链路、模型训练链路、可视化分析模块、业务监控模块。缺一不可,所以推荐系统主要功能虽然事排序,按理来讲只要排序模块就行;但是要让这种排序的引擎能力能够转化为可做有效产出的功效,而非展示台上的模型,必须开放接口外接组件围绕着引擎做配套,让引擎成为一个可以提供动力经过各种部件转化成生产力的工具。这其实也就是蒸汽发动机发明后,经过各种配套组合搭配做出不同设备,让人类生产效率指数增长原因。同样排序引擎针对不同指标各种组合搭配,完成各种的功效造福数字化世界。

后续文章会围绕一下部分做讲解,此篇文章只是从宏观视角来认识推荐系统。相信跟随我的脚本你可以对推荐系统,乃至互联网这台运行的巨系统有个概览。后面文章会细化的介绍每个部件事如何运作,每个部件有哪些实现的方案,有哪些优缺点,可以如何组合;不只是介绍具体应用而是尝试从原理和历史回顾角度去推荐系统为何是现在这样,推荐系统是如何运作,每个部件事如何组合,你也可以按这些组件构建一台自己的推荐系统设备;当然你又没足够原理喂饱这台怪兽,让他很好的替你工作那就是后话了。

模型&策略模块:排序引擎的核心模块,里面会设计到各种结构设计从茫茫产品排除有效序列,此物需要消耗巨量的数据油。后面会有三篇文章介绍这个核心部件的设计原理,讲解这些设计原理背后的设计思路,工作原理。

数据链路:排序引擎需要虚耗巨量的数据,为了数据的供给我们需要搭建供油链路,让引擎稳定高效使用数据油液。这边会花2篇文章来介绍,训练数据链路、线上预测数据链路。

工程链路:工程链路是引擎的支架,提供排序引擎产生生产力的调试、转化、训练、预测、分析整车架构。这部分会花3篇文章来介绍,训练模块框架,微服务预测框架、实验框架、为了支持系统持续迭代的:持续集成持续开放系统。

可视化&结果分析模块:有了数据油液供给系统、排序引擎、整车架构,这车其实是可以开起来了;但是用户体验是不太好的,我们需要一个人机交互界面和人体工程工业设计模块。方便用户和系统交互。这部分会花1篇文章介绍。

Pass底盘:推荐系统是个系统,为了搭建上面的这些模块,需要一个生产车间和后勤组装部,这个比喻或许不太恰当。但是我们就是需要一个可以快速扩展和快速模块化搭建组装生产出这些组件的平台,云原生就是这样可平台,从16年开始CNCF的组建加快标准制定,让这种平台快速推进。这部分我会花3篇文章介绍,kubernet、微服务、server mesh、容器技术。

embbding:为了加快数据油液的供给,以及给油液赋予强大的冲击力;我们需要提前把数据油液固化模块化,一方面方便搬运,另一方面可以容易增加固化数据化学成分增强爆发力。这部分会花1篇文章介绍。

业务指标:系统搭建好了、组件迅速组建生产的车间平台也有了,数据固化模块也有了,接下来就是开始下水试车开始打战时候。打战是有目的需要章法的,不能乱打,资源有限啊打战烧钱啊。所以这部分会结合实际业务场景,介绍业务目标讲解怎么用系统配合业务作战。

推荐系统系列第一篇——序