夜雨聆风学习资料网

ARTICLE · 1029518

AI开始给自己修发动机了

AI开始给自己修发动机了

智谱唐杰最近写了一篇文章,开头就两个词:

Two weeks

两周。

两周时间,GLM-5.3-Flash完成国产加速卡生产迁移,整体吞吐提高3.2

干这些活的,不只有智谱的工程师。

还有GLM自己。

它正在参与优化那套每天运行自己的系统。

这事以前基本都是人干。

大模型发布以后,并不是扔到服务器上就完事了。模型怎么跑得更快,怎么少占显存,几张卡之间怎么传数据,哪里堵了,哪里还有性能可以往外抠,后面全是工程活。

尤其换到一套新的硬件上。

这次GLM-5.3-Flash要支持100Token的长上下文,还要处理多模态请求,显存和芯片之间的带宽又有限。底层软件也没有成熟到什么都有现成答案,有些Kernel缺了就得自己补。

智谱把一个GLM-5.3驱动的Infra Agent放进了这套工作里。

刚开始,它也会把事情搞砸。

有一次改完代码,几个小时的测试跑完,吞吐掉了20%

代码能跑,结果也没错,就是比以前慢了。

这种问题比报错难查得多。

程序崩了,至少还有错误信息。性能掉了20%,机器不会告诉你为什么。可能是某段计算慢了,可能是数据传输堵了,也可能是几个环节没配合好。

完整测试跑一次还要几个小时,不能靠不停改代码碰运气。

老工程师碰到这种事,有自己的查法。

看运行记录,把某个环节单独拎出来测,对比修改前后的结果。有些经验做久了以后已经成了习惯,一个数字不对,大概知道该先往哪里查。

Agent一开始缺的就是这些。

它能把代码写出来,却不太会查为什么刚才那段代码让机器变慢了。

团队后来给它增加了一套更细的检查工具。

算得对不对,可以单独查。

时间花在哪儿,可以直接看。

两个方案谁更快,也可以先做小范围测试。

不用每次改完都傻等几个小时,最后只拿到一个快了或者慢了的结果。

这些工具装上以后,Agent开始找到一些藏得挺深的问题。

有一次,问题出在数据传输上。

系统原本安排两项工作同时进行,实际跑的时候却没能重叠。前面的事情占着资源,后面的只能等。

Agent顺着调用链往下找。

Python一直查到C++,最后发现节点内的一条路径没有释放GIL

修掉以后,这部分原本超过30%的传输开销,降到了不到1%

还有一次,它去看一个负责推理的Kernel

里面同一个归一化计算,因为分块方式的问题,重复做了四遍。

Agent重新调整了一遍,速度提高1.71倍。

它能想到这个改法,也不是凭空出来的

此前它读过SGLangFLADeepGEMM里的不少Kernel

这些都是大模型底层系统里很重要的开源项目。Agent从里面整理了一些常见的优化写法,碰到新问题时就会拿出来用。

学习编程的过程也这么过来的。

看别人代码,看多了,很多写法会记住。以后自己遇到类似的问题,知道以前有人这么处理过就会按照经验来处理

现在GLM也开始积累这种经验

GLM是被优化的对象。

同时,它也成了参与优化的人。

以前我们谈AI编程,大部分时候还是得需要人在指挥。

帮我做个网页。

这里报错了,看看怎么改。

这个功能加一下。

任务是什么,人知道;哪里出了问题,很多时候人也已经告诉它了。

但是这次不一样

服务器只给它一个结果:

慢了。

问题在哪里,它得跟着工程师一起找。

它修的不是别人的软件。

它修的是运行自己的那套系统。

这件事还有后半截。

今天Agent查出来的这些问题,解决完问题的经验都会留下来

比如那次传输开销超过30%

Agent最开始看到了什么,检查过哪些地方,哪条路没找到答案,后来为什么一路从Python追到C++,最后又怎么确定是GIL的问题。

下一个Agent可以继续学。

以前一个老工程师排查问题,很多经验只存在他自己脑子里。

Bug修完了,代码提交了,最后留下来的可能只是一个PR

至于他当时为什么先查这里、为什么觉得那里不对,未必有人专门记。

Agent干活不一样。

过程本身就能变成数据。

今天的模型参与解决一个真实问题,留下来的经验以后又可以拿去训练后面的模型。

下一代Agent再遇到类似情况,就不用从零开始

这也是唐杰在文章最后提到“recursive self-improvement”的原因。

翻成中文,就是递归式自我改进

这个词很容易让人想到科幻电影里的桥段

AI自己研究AI,自己改进自己,然后越来越强。

但是现在还远远没到这一步。

这次GLM能干这些活的原因,前提是工程师把环境搭好

目标由人来定,检查工具由人来做,风险比较大的修改最后也要人来看。

所以现在说“GLM已经可以自我进化,其实是说过头了。

唐杰原文的说法要克制得多:

We are still far from recursive self-improvement.

离递归式自我改进还很远。

后面还有一句:

But the smallest loop now exists.

最小的那个循环,已经有了。

这个循环其实不复杂。

工程师造出GLM

GLM参与优化运行自己的系统。

系统变快以后,又继续运行GLM

它干活时留下来的经验,还可以交给后面的Agent

现在,人还站在这个循环中间。

只是AI已经不再老老实实坐在车里等着工程师把一切调好。

这次它也下车了。

打开引擎盖,跟着一起找毛病。

文章最后,唐杰留下两句话:

The model optimizes the system.

The system serves the model.

模型优化系统。

系统运行模型。

AI开始给自己修发动机了。

相关学习资料

返回首页浏览学习资料