算法研发的关键节点
17 January 2022
在公司内典型的算法研发会经历以下阶段:问题调研、算法设计实现、收益预估、部署和测试、A/B实验开启、A/B实验正向、上线。
七个阶段
问题调研
弄清楚问题的定义,比如优化目标是什么,有哪些可调整的变量。
另外也需要明确现状以及可改进方向。
算法设计实现
设计新方法来更好地解决问题,例如变量如何调整。
这一阶段的结果是确定可行的优化方案。
收益预估
在发起工程配合之前,通过线下仿真或测试等手段表明新的算法会有收益。
最好给出量化的预估,例如某个指标具体提升多少。
部署和测试
对于服务端,将服务搭建运行起来,提供可调用的接口。 对于客户端,集成到SDK或App,生成某个版本。 各环节联调跑通,完成上线前的测试,能够发布。
这部分开始,需要算法工程师和其他开发工程师配合进行了。
A/B实验开启
开启A/B实验意味着工程开发和准备工作均已完成,业务方已经接入,各方合作运转起来。
实验开启后,新算法已经在实际环境生效,虽然流量或覆盖度一开始还比较小。
A/B实验正向
实验进行过程中可能需要根据结果进行多次的归因和迭代。迭代过程可能包括上述各个阶段新的更改。
如果算法真的可靠,最终实验应该取得正向收益,达到上线条件。
上线
脱离实验状态,新算法全量生效,得到实际收益,成为新的“现状”。
这是本轮算法研发的终点。虽然有时只能针对拆分出的部分子集上线,不过也算是告一段落了。
后续可以进行新一轮算法研发,可以认为重新经历以上的各个阶段。
四个完成时间节点
上述七个阶段每个都有起始时间。 下一阶段的开始不一定需要等上一阶段结束,但这些阶段的完成时间一般是按先后顺序的。 另外,算法设计实现、收益预估大多可以一起完成;部署和测试、A/B实验开启大多可以一起完成;A/B实验正向、上线通常情况下也是相差不远的。 因此也可以简化为以下四个关键的完成节点:
- 完成问题调研;
- 完成算法设计和收益预估;
- 完成部署和实验开启;
- 完成实验正向并上线。
如果各个节点都按时完成,也就实现了祝词中常说的:工作顺利!
顺便也祝身体健康。
如果想要说些什么,欢迎发邮件给我。