第四百四十章系统一和系统二
前后不过两分钟的时间,大会议室就清空了,只留下韩路一和江松然两人。
视频里的赵文渊开口问道:「韩总,是因为算力的事儿?我刚才听老江的意思,进度好像不太够吧?」
江松然点了点头,确实不够。
现在是巧妇难为无米之炊,调度架构做得再好,总的计算卡就这么多张,很难再腾挪出更多的算力了。
韩路一说道:「把你们两个留下来就是想聊这件事,老江,上次咱们做的调度优化,你先给文渊讲一下。」
韩路一说的是在汤圆1。0模型的api正式发售之前,基础设施部门在任务调度上做的一些新的优化架构。
当时碰到的难题是每一个推理任务进来,服务器端都没办法判断任务的复杂程度,也就没法分配合适的资源,如果把大任务分配给了小资源池,任务完成不了,就要重试;反过来,如果把小任务分配给了大资源池,实际上用不上那么多算力,就造成了资源的浪费。
在韩路一的建议下,江松然引入了用汤圆自身来进行调度判断,这种判断任务当然都是小任务,初次判断之后就能规避很多失败场景。因此在相同的算力下,起源的推理集群能支持的并发量直接增加了三分之一。
但这是江松然他们在应用端对汤圆的一种应用方式,现在韩路一把赵文渊叫过来,是想看看在模型层面上能不能再做一些优化,把性能再提高一些。
没办法,如果起源也能像谷歌、penal一样算力富裕,甚至能有鼎盛那么多算力也行,那么这些在软件层面的优化就并不急迫,甚至不做也行。
但是现在硬件方面的算力捉襟见肘,就只能从软件层面想办法了。 江松然点了点头,把困扰基础设施部门许久的问题说了出来:「用汤圆来做初次的调度判断确实极大的提高了资源分配的效率,但是我们也逐渐发现了两个问题。」
「什么问题?」赵文渊问道。
「速度太慢了。」江松然说道,当初韩路一提出用汤圆模型来做路由的时候他就想到了这个问题,每秒钟数万的并发请求,如果每一个请求都要提前过一遍汤圆,相当于直接把请求数翻倍了。还是韩路一提出了一个折中的方案,对于多步骤的请求,只对第一步进行任务难度的估算。
但即使是这样,一次估算也要消耗数百毫秒的时间。可别觉得几百毫秒很短,在高并发场景下,几百毫秒的延迟可能就会引发雪崩效应——延迟导致请求超时,超时又会引发重试,无效请求增多,甚至导致整个服务不可用。
「赵总,汤圆本身是大参数模型,即使是采用了稀疏架构,一次几百毫秒的用时也不是调度层能够承受得起的。慢是第一个问题,还有因为慢导致的第二个问题。汤圆用来做任务预测精度虽然高,但是延迟太长,我们只敢在任务链开始的时候加上,之后就只能依赖第一次的预测结果,可是有些用户请求是在交互的过程中突然增加了复杂度,这就导致还是使用第一次的测算结果就导致不准。」江松然说道。
韩路一在旁边也听懂了,江松然虽然说了两个问题,但其实本质还是速度慢。
因为速度慢而不敢每次调度都调用一次,导致精度漂移。
「文渊,这就是我把你专门叫过来的原因,」韩路一开口说道,「上次我们聊过的,给汤圆做一个轻量版,你觉得能不能解决这个问题?」
在专业旗舰版被验证过性能之后,再推出参数更小、能力稍弱但是成本低很多的轻量版本来就是业内通行的做法。
一般这种轻量版都是通过蒸馏原始的旗舰模型后训练出来的。所谓蒸馏,指的是把一些高难度的问题输入到旗舰模型中,让它给出答案,再用这些问题和答案作为训练集来给轻量模型做后训练,这样就能以较低的成本让轻量模型拥有旗舰模型70%到80%的能力,实在是一种比较有性价比的做法。
当然了,你也不一定要去蒸馏自己家的旗舰模型,用同样的方法去蒸馏别家的旗舰模型也是可以的。自从汤圆api开放以来,起源集团这边已经发现并且捕捉了不少试图对汤圆1。0进行蒸馏的行为
了,很多请求都来自于美国。 听了韩路一的话,赵文渊沉吟了片刻。
轻量模型确实在这方面有所帮助,甚至于可以考虑像当初的汤圆0。1那样,使用一个极小的模型来进行任务复杂度预测——只要能保证预测精度不会掉得太离谱。
但是——
赵文渊开口说道:「你们有没有听说过系统一和系统二?」
韩路一和江松然对视了一眼,同时点了点头。
系统一(system1)和系统二(system2)这个概念源自于诺贝尔经济学奖得主丹尼尔·卡尼曼的研究,在他的科普畅销书《思考,快与慢》里有过详细的阐述。
人的大脑在思考的时候有两套系统,一种运转极快,非常善于快速做出判断,但是因为没有激发深度思考,也比较容易被噪音干扰,这个叫做系统一;另外一种模式叫做系统二,需要人主动花费精力仔细思考,花的时间更长,最终得出的结论也更准确。
这本书当然不是计算机领域的著作,但是它足够畅销也足够有名,两人恰好都读过。
其实赵文渊和他的研究者同行们当初能够提出思维链(ct,cainftt)的概念,也正是来源于对人脑系统二的借鉴。
只是不知道他突然提示这个来干什么?
韩路一说道:「这和我们讨论的内容有什么关系?你是想说,我们可以借助系统一来进行对任务复杂程度的快速估算?」
说到这,韩路一突然意识到什么,问道:「我们刚才讨论的用轻量模型来做路由,不就是使用的系统一的思路吗?」 哪知道赵文渊摇了摇头,说道:「韩总,您说的对,但是还不够,您知道在人脑的决策系统中,系统一之所以能比系统二更快,还有一个重要原因是什么吗?」