在接下来的几天里,北大计算中心的gpu集群再次满负荷运转。
十几个不同版本的模型,在四张a100显卡上日夜不停地交叉训练丶验证丶叠代。
徐辰编写了一个自动化的超参数搜索脚本,让计算机自己去寻找那个最优的解。
屏幕上,十几条loss曲线像赛跑一样交织在一起,有的早早收敛,有的半路崩盘,有的则还在顽强地挣扎。
最终,在烧掉了数千块钱的电费后,一个名为「v4_final_best」的模型版本脱颖而出。
它在clutrr验证集上的准确率稳定在了98.8%,比之前的demo版本又提升了3.5个百分点。
这类预测模型,准确率理论上是到不了100%的,人类在这个数据集上的平均准确率,也不过是99%左右。毕竟,人也会犯错,也会看花眼。
而且在ai评测中,为了防止模型「过拟合」或者「作弊」,有时候会故意在测试集中掺杂少量的噪声数据。如果一个模型在这些明显错误的题目上也答「对」了,即输出了错误的标注答案,那就说明这个模型可能是在「背题」,而不是在「推理」。
所以98.8%算得上已经接近理论极限了。
看着这个数字,徐辰满意地点了点头。
「就是它了。」
……
随后徐辰又看了下训练的日志。这才发现了这个算法存在一些问题。
由于之前徐辰都是丢给计算机让计算机自己叠代,然后就去做别的事了,所以徐辰并没有太过关注这个模型的运行效率,但是看了日志才发现,这个slrm模型,太慢了。
徐辰看着那个令人咋舌的延迟数据:
qwen-7b(原版):推理速度45tokens/s。
qwen-7b+slrm:推理速度0.8tokens/s。
「0.8tokens/s……」
徐辰扶额。
这速度,跟便秘有什麽区别?
如果用这个速度去跟用户聊天,用户发一句「你好」,等它回一句「你好」,估计都能去泡杯茶回来了。
……
slrm运行这麽慢,原因在于计算密度的爆炸。
传统的transformer,其核心计算是矩阵乘法(matmul)。这玩意儿虽然计算量大,但在现代gpu上已经优化到了极致,那是为了并行计算而生的。
但slrm不一样。
它的核心是「几何嵌入」。
每一个概念,都要被映射为一个高维空间中的「盒子」或者「流形」。
每一次逻辑推理,都要计算这些几何体之间的「交集」丶「并集」和「包含关系」。
这涉及到大量的非线性运算,比如min丶max丶softplus,以及复杂的gumbel分布采样。
这些操作,在gpu上是极其低效的。它们不仅无法充分利用tensorcore的算力,还会导致大量的显存碎片化。
「推理一个简单的三段论,slrm消耗的算力,竟然是同等规模transformer的50倍!」
徐辰看着屏幕上的性能瓶颈分析,脑海中浮现出一个着名的学术概念。
「这简直就是教科书级别的『硬体彩票』。」
徐辰喃喃自语。
所谓「硬体彩票」,是google研究员sarahooker提出的一个深刻观点:一种ai算法能否成功,往往不取决于它在数学上是否优越,而取决于它是否幸运地「中奖」了——即当下的主流硬体架构是否恰好支持它。
「transformer之所以能统治世界,不仅仅是因为「自注意力」机制设计得好,更是因为它中了『头彩』。它的核心算子是矩阵乘法,而这恰好是gpu最擅长的事情。」
这一突破源于gpu的「无心插柳」——其本为处理海量像素设计的并行架构,恰好完美契合了神经网络的矩阵运算需求。
「而我的slrm,虽然在逻辑推理的数学本质上碾压了transformer,但它输掉了这场『彩票』。」
徐辰冷静地分析着,「现有的gpu架构,对于几何集合运算和复杂的非线性逻辑,是天然排斥的。tensorcore里的乘法器在面对我的『交集运算』时,就像是用一把精密的狙击枪去当烧火棍使。」
历史总是惊人的相似。当年深度学习受困于cpu的串行计算,效率低下,一度被视为无法商用的玩具,直到吴恩达引入gpu并行加速才彻底打破了僵局。
「现在的slrm也正处于这种尴尬的『硬体真空期』。」
「cpu逻辑控制强,但核心数太少,吞吐量带不动海量计算;而现有的gpu虽然并发强,底层却全是为矩阵乘法设计的。」
「要想让slrm真正落地,光靠软体优化是不够的。就像谷歌为了追求极致效率,彻底剥离了图形功能,研发了专为矩阵计算设计的tpu(张量处理单元)一样。」
「slrm也需要属于它的『tpu』。」
徐辰的目光变得深邃,「最好的办法就是针对slrm的运算特性,单独开发一个适合几何运算的处理器,也许可以称之为——lpu(逻辑推理单元)。」
当然,这一切得建立在slrm带来的经济价值足够大的前提下。
……
随后,徐辰又思考了一下,slrm应该还有其他2个问题。
一个是泛化能力的边界。
slrm的强大,建立在「逻辑可形式化」的基础上。
对于数学题丶逻辑题丶代码生成这种有着严格规则的任务,它简直就是神。
但是,对于那些模糊的丶感性的丶没有标准答案的任务呢?
徐辰目前在这几个测试集中能有较好表现,本质上是因为这些数据本身含有逻辑信息,可以训练模型。
但是,现实世界中的逻辑关系千奇百怪。
比如「猫」。在生物学上,它是猫科动物;在文学上,它可能是「高冷」的代名词;在网络文化里,它甚至是「主子」。
而且有些场景就是天然弱逻辑的,比如写诗,比如闲聊,比如情感谘询。
slrm的几何约束太强了,它像一把铁钳,死死地卡住了模型发散思维的翅膀。它不允许模型说任何「逻辑不严谨」的话,哪怕那是修辞,是比喻,是艺术。
「成也逻辑,败也逻辑。」
「看来,未来还需要设计一个更灵活的『调度器』,让模型知道什麽时候该用slrm,什麽时候该放飞自我。但这又是一个巨大的工程量。」
……
另一个问题,是训练数据的匮乏。
徐辰目前能跑出sota,是因为他用的这几个数据集(snli丶logiqa等)都是经过人工精心标注的高质量逻辑数据。
但是,这种数据在海量的网际网路文本中,占比极低。
想要让slrm真正具备通用的逻辑能力,就需要海量的丶覆盖各种领域(法律丶医学丶常识)的逻辑数据来训练。
「没有数据,slrm就是个空壳子。」
「而且,不同的逻辑问题下,逻辑的判断归属是不一样的。这依然需要强大的参数量来拟合。」
徐辰现在的slrm模块,参数量仅仅只有0.5b。
「如果要记住更多的逻辑,可能要把slrm扩大到7b,甚至70b,再配合海量的逻辑数据。「
「到时候,它和transformer结合后的威力,绝对不是简单的1+1=2。」
「也就是说一个7b的transformer架构的模型,加上7b的slrm模型,组合起来,可能有超过100b参数的能力。」
「但是……我是没有能力搞到这麽多数据了。」
……
经过一番实操,徐辰得出了结论:
「这个模型学术成果价值比较强,走产业化路线,还有很大的空间。」
「不过,因为是系统出品,我对这个方向的产业化还是比较有信心的。」
徐辰又转念一想,「现在这样,作为学术成果,其实刚刚好。」
「既展示了颠覆性的潜力,又留下了足够的改进空间给后来人。」
「这,才是一篇顶级论文该有的样子。」
他甚至可以预见,这篇论文一旦发表,将会养活多少嗷嗷待哺的ai方向研究生。
「《基于slrm的医疗问答系统优化》丶《slrm在法律文书生成中的应用》丶《一种改进的gumbel-box几何嵌入算法》……」
徐辰掰着手指头数了数,忍不住笑出了声。
「光是把slrm里的几何图形换成『球』丶『锥』丶『高斯分布』,就能水出几十篇论文。」
「再把应用场景换一换,从数学题换成代码生成丶换成情感分析,又能水出几百篇。」
「更别提那些搞硬体加速的,搞模型量化的,搞分布式训练的……这简直就是给整个ai圈送了一波『全家桶』级别的选题啊!」
「我这哪里是发论文,我这是在给全球ai界创造就业岗位啊!」
「功德无量,功德无量。」
徐辰双手合十,一脸慈悲。