AI 圈最老土的一招,数数,刚给 1B 模型换来了相当于多 57% 算力的效果。
数的东西很简单:
在一大堆语料里,每个词组后面最常跟什么词,提前统计好,存成一张表。
这就是 n-gram,几十年前的语言模型基本就靠这个。
最近一篇论文把这玩意又捡回来了,叫 COUNT。
做法很朴素:
模型读到一段话,先去表里查一下“这几个词后面通常接什么”,
然后用模型自己的词向量,按出现频率加权拼成一个提示,当额外输入喂进去。
全程不加任何要训练的参数。
结果是,同样的算力预算下,1B 参数的模型,验证损失的改善幅度相当于多给了 57% 的算力。
我觉得更有意思的是这张表放在哪。
它放在普通内存里,不占显卡显存。
显存贵,还永远不够用。
内存条便宜多了,训练的时候大部分还闲着。
论文里还比了一下:
显存有限时,把显存全留给模型主体、计数表丢进内存,
效果比分一块显存去训练 n-gram 向量更好。
还有一个点让我愣了一下:
推理的时候,可以直接把计数表换成某个专业领域语料的统计,模型就能适配新任务。
不用微调,换张表就行。
有点像给模型配了一本随时能换的常用搭配词典。
边界也得说清楚:
目前实验是 1B 规模,更大的模型还能不能保持这个比例,得看后续。
换表适配能做到什么程度,摘要里也没给具体数字。
这一年大家都在抢 GPU、堆显存。
结果有人回头去数词频了。
家里那几根闲置的内存条,我突然觉得它们没那么废了。
显示更多