在接下来的几天里,北大计算中心的gpu集群再次满负荷运转。
十几个不同版本的模型,在四张a100显卡上日夜不停地交叉训练、验证、叠代。
徐辰编写了一个自动化的超参数搜索脚本,让计算机自己去寻找那个最优的解。
屏幕上,十几条loss曲线像赛跑一样交织在一起,有的早早收敛,有的半路崩盘,有的则还在顽强地挣扎。
最终,在烧掉了数千块钱的电费后,一个名为“v4_final_best”的模型版本脱颖而出。
它在clutrr验证集上的准確率稳定在了98.8%,比之前的demo版本又提升了3.5个百分点。
这类预测模型,准確率理论上是到不了100%的,人类在这个数据集上的平均准確率,也不过是99%左右。毕竟,人也会犯错,也会看花眼。
而且在ai评测中,为了防止模型“过擬合”或者“作弊”,有时候会故意在测试集中掺杂少量的噪声数据。如果一个模型在这些明显错误的题目上也答“对”了,即输出了错误的標註答案,那就说明这个模型可能是在“背题”,而不是在“推理”。
所以98.8%算得上已经接近理论极限了。
看著这个数字,徐辰满意地点了点头。
“就是它了。”
……
隨后徐辰又看了下训练的日誌。这才发现了这个算法存在一些问题。
由於之前徐辰都是丟给计算机让计算机自己叠代,然后就去做別的事了,所以徐辰並没有太过关注这个模型的运行效率,但是看了日誌才发现,这个slrm模型,太慢了。
徐辰看著那个令人咋舌的延迟数据:
qwen-7b(原版):推理速度 45 tokens/s。
qwen-7b + slrm:推理速度 0.8 tokens/s。
【记住全网最快小説站 101 看书网体验棒,????????????.??????超讚 】
“0.8 tokens/s……”
徐辰扶额。
这速度,跟便秘有什么区別?
如果用这个速度去跟用户聊天,用户发一句“你好”,等它回一句“你好”,估计都能去泡杯茶回来了。
……
slrm运行这么慢,原因在於计算密度的爆炸。
传统的transformer,其核心计算是矩阵乘法(matmul)。这玩意儿虽然计算量大,但在现代gpu上已经优化到了极致,那是为了並行计算而生的。
但slrm不一样。
它的核心是“几何嵌入”。
每一个概念,都要被映射为一个高维空间中的“盒子”或者“流形”。
每一次逻辑推理,都要计算这些几何体之间的“交集”、“並集”和“包含关係”。
这涉及到大量的非线性运算,比如min、max、softplus,以及复杂的gumbel分布採样。
这些操作,在gpu上是极其低效的。它们不仅无法充分利用tensor core的算力,还会导致大量的显存碎片化。
“推理一个简单的三段论,slrm消耗的算力,竟然是同等规模transformer的50倍!”
徐辰看著屏幕上的性能瓶颈分析,脑海中浮现出一个著名的学术概念。
“这简直就是教科书级別的『硬体彩票』。”
徐辰喃喃自语。
所谓“硬体彩票”,是google研究员sara hooker提出的一个深刻观点:一种ai算法能否成功,往往不取决於它在数学上是否优越,而取决於它是否幸运地“中奖”了——即当下的主流硬体架构是否恰好支持它。
“transformer之所以能统治世界,不仅仅是因为“自注意力”机制设计得好,更是因为它中了『头彩』。它的核心算子是矩阵乘法,而这恰好是gpu最擅长的事情。”
这一突破源於gpu的“无心插柳”——其本为处理海量像素设计的並行架构,恰好完美契合了神经网络的矩阵运算需求。
“而我的slrm,虽然在逻辑推理的数学本质上碾压了transformer,但它输掉了这场『彩票』。”
徐辰冷静地分析著,“现有的gpu架构,对於几何集合运算和复杂的非线性逻辑,是天然排斥的。tensor core里的乘法器在面对我的『交集运算』时,就像是用一把精密的狙击枪去当烧火棍使。”
歷史总是惊人的相似。当年深度学习受困於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界创造就业岗位啊!”
“功德无量,功德无量。”
徐辰双手合十,一脸慈悲。