?”
“因为咱们现在缺的不是这个算子的单点性能。”江松然指了指屏幕,“它能跑,功能正确,性能有67。如果目标是出论文,当然要把它调到80以上,但如果目标是三月初跑通第一批国产卡集群,现在最应该做的不是继续死磕这个点。”
赵文渊的表情认真起来。
“那应该做什么?”
“跑端到端。”
江松然把屏幕上的几个文件夹点开。
“把已经达标的这些算子拉出来,先组一条最小链路。模型可以小,分片可以小,数据可以用假的,但是链路必须完整,完成端到端的调试。”
他一边说,一边在旁边的白板上写了起来。
模型加载、前向、反向、梯度同步、优化器更新、检查点备份、恢复。
江松然把七个步骤写在白板上,中间没有任何停滞。
他这几年做的全部事情都在这条链上,对这些知识、和实践中可能遇到的问题,全都已经烂熟于心了。
刚才写这个流程图,花时间最多的反而是在心里把这些词的英文都找到中文翻译。
流程图写完,江松然开口道:“虽然三月初只跑推理,但训练才是大头,端到端必须现在就摸清,不然到时候再补就来不及了。咱们现在用的这个「算子打靶法」是对的,但是既然时间紧、任务重,现在这个阶段最重要的是有大局观,从宏观上调节好优先级。”
他边说边用马克笔在白板上点了点:“否则,每个人都在优化自己手里的算子,等到最后拼起来的时候,真正的瓶颈才会显现出来,到那个时候就晚了。”
赵文渊看着白板上的内容,陷入了沉思。
江松然是对的。
迄今为止赵文渊带领团队做的都是基于“点”的工作,一个算子一个算子在推进。
这么做当然是必要的,没有所有的必须的点,是不可能连成线的。
但是系统训练不只需要点,想要连线的时候不出错,那现在就得开始连了。
赵文渊算是见识到江松然的厉害了,入职的第一天上午,连项目进度都没看全,就把现在这个路线最大的隐患指了出来。
赵文渊转过椅子面对江松然,说道:“江博士,你觉得我们现在应该怎么办?”
江松然整理了一下思路,回答道:“第一阶段的目标如果只是跑推理的话,没必要追求n卡80的效率,用不满,优先把必要的算子做完跑通,我刚才看了一下