份文档作为上下文。”
然后把浏览器里的链接地址都打了进去。
很快,AI智能体开始自己分解任务、解决任务,最后汇总。
三分钟后,第一版结果就出来了。最终性能接近68%,但精度偏差太大。
一个大大的红色FAIL显示在屏幕上。
赵文渊在旁边松了一口气。
这才正常嘛。
他对韩路一说:“韩总你看,这就是我说的难点,做不过来——”
韩路一没有回应赵文渊。
他重新打开CUDA的源代码,同时打开了视界。
现在韩路一已经完全了解问题是什么了:赵文渊既不是解决不了开发难度,也不是没有方向和思路。
他只是没有时间像英伟达之前做的那样,一点点找到和他们硬件最匹配的参数。
想做可以,老老实实把人力物力和时间花进去,最后也能把适配做完,但这恰恰是英伟达的护城河所在。
如果自己适配的代价比直接买英伟达的成品还大,谁还有动力去做这件事?
现在唯一的好处是,视界可以不用一步一步实验,直接找到最优解;甚至不仅是最优解,连为什么这个是最优解、怎么来的都知道。
比如,为什么Softmax的最优解不是垂直实现,而是分成三个阶段?这不是额外制造了冗余吗?
为的是避免在少见情况下的数据溢出问题。
再比如,什么是矩阵乘法分块的最佳尺寸?太大了放不下,太小了效率低。这个本来要一个一个试才能得到的数据,视界直接就能给出解答。
很快,韩路一把几个关键数据输入到第一版的提示词里。这样智能体就不会自由发挥、尝试去找最优解,而是按照韩路一的提示词执行即可。
“Softmax使用三阶段算法,并且在第二阶段的Reduce中,确保局部最大值的指数和更新顺序保持一致。”
“矩阵乘法的大小使用64x64。”
……
韩路一连续输入了十几条具体的调优指令,然后把修改后的提示词一起发给智能体。
智能体又回去勤勤恳恳地干活儿了。
五分钟后,一个大大的绿色PASS出现在屏幕上,效率和精度都达标了。
赵文渊坐在旁边,人已经傻了。
他不顾韩路一还坐在电脑前,把头凑到屏幕前,把测试报告从头到尾看了一遍。
精度误差是2.3e-6,远低于1e-5的要求。
性能也达到了N卡实现的83%。
不信邪的赵文渊直接打开生成的原始代码,逐行看了起来。
他越看越沉默。
整段代码的结构和之前一次生成的大差不差,但所有需要经过大量测试才能得出来的结论都被替换成了新值,而这些新值导致了结果的变化。
这是一个对底层硬件有深刻理解的人才能写出来的东西。
不,准确地说,是一个对底层硬件有深刻理解的人,才能指导AI写出来的东西。
赵文渊转过头,看着韩路一。
“韩总,这些值,你都是怎么确定下来的?你怎么知道它们能过?”
韩路一往后靠在椅背上,微微一笑:“我看了文档。”
“我去,原来你看了文档啊,不早说。”赵文渊先开了个玩笑,然后声音突然拔高,“我也看了两天文档,跑了十几个测试,我都没找到这个tile尺寸,你看了几分钟就看出来了?”
韩路一没有回答,只是接着笑。
赵文渊盯着他看了好一会儿,最后像泄了气一样靠回椅子上。
-->>(第3/4页)(本章未完,请点击下一页继续阅读)