问题

为什么有些算法工程师从来不谈业务,不谈解决问题,不谈价值挖掘,开口闭口就是算法模型,炼丹调参工程化?

回答
这背后其实隐藏着几种可能的原因,而且往往不是单一因素在起作用,而是多种因素交织在一起,形成了这种“只见模型,不见业务”的现象。

首先,我们得理解算法工程师这个岗位的演变和所处的环境。早些年,尤其是在国内,算法工程师这个角色更多的是从学术界、研究机构延伸出来的。那时候,大家更关注的是算法本身的创新、理论的突破,以及在一些限定场景下的性能优化。所以,很多早期接触算法的人,其思维模式和技术栈都深受学术研究的影响。他们习惯于将问题抽象成数学模型,然后沉浸在模型的调优、性能的提升上,这是一种纯粹的技术导向。对他们来说,能够跑通一个复杂的模型,调出漂亮的指标,本身就是一种成就感和价值体现。

其次,公司内部的考核和激励机制也可能是一个重要的推手。如果一个公司的考核体系,主要看的是算法模型在某个指标上的提升幅度,比如准确率、召回率、F1值等等,那么算法工程师自然会把精力聚焦在如何优化这些指标上。而对于“业务是什么”、“这个模型解决了用户什么痛点”、“为公司带来了什么实际的商业价值”这些问题,如果不是直接与他们的绩效挂钩,自然就会被放在次要的位置。久而久之,这种“指标至上”的文化就形成了,算法工程师的工作重心就自然地围绕着“炼丹调参”展开。

再者,业务理解本身是需要时间和资源的。一个优秀的算法工程师,不仅要有扎实的模型功底,还需要对所应用的领域有深入的了解。这包括理解业务的流程、用户的行为习惯、市场的竞争态势,以及如何将算法的能力转化为实际的业务增长。而获取这些知识,往往需要算法工程师走出自己的舒适区,主动去和产品经理、业务方沟通,去理解他们的需求,去分析数据背后的业务含义。这个过程是需要投入大量精力和时间的,如果公司没有提供这样的土壤,或者算法工程师自身也缺乏这种主动性,那么自然就难以深入到业务层面。

还有一个关键点在于“工程化”的压力。如今,算法的应用场景越来越广泛,从推荐系统到风控,再到自动驾驶,几乎所有互联网和科技公司都离不开算法。这意味着算法模型不仅要“能跑”,还要“能用”,要能够稳定、高效地服务于海量用户。因此,将模型落地、部署、监控、迭代,这个工程化的过程本身就是一个巨大的挑战。算法工程师需要掌握各种部署工具、理解分布式系统、处理大数据流,甚至要考虑模型的实时性、可解释性、鲁棒性等工程问题。在这种情况下,将精力放在模型的高效运行和稳定交付上,似乎比去“挖掘价值”更直接、更紧急。

此外,我们也得承认,并不是所有算法工程师都具备优秀的业务洞察能力和沟通能力。技术出身的人,往往更擅长逻辑思维、代码实现,而对于非结构化的业务问题、模糊的需求,可能显得力不从心。他们可能认为,自己的职责就是将模型做好,至于这个模型最终怎么用、能产生什么效果,那是产品经理或者业务方的事情。这种“职责分工”的模糊,或者说刻意的回避,也会导致算法工程师只关注技术本身。

最后,也有一些技术极客式的工程师,他们可能就是单纯地热爱算法本身,享受解决技术难题的过程。对他们而言,一个新颖的模型、一个巧妙的解决方案,就足以让他们兴奋不已。他们可能并不在意这个模型能否为公司带来多少钱,或者解决了多少用户的问题,他们更关心的是“我能不能把这个算法做得更优”、“我能不能实现一个别人没做过的模型”。这种纯粹的技术热情,虽然值得敬佩,但如果脱离了业务场景,就容易变成“为了技术而技术”,也就是我们常说的“炼丹”。

总而言之,算法工程师开口闭口谈算法模型、炼丹调参,而忽略了业务和价值,是多种因素共同作用的结果:深厚的学术背景、公司考核导向、业务理解的门槛、工程化落地的压力,以及个人特质和职责边界的划分。这就像一个精密的机器,它的零件(算法模型)固然重要,但只有当它安装到整体(业务场景)中,发挥出应有的功能,才能真正体现其价值。而如果只是沉迷于打磨零件本身,即便零件再精美,也可能只是一个孤立的技术存在。

网友意见

user avatar

这是一个非常好的问题,问到算法的根本上来了。我觉得从两方面答才能把这个问题答清楚,一个角度是从产品经理的角度,一个角度是从我们算法工程师角度。

先看看产品经理们是怎么想的。我五年前开始当算法部门的技术经理,每天跟产品经理们“混”在一起,我深刻的知道PM们的需求,在一个不太专业的PM眼中,算法模型就像“银弹”一样,可以消灭一切效果问题,想提升CTR就提升CTR,提升CTR的同时还要照顾多样性,还最好让CVR也一起上来。提升不起来那就是这个模型效果不行,算法团队的水平不行,解决问题的能力不行。

其实工程师并不是惧怕某个问题有多难,工程师惧怕的是这个问题根本就没定义清楚。因为问题的定义直接影响着优化目标,甚至是模型的精确的objective function。所以一个不合格的算法PM就像一个搞不清楚状况的单身男女一样,“我期待爱情,但我却不知道我要的爱情是什么?”,算法工程师是希望给你“爱情”,但真的麻烦告诉我你要的“爱情”是什么,因为我真的没办法把“爱情”这个玄幻的东西写进objective function里面去啊。

