学霸的模拟器系统: 第202章 易碎的“玻璃糖”(求订阅求月票)
上午九点五十五分,科瓦利斯会议中心C厅。
原本只能容纳两百人的分会场,此刻连过道里都站满了人。
空气闷热,混合着廉价咖啡和程序员身上特有的那种陈旧衬衫的味道。
这帮人当然不是冲着名不见经传的“以太动力”来的。
大家是来看上帝的。
就在刚才,杰弗里?辛顿和杨立昆这两个平时神龙见首不见尾的大佬,竟然联袂走进了这个偏僻的C厅,并且在前排正中间找了个位置坐下。
这一举动就像是在平静的鱼塘里扔了个深水炸弹。
原本还在隔壁B厅听贝叶斯网络报告的人,瞬间跑了一半过来围观。
“那个中国小子是谁?辛顿教授居然专门来听他的报告?”
“听说是个做AI制药的,昨天在展台那边忽悠了不少风投。”
第一排最右侧,谷歌技术总监魏斯博士(Dr. Weiss)已经打开了他那台厚重的戴尔外星人笔记本电脑。
屏幕上跑着一段MATLAB代码,那是他连夜让手下工程师复现的“全注意力机制”demo。
在他身后的屏幕上,鲜红的“Out of Memory”(内存溢出)报错框正一闪一闪。
魏斯看着走上台的林允宁,推了推眼镜。
他不是来砸场子的,他是来做“代码审查”的。
作为谷歌搜索算法的负责人之一,他太清楚工程实现的边界在哪里。
数学可以天马行空。
但服务器的内存条,才不会陪你演戏。
十点整。
林允宁站在讲台中央。
他没穿西装外套,只穿了一件挺括的白衬衫,显得身姿愈发挺拔。
领口,依旧系着雪若送的那条深蓝色的真丝领带。
雪若站在台下阴影处,抱着手臂,满意地点了点头。
这身打扮既有学术的严谨,又不失精英的锐利,卖相满分。
“早上好,我是林允宁。”
林允宁没有寒暄,直接按下了翻页笔。
投影幕布上跳出了一张图:一只大象被塞进了冰箱里,冰箱门被撑爆了,零件飞得到处都是。
台下响起了一阵稀稀拉拉的笑声。
“这就是目前的注意力机制。”
林允宁的声音通过麦克风传遍全场,平稳而清晰,“我们试图让神经网络记住每一个输入信号之间的关联,这很美好。但代价是,当我们需要处理长序列??比如一条完整的人类染色体,或者一本《哈利波特》时,我们需要
计算一个乘以N的巨大矩阵。”
他在黑板上写下了一个公式:
Complexity = O(N^2)
“对于N=1000,这没什么。但对于N=100,000,这意味着我们需要100亿次浮点运算和几十GB的显存。”
林允宁看向台下的魏斯,微微一笑,“魏斯博士昨天提醒我,在工业界,这叫死刑。你是对的。”
魏斯挑了挑眉,合上了电脑盖子,靠在椅背上。
这小子还算有点自知之明。
“但是,”
林允宁话锋一转,手里的翻页笔再次按下,“如果我们愿意牺牲一点‘精度”,来换取广度呢?”
屏幕上的PPT变了。
原本复杂的Softmax公式被拆解开来。
Attention(Q,K,V)=Softmax(Q * K^T)* V
这一行公式下方,出现了一个红色的叉。
"Softmax是一个非线性函数,它就像是一把锁,把Q(查询)和K(键)死死地锁在了一起,强迫我们必须先计算它们之间的关系。
“但如果我们引入一个核函数映射(p()来近似Softmax......”
他在白板上飞快地写下了一行变换:
(p(Q)*p(K)^T)* V =p(Q)*(p(K)^T * V)
“根据矩阵乘法的结合律,”
林允宁敲了敲白板,“我们可以改变计算顺序。先算后面这一部分。原本那个N乘以N的巨大矩阵,消失了。取而代之的,是一个只有d乘以d(特征维度)的微型矩阵。”
台下原本有些嘈杂的议论声瞬间消失。
在座的都是聪明人,当那个括号的位置发生改变时,所有人脑子里的算盘都在疯狂拨动。
从平方级,变成了线性级。
“如果你这么做,你就毁了注意力。”
一个冷峻的声音打断了林允宁。
魏斯依然坐在椅子上,但他的眼神变得极其锐利。
作为谷歌搜索算法团队的核心人物,他虽然有着大厂高管特有的傲慢,但业务能力也极强,非常专业地指出了致命伤:
“林先生,这是一个聪明的数学把戏。但是,Softmax的作用不仅仅是归一化,它通过指数运算放大了强信号,抑制了弱信号。这叫‘赢家通吃’(Winner-take-all)。
“正是因为这种尖锐的分布,AI才能精准地关注到那个最重要的词。
“而你用的核函数p(x)??不管你用ELU还是ReLU??它们都是平滑的。如果你把Softmax拿掉,你的注意力分布就会变得非常‘平”,非常‘模糊”。
“你确实把O(N^2)降到了O(N),但你也把一个原本拥有锐利眼神的狙击手,变成了一个散光的近视眼。对于Google搜索来说,这种模糊的匹配是不可接受的。”
魏斯的话音落下,台下响起了一阵低声的附和。
这才是真正的技术痛点。
没有免费的午餐。
你省了算力,就得亏精度。
程新竹在台下捏紧了拳头,手心全是汗。
她虽然不懂具体的数学,但她听得懂“近视眼”这个比喻。
台上的林允宁并没有慌张。
他甚至点了点头,表示赞同。
“您说得非常对,魏斯博士。”
林允宁坦然承认,“线性注意力确实会导致注意力分布的‘平滑化”。它没法像Softmax那样,在几万个词里精准地只盯着一个看。它看东西确实是‘模糊”的。”
他退出PPT,切到了代码终端界面。
“但是,工程学本质上就是关于取舍(Trade-off)的艺术。”
林允宁输入了一行指令,加载了一个巨大的数据文件。
“这是人类1号染色体的基因序列片段,长度为100,000个碱基对。
“在这个尺度上,我们并不需要关注某一个具体的碱基A还是T。我们需要关注的是宏观的、长距离的、全局的关联。
“对于基因测序,或者对于一本百万字的小说来说,‘看清大概的轮廓比‘看清某一个标点符号’重要一万倍。”
“Run.”
林允宁按下了回车键。
大屏幕上,内存监控的波形图开始滚动。
如果是传统的O(N^2)算法,这条红线会在0.1秒内冲破顶端,然后程序报错。
全场几百双眼睛死死盯着那条红线。
一秒。两秒。三秒。
红线微微抬起了一点点,大约占据了128MB的内存,然后......变成了一条毫无波澜的直线。
【Processing... 100%. Done.】
【Time elapsed: 3.42s.】
三秒钟。
处理完了十万长度的序列。虽然它的注意力可能是“散光”的,但它跑完了。
而魏斯电脑上的那个精准的Softmax算法,还在报着“Out of Memory”。
“一个能跑完的模糊算法,永远比一个跑不起来的完美算法有价值。”
林允宁看着台下的魏斯,语气诚恳,“魏斯博士,这就是我目前给工业界的答案。我们不需要在每一件事上都追求完美,有时候,为了看见整片森林,我们必须接受看不清树叶的代价。
“当然,随着技术的进步,这个算法还有很大的成长空间。”
魏斯看着屏幕上那条平直的内存曲线,沉默了很久。
作为工程师,他无法反驳这个逻辑。
在当前芯片的算力下,能跑通,本身就是最大的胜利。
他合上那台依然报错的外星人笔记本,脸上傲慢的神色消退了不少。
他并没有鼓掌,只是对着台上的年轻人微微点了点头,算是一种同行间的认可。
“聪明的取舍。”
第一排,一直没说话的杰弗里?辛顿突然开口了。
老人的声音不大,但全场瞬间安静下来。
“大脑也是这么工作的。”
辛顿推了推眼镜,目光深邃,“我们的大脑从来不会对每一个视网膜像素进行精确计算。我们也是‘散光”的,我们只关注大概。这很......符合生物学直觉。”
听到“生物学直觉”这个词,杨立昆也笑了,带头鼓起了掌。
掌声雷动。
这不是为了一个完美的数学证明,而是为了一个务实的、能解决问题的工程创举。
程新竹在台下拼命鼓掌,手掌都拍红了。
方雪若则迅速拿出手机,拍下了林允宁站在那条平直曲线前的背影??
这张包含了好几位计算机领域大佬照片,将是以太动力最好的广告。
报告结束,人群还没散去。
林允宁刚走下讲台,辛顿教授就走了过来,递给他一张没有任何头衔的名片。
“年轻人,虽然你的算法牺牲了精度,但它打开了一扇门。”
辛顿看着他,“今晚的闭门会,记得早点来。有些关于“大脑”的秘密,或许我们可以在私下里聊聊。”
林允宁接过名片,刚想说话,口袋里的黑莓手机突然震动了一下。
是一封新邮件。
发件人:宋胤乾 (Song Yinqian)。
林允宁心头一跳。热二极管的样品结果出来了。
他跟辛顿教授道了声歉,走到角落里点开邮件。
【允宁:有好消息,也有坏消息。
好消息是:你的掺杂配方是对的。
我们在42°C观测到了明显的绝缘体-金属相变,热导率突变了近10倍。原理验证机成功了。
坏消息是:这东西很脆。
因为钨原子的半径太大,强行挤进晶格后导致结构应力极大。
我们测试了几个样品,基本上在经过两三次热循环后,薄膜就会发生龟裂,甚至直接从基底上剥落。
目前的寿命,最多也就是几十分钟。如果你没有解决晶格应力的办法,这个热二极管项目,恐怕只能停留在实验室阶段了。】
附件里是一张电镜照片。
原本平整的掺杂二氧化钒薄膜上,布满了像蜘蛛网一样细密的裂纹,触目惊心。
林允宁看着那张照片,苦笑了一声。
42度的相变点。
这是完美的开关温度。
但一个只有几十分钟寿命,用三次就会碎的开关,毫无价值。
这就是科研。
按下了一个葫芦,永远有三个在等着你。
“怎么了?”
方雪若走过来,察觉到了他脸色的变化。
“没事,热二极管的实验结果出来了。’
林允宁收起手机,深吸了一口气,“我们要走的路,比想象中还要长得多。”