作者:京东零售 王家兴

一、个人简介

我是21届校招生,博士毕业于中国科学院-自动化研究所。2021入职博士管培生,现任京东零售-技术研发与数据中心-智能平台部-智能算法部-商品图谱研发组算法应用工程师。当前我的工作焦点是低资源情况下大模型的训练与规模化应用。近期发表顶级国际会议ICLR、AAAI和EMNLP各一篇,提交专利8项。



从学生到职场技术人,在这场充满挑战和机遇的修炼中,我走过很多弯路,也有一些粗浅的感悟。本文中给大家分享的观点和解释其实很多是拾人牙慧的。进入公司以后接受到很多的培训,对技术人在公司里的发展做了很好的总结。听完以后颇有感触,发现自己实践中犯过的错误都被老师们指出来了,有很多困惑也得到了解答。下文的分享与诸君共勉。



二、行稳: 做好当下,结果第一

读书和加入京东以来的这十几年,我感触最深的一个点就是要做好当下。我个人是一个思维比较跳脱,想法算是比较多的人。总是喜欢瞎折腾,喜欢想东想西。有时候有点 “这山望见那山高” 的意思。



我本科的专业是偏电力的控制工程,做过那个电动汽车的无线充电。但是后来美国交换的时候看到了别人在做足式机器人控制,这个东西对于当时的我来说简直是太酷了,再加上当时Boston Dynamics的人形机器人爆火。我就赶紧选上了机器人学,以及后续的非线性控制的课程。 但是这个控制课到后面就是比较抽象难于理解的非线性微分方程和微分几何了,比较艰深了。这时候大概就是15、16年了,AI开始火起来了,我又一想,哎,搞机器人大脑好像比搞身体更有想象力啊,然后就开始机器学习。后来读研究生,读博士我其实仍然还延续着类似的做法,一开始做应用、做推荐。然后又觉得贝叶斯方法通用,常青树,开始研究贝叶斯方法。然后又是一些moment matching 方法, 有global optima,有全局解,很棒啊。这样看起来是涉猎广泛但实际上却是浅尝辄止。本科时期或许还可以混得过去,到了研究生期间问题就暴露无遗了。因为现在的要求不是比谁知识更广博,不是通过组合一些已有的东西去组成一个似是而非的东西,而是真正地要深入地去钻研,去解决一个问题,要用结果来说话。就是因为这样一直处在选题、权衡、调整的循环中,我文章就出的很慢啊,读博的整个过程前期放飞自我,后期真的是压力山大。这是我亲身实践过的弯路,也是我读书阶段给我最大的教训:确定好当下要做的事情,明确一个目标,就要绝不动摇地把重点放在努力执行上,用最终的结果去说话。

在这里插入图片描述



很巧的是,来到公司以后,听了公司技术专家的培训课程,老师也提到了这样的一句话: “这个世界上根本没有正确的选择,我们只不过是要努力奋斗使当初的选择变得正确。” 我个人还是很被触动的。虽然也有说法说 “选择比努力更重要”的,但是对我这样现阶段技术人来说,多数情况都是在当下有明确的需求任务、或者目前信息还不足以进行完美预见的,那这样的话踏实专心干活就好了。这样一种立足当下,脚踏实地的态度可让我减少大量无意义的内耗,专注于工作,事事有回应,件件有着落。解决好业务需求,去交付结果并赢得认可,才能成为一个比较靠谱的人。



三、致远:业务为本、技术驱动

那作为一个同时也比较有理想的技术人,我们也不仅仅只做安排好的事情,低头耕地,也会抬头看天。我总会听到“技术驱动” 这个词。看到新闻里各种技术创新的政策引导,比如今年7月浙江省的这个《关于引导企业从“产品驱动”向“技术驱动”创新模式转型,强化企业核心技术创新能力的建议》;听到刘总提到技术驱动是降低成本,提高效率和体验的重要手段;看到比如推荐系统这样的技术已经极大地改变了现代信息传递的模式和通路。但是实际工作中,好像很多时候我们经常是在接各种各样的需求,在各个排期之间奔波,似乎离技术驱动这样的“星辰大海”比较遥远;这个问题其实也困扰了我很久,后来接受了公司的各种培训以及Leader的指导后终于可能开始初窥门径。



公司解决问题的整体流程是业务-产品-研发,即业务运营本身的需求提到产品,产品与研发设计解决方案,然后以产品的形式返回给业务使用。初看下来研发确实是承接需求的一方,但是如果作为研发我们在完成业务需求的时候,尝试去深入理解业务逻辑,思考当前业务需求的来源是什么,后面还可能会出现什么问题,从技术的角度看是否有散点的需求可以合并解决,从后面走到前面,想到前面,就可能可以实现业务需求与技术探究的有机结合。就会给我们技术人以更大施展和腾挪的空间。



去年开始,我开始接触一个重点项目。 在当时建设系统的时候,为保证输出的质量,会对重保的部分数据结果进行人工审核。这一时期其实我们的主要需求是优化准召,但是有人工审核这肯定是就是未来可以优化的点嘛,结合当时大语言模型发展如火如荼发展的态势,我们尝试了基于LLM训练判别器来进行自动预审核过滤来降低人工审核的成本。这个其实一定程度上说我们是走在了业务需求的前面,因为效率本身还不是当下业务亟待解决的问题。但是业务方也还是非常乐于见到我们做这样子的尝试,给了我们很多的空间和支持。