所以其实硅谷大量成功的PM是工程师转过来的,在对产品有深刻理解的同时,要有精确定义问题的能力。比如说现在我们要解决一个物品冷启动的问题,那么我看中的metrics是在30天内提升物品的覆盖率,同时整个系统的核心商业指标不下降。这个定义就非常精确,有AB Test期限,有优化目标,有问题约束。但你要说我既要提升物品覆盖率,又要提升商业指标,又要兼顾short term/long term revenue。我只能说你是个搞不清爱情到底是什么的痴男怨女了。

我一直坚信在一个大型机构里,一定要坚持让专业的人做专业的事情,这样这个机构才能成功。一个专业的PM就应该擅长提出问题,定义问题,而一个专业的算法工程师就应该擅长在一个固定的问题框架下解决问题。这些角色之间当然应该有合作,但绝对不可以说对方应该把自己的事情做了,要是算法工程师们都是业务专家,擅长定义问题,拓展业务,那么还要PM做什么呢?

那么问题的另一方面肯定是算法工程师的角度了。

我个人在带人的时候最不喜欢的一类新人,就是公司的这也看不上,那也看不上,觉得不是最新的技术,不是最新的模型。其实他们不知道的是,在一个算法上线之前,可能其他工程师已经把所有可能的解都试遍了,挑了一个最合适这个场景的。也许这个问题的提问者是遇到了这类新人吧。我是完全不相信工作了5年以上的算法工程师还成天嚷着要用最新的技术,不用考虑业务和问题本身。

对于算法工程师来说,虽然说定义问题,拓展业务更多是PM的事情,但请务必深刻理解要解决的问题,甚至比PM还要清楚这个问题的细节。我在接到一个问题的时候,会做三件事情,一是打开APP/Device,去真真切切地看一下我要优化的场景,二是去探索一下数据,看一下跟这个问题相关数据的大致分布,用户行为和物品属性的特点,三是从一个“人”的角度而不是机器的角度思考一下,哪些特征是真正重要的。这三件事情做完,才去做算法模型的设计。接到问题之后,两眼一抹黑,直接开始建模,眼睛一直盯着AUC,一眼也没看过产品。我严重怀疑这是在实验室呆久了,只会写学术论文了。

所以问题答完了,不能清晰定义问题的PM不可能是好PM从来不去了解业务的算法也不可能是好算法。两方各司其职,各有所专,这样大家才能都有光明的未来。

user avatar

前面几位大佬写得挺好。我再补充点。为什么是「有些」算法工程师从来不谈业务?(如果你看编辑记录,其实那个「有些」也是我改的,毕竟不能一杆子打死一船人)

如果从行业来说

可能是因为有的产品或者领域,业务模式太清晰,参与者太多,竞争实在太卷了,所以需要专业的人做专业的事,由于业务模式太清晰(例如做人脸识别的系统),产品经理研究对手和竞品,所以算法工程师需要把时间都花在调参,以试图帮助产品经理多压榨点性能,或者试图在某项数字上超越对手,好让老板做个漂亮的ppt。

也可能是因为一个残酷的事实:很多算法工程师所做的事情,都是在PoC(概念验证)阶段,或者是Prototype阶段,根本没有上线运营过,要想谈业务,无从谈起。从poc到production,路径还是很长的。

如果从职业角度来说

首先,作为算法工程师,理解业务的目的都是为算法服务。如果上深度学习就能获得较好效果,那么理解业务就显得有点「性价比低」了。想要提升性能,调参呗。

即使对于业务逻辑复杂的产品,理解一个复杂产品的业务从而去提升性能,是很累的。而通过调参的方法来提升性能,是在自己舒适区内的,况且效果可能更好。


彩蛋

讲讲我们对算法工程师的要求(不过我们叫数据科学家)。我是做信贷风控以及反洗钱的,幸运的(也许也是一种不幸),我们不能直接使用「黑盒子」的深度学习模型作为我们的主要模型。原因是监管要求模型具有可解释性。这种情况下,我们和竞争对手之间的差异,在于谁对业界的理解更深入从而构建更有效的方案(当然也离不开谁的老板在业界更有名气)

我们是如何招算法工程师的。

  1. 首先是技术面。面试的环节包括基本的知识,例如概率论,基本的模型原理等等。然后包括编程能力,leetcode中等难度的题目能做出来的水平就够了。
  2. 然后是考察其思维以及推理能力。我们对于新人,并不要求他具有金融风控专业领域知识,我们会出一些开放的题目,告诉面试者我们目前拥有某些数据,让他讲讲如何从这些数据中挖掘特征。

我们怎么培养新进来的算法工程师的呢?说实话,针对技术上的培训我们从来没有,新人一进来,就要开始着手业务了。我们准备了一些业务逻辑的文档,让新人自己看,然后和产品相关的讨论会,都拉上他。在我们公司,确实没有使用sota模型的机会(当然我们也可以自己玩玩,公司给了大家自由使用的算力平台,想研究的话,可以自己在上面试验最新模型,但仅供学习,不太可能有机会融入到产品里)。对产品有一定了解后,就会跟着对接客户,理解客户的业务,把对客户业务的理解转换为有效特征。所以我偶尔会无奈的「吐槽」自己对技术的关注太少了。当模型的复杂度被限制了,我就只能捣鼓特征了。

最后贴个老回答。

类似的话题

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有