现在的大语言模型(LLMs),那叫一个“力大砖飞”。你问它个“今天星期几”这种芝麻绿豆大的问题,它老兄能把整个“数字大脑”都给点亮了,所有神经元恨不得全体起立给你鞠躬,那架势,比参加奥运会开幕式还隆重。结果呢?电费蹭蹭涨,时间哗哗流,钱包瘪得比我当年追女神失败的心情还快。这哪是智能啊,这简直是高射炮打蚊子——大材小用,还浪费炮弹!
以前那些所谓的解决方案呢?比如那个“专家混合”,听着挺唬人,结果呢?还得费老大劲给模型搞“岗前培训”,这不是脱了裤子放屁——多此一举嘛!还有些号称“免训练”的方法,像什么Teal、Cats,它们判断神经元该不该“上班”,就看谁嗓门大(激活强度)。这就有问题了,万一哪个神经元是那种“干活细声细语,但句句是关键”的狠角色呢?你一刀切让人家“闭嘴”,那活儿还能干好吗?结果就是,下手稍微狠一点,性能就跟坐过山车似的往下跌。
就在大家快被这些“傻大个”AI给折磨疯了的时候,微软那边联合一帮研究大佬,捣鼓出了一个叫“Wina”的新玩意儿。这哥们儿可就机灵多了,它不搞那些虚头巴脑的额外训练,而是直击要害。Wina寻思着,评价一个神经元牛不牛,不能光看它嗓门喊得多响(激活大小),还得看它手里拿的“家伙什”够不够劲(权重强度)。这就好比,一个大嗓门的未必能干活,一个拿着金刚钻的才可能是老师傅。
所以Wina干脆利落,把每个神经元的“嗓门”和“家伙什力度”一乘,谁的“组合拳”最猛,谁就留下继续发光发热;剩下的嘛,暂时“打个盹儿”,别在旁边瞎起哄耗电。哎,这就对了嘛,好钢用在刀刃上!
为了保证这么“偷懒”之后,数学计算别出幺蛾子,Wina还特别设计了一个“清理”步骤。这里用到了一个叫“奇异值分解”的高科技玩意儿,听着玄乎,其实就好比你搬家重新摆放家具,把关键的“大件儿”(权重)调整对齐,确保误差小到可以忽略不计。这就叫专业!
人家也不是吹牛,拉着市面上火热的Quen 2.5、Llama 2、Llama 3这些模型一顿猛操作,结果那是相当喜人。即便让高达65%的神经元都去“摸鱼”,Wina在各种基准测试上的准确率,愣是比老伙计Teal高出1到3个百分点。这就好比,你队伍里一半人在划水,结果打团还赢了,你说气不气人,啊不,是高不高兴!
更给力的是啥?计算量(就是那个叫flops的玩意儿)噌噌地往下掉啊!拿Llama 2来说,在65%的神经元“休假”情况下,计算需求从惊人的66亿flops降到了24亿flops,省了差不多三分之二的“马力”!这换算成白花花的银子,GPU账单可能直接腰斩。我仿佛已经看到我那瘪了许久的钱包,露出了久违的笑容。
而且,最让我这种懒人(咳咳,是注重效率的人)心动的是,Wina这套“节能大法”完全不需要你给模型搞什么额外的“特训班”,直接拿过来就能用在现有的模型上,即插即用,童叟无欺!不像以前那种“权重修剪”,咔嚓一剪刀下去,模型有些部分就永久性“残疾”了。Wina不一样,神经元们只是轮流“小憩”,这个“摸鱼排班表”还会根据你提的问题动态调整。遇到简单问题,就能让更多的神经元理直气壮地“带薪拉屎”,这简直是AI界的“弹性工作制”楷模!
当然啦,咱们也得实事求是,Wina也不是什么万能神药,指望它一下子把AI的能耗问题全解决了,那估计还得等AI自己进化出光合作用功能。但这种思路,无疑是给整个行业指了个新方向。以前咱们总抱怨AI不够聪明,现在它们聪明是聪明了,但又太“能吃”了。科技圈就是这么个不断“找茬”又不断“填坑”的过程,痛并快乐着。希望以后能有更多像Wina这样,既让AI保持聪明,又能让咱们的电表别转得跟风火轮似的省心技术。
好消息是,Wina的代码已经在GitHub上开源了,用的是Apache 2许可证,各位技术宅、程序猿、攻城狮们,有兴趣的可以去扒拉扒拉,说不定还能给它整出点新花样,让AI的“脑回路”更加清奇。