如果你是老板,或者是公司里的推荐系统包工头,那么你一定会关心:要凑齐多少人才能开始搬砖?

一个推荐系统复杂度没有上限,但是有最低标准,所以下面在估算推荐系统团队规模时,按照下限来估计,照这个方式建立的团队就叫做“有下限的团队”。

团队组建

我们先定义团队的角色,这里既然是组建“有下限团队”,当然按照能省则省的原则。

  1. 算法工程师,承担的是数据科学家和机器学习工程师的双重职责,主要职责是清洗数据,训练离线推荐模型,开发算法接口,评估指标。
  2. 软件开发工程师,承担算法之外的开发任务,例如数据库的搭建维护,API 接口的开发,日志的收集,在线系统的高可用等,当然“有下限的团队”可以适当简陋些,不用考虑高性能。
  3. 其他非技术角色,如果是“有下限团队”的话,这一项也可以省略,如果涉及了跨部门合作,或者你不幸被老板提出各种“推得不准”的伪 Bug,那么你就需要一个这样的角色去充当工程师港湾,来阻挡外界的风雨。

接下来,估计一下每个角色的数量。这里主要是估计工程师的数量。

关于算法工程师,最低配需要 2 位,一位三年左右经验的算法工程师负责数据分析,数据清洗,推荐模型训练,评估和上线,外带一位三年以下经验的初级工程师,从中辅助分担琐碎工作。

为什么说有经验的算法工程师一位就够了,假如你使用矩阵分解作为推荐系统第一版核心算法,那么推荐使用 Quora 开源的 QMF 工具。它能在一台 32 核、244G、640G 固态硬盘的服务器上用 20 分钟完成 10 亿非零元素,千万用户和物品的矩阵分解。工具简单易用,一个有经验的工程师足够让其运转起来。

那么核心问题就是,一台机器是不是撑得起你老板的野心?我认为,撑得起,具体的估算如下。

根据我前文中对注意力的定义:内容消耗的加速度乘以内容的消耗难度。当注意力为正数时,是上马推荐系统的好时机。

因为这说明平台方已经有了注意力的原始积累,只需要加上推荐系统将它保存下来并加以扩大即可。那么组建的这个“有下限团队”最低要求就是能留住当前的注意力。

注意力为正时,每天的用户消耗内容数量应该是指数级别,比如 f(a,t)=taf(a,t)=ta