模型判别可以获得令人满意的效果,然而,这仍不足以大规模应用。由于采用了大语言模型作为基础,模型推理耗时严重,使用A-100推理1000W条数据约需接近50h。为此,我们又主动对模型进行了蒸馏压缩,将其压缩六倍+,而精度几乎不下降。 成果也得以应用到了很多个比较重要的业务场景。虽然这只是一个比较小的case哈,但是对我们来说它是我针对业务运营进行技术驱动的一次重要尝试,当然这还是一个比较初级的实践优化了系统的一个小环节。一定程度上展现了“想在业务前面”的价值。所以说,主动、深入理解业务逻辑,预见业务发展的潜在需求,可以为后续技术手段的探究和运用留出比较大的空间,方便让技术的力量渗透到业务的每一个角落。



四、致远:技术突破,行业影响

以上是从技术驱动业务的角度的一个小小的感悟,对于我们个人技术能力的提升和突破来讲,我们多少都有一些技术使命感,就希望我们做出来一个技术点,在行业上是特别领先的。那么如何去在自己的领域上进行一些创新突破,提升自己,以及公司的技术影响。这个是一个很系统性,很复杂的工程,需要广博的基础知识、很好的提炼问题的能力、独到的解决思路、持之以恒的努力等等。在这一点上我也在摸索和向大家学习中,仅分享持续学习和技术问题提炼两个小点来抛转引玉一下吧。



持续学习: 作为技术人永远不能忽视技术能力的提升。特别是比如像我们所在的AI这个快速变化的技术领域,持续学习非常必要的,专业力永远是立身之本。我们要密切关注行业动向,了解并学习前沿科技,提升对技术的敏锐度,勇于尝试和布局;积极参与学术活动和技术论坛,保持同行的交流,避免陷入闭门造车的困境,长期地去修炼好自己的内功。



深入思考: 在日常工作中常有的一种感觉是支持业务的过程中找不到有价值的技术点去深究。 那这个时候感觉就还是需要对手上的业务进行持续、深入的思考了。京东的平台很大,业务场景很复杂,其实抽象出很有意义的探究问题的概率是蛮大的。 就比如之前遇到的一个业务问题,一个看似简单的二分类问题,其实也蕴含着很多很有意义的技术点,比如他的正、负样本天然地就严重不均衡,很难直接训练模型用于正例的抽取,这就是非常经典的label imbalance问题。 我们那个问题中判别是成对进行的,要两两判别两个SKU中间是不是存在某种联系,可以将prompt和商品标题缓存来加速模型的推理,这就蕴含着最近LLM推理很火的Prefix Cache思想。训练好的模型上线使用还有模型轻量化等等一系列后续的任务。这都是我们进行突破的机会。经过仔细的分析、解构和抽象,很多业务问题是包含有很深刻的、值得讨论的技术问题的。用这样的实际问题切入进行深究,很多时候会比在研究机构那种follow paper型的搞法效率更高、理解更到位。京东给我们提供了足够大的舞台,我们接下来要看怎么把这个表演去完成。

我在做大模型应用的过程中就被模型训练速度慢困扰了很久。因为我们有非常多的场景有训练的需求,待训练模型参数量很大,训练数据很多,我们还需要做大量的实验来获得最优的策略设置。在计算资源紧张的情况下还真的是很头疼。在模型固定的情况下,业务实践中通常会随机采样部分数据训练来缓解这个问题。但是更深入地思考后,就会出现新的疑问:这些方式是选取样本的合理策略吗?能保证原有模型效果的保留吗?还有没有更好的方式?基于这样的一个问题和这样的一个思考,结合大量相关工作的启发,我们设计了一种新的动态数据选择的方法。仅保留信息量最大的数据子集进行训练来减少计算消耗,实现降本提速。随后也从理论上证明了这样训练模型大概率最终会收敛到与常规训练相同的损失,确保了其可行性。这个工作也被顶级会议ICLR录用了。

在这里插入图片描述

但是还没有结束,我们还可以更进一步。大模型效果与训练样本量的幂率关系(Power Scaling Law)是海量算力需求的核心因素。如图所示,横轴是训练的样本量,纵轴是验证损失。增加10^8训练数据,模型Loss仅下降0.05。这一规律意味着任何进一步的减少误差尝试都可能需要增加一个数量级的样本。既然上面我们发现用少量的样本训练也可以达到接近的效果,那么是不是可以通过数据选择来突破幂率形式,实现如下图所示的指数形式的新Scaling Law呢?那这样就是非常有影响力的问题了。

在这里插入图片描述

最后,虽然今天聊了很多技术驱动和创新,但我们不能进行不切实际的创新,还要站在业务的视角思考技术的价值。技术驱动并非单纯创新探究, 重点仍是交付价值;技术影响也非纸上谈兵或拿着锤子找钉子,而是发源与对实际业务问题的探究。





五、未来期望

以上就是我的一些小小的心得。 那么随着大模型和类通用智能技术的出现,我们正处于一场技术革命的前沿。现在是时候扎根在业务应用中。在京东这个广阔的平台去实现自己的价值,以技术来驱动生产环节优化、流程升级以及产品更新。最终实现集团“以技术为本,致力于更高效和可持续的世界”的使命。



图片来自: https://www.youtube.com/watch?v=pW1VlhLX2gI; www.biped.solutions


京东云开发者
3.4k 声望5.4k 粉丝

京东云开发者(Developer of JD Technology)是京东云旗下为AI、云计算、IoT等相关领域开发者提供技术分享交流的平台。