第845章 花钱挂个名,很合理吧? (第1/2页)
四月中旬的北京,中关村理想国际大厦十七层。
顾屿靠在办公椅上,手里端着一杯已经凉透的美式咖啡。
墙上的巨大液晶屏幕正显示着加密视频会议的画面。
画面那头是远在四川雅安的九天AI实验室会议室。
屏幕里的几个人看起来状态相当惨烈。
安德烈的金色卷发已经成了鸡窝,眼眶底下挂着两个巨大的黑眼圈。
他正用俄语和英语夹杂着小声嘟囔什么。
旁边的楼天城把脸贴在桌面上,整个人活脱脱是个被抽干了灵魂的空壳。
只有任少卿还算精神,手里捏着一罐红牛,正对着屏幕这头的顾屿做本周的项目汇报。
“顾总,我们在传统的机器翻译任务里加入了您之前提过的注意力机制。实验数据出来了,BLEU分数确实有显著提升。模型终于不再像以前那样,把长句子硬塞进一个固定长度的向量里了。”
顾屿点了点头,这都在他的预料之中。这证明了注意力机制这个东西在理论上是走得通的。
“但现在我们卡在了一个更底层的架构问题上。”任少卿放下红牛,脸上的表情有些无奈。
楼天城听到这里,从桌面上抬起头,顶着乱糟糟的头发开始大倒苦水。
“简直没法忍受了。我们现在用的底层架构还是RNN循环神经网络。这破玩意儿的计算逻辑是串行的。这就好比食堂打饭,后面的人必须等前面的人打完才能往前走一步。”
楼天城越说越气愤,直接拍了拍面前的桌子。
“咱们雅安基地现在配了最顶级的显卡。GPU这种东西天生就是为了做大规模并行矩阵运算的。结果RNN非要让它们排队买票。这简直是对算力的极大侮辱。硬件的性能连十分之一都没榨出来。”
顾屿喝了一口咖啡,没急着插话。他知道这帮人已经摸到了历史的边界。
这时候,全世界的顶尖AI研究员都被困在这个死胡同里。
大家都知道RNN效率低,但所有人都觉得处理语言这种有先后顺序的东西,必须得用串行的RNN或者LSTM。
“所以你们的想法呢?”顾屿靠在椅背上,看着屏幕那头的三大金刚。
任少卿叹了口气:“我们在尝试优化RNN的内部结构,看看能不能勉强实现部分并行。安德烈最近算矩阵算得快吐了。”
“既然RNN是个阻碍并行的毒瘤,为什么不直接把它整个切掉?”
顾屿抛出了这个在当时看来极其离经叛道的理论。
任少卿愣住了。安德烈直接站了起来,连连摇头。
“这不可能的顾。没有RNN的循环结构,模型怎么知道这句话里哪个词在前面,哪个词在后面?语言是有顺序的,直接切掉它,输入进去的东西就变成了一盘散沙。”
顾屿笑了笑。这就是他作为“穿越者”带来的认知差距。
他不需要自己去推导那些复杂的数学公式,他只需要在这些绝顶天才走上岔路口的时候,伸手把他们推上那条名为未来的高速公路。
“谁规定注意力只能用来让输出端去看输入端?”顾屿敲了敲桌面,抛出了那个价值千金的灵魂拷问。
“一个句子里面的每个词,为什么不能对这句话里的其他所有词施加注意力?让序列内部自己看自己。”
会议室里安静得落针可闻。
安德烈的眼睛瞪大,此刻只觉像遭了高压电击。
顾屿提出的这个概念,就是后世大模型时代的基石。
自注意力机制。
为了让这几个天才彻底打通任督二脉,顾屿开始用最通俗的语言描绘那个恐怖的数学模型。
“你们把每一个词想象成带着三个不同身份去参加相亲大会。我们管这三个身份叫Q、K和V。”
顾屿竖起三根手指。
这其实是一个非常直白的查询匹配逻辑。
Q代表QUery,也就是查询。相当于你带着一个问题去图书馆找书。
K代表Key,也就是键值。相当于书架上每一本书的标签和简介。
V代表ValUe,也就是内容。相当于那本书里真正写着的知识。
“当一个词想要理解自己在句子中的含义时,它就拿着自己的Q,去和句子里所有其他词的K进行匹配打分。谁的分数高,就说明谁跟它关系最紧密。然后把高分对应的V提取出来,融合到自己身上。”
顾屿看着屏幕那头目瞪口呆的三人,做出了最终的总结陈词。
“不需要排队。所有的词在同一时间,拿着自己的Q去和别人的K进行矩阵相乘。这完全是一个可以用GPU暴力加速的并行矩阵运算。”
安德烈根本没等顾屿把话说完。他直接抄起一支红色的马克笔,转身扑向了背后的白板。
笔尖在白板上疯狂摩擦,发出一连串刺耳的吱吱声。一串串极其复杂的矩阵变换公式被他写了出来。
“对。对。矩阵乘法。Q的转置乘以K。太优美了。这就解决了并行的计算瓶颈。”
安德烈一边写一边用俄语大声感叹。
(本章未完,请点击下一页继续阅读)