一个框架,和一篇论文,改变了模型训练的规则
框架是BitNET
论文https://arxiv.org/abs/2410.16144
有人问我什么是1.58Bit
是这样的。
fp16是一般情况下模型训练后产物的精度。
比如qwen2 8B fp16,文件大小15GB
如果量化成Q_4O,也就4GB
量化相当于模型压缩,会损失精度,常见的精度是INT4 INT8
量化后,模型小了,小机器也能跑了。
但是比全精度fp16更容易产生幻觉,胡说八道。
也就是说,精度高=硬件要求高=更智能,精度低=硬件要求低=更愚蠢
—好戏来了—
那篇论文,提出了一种新的精度,叫1.58bit,约等于1bit
这种精度的模型,如果按常理,几乎无法使用,因为精度太低。
但它提出了一种新的训练方法,将模型中神经元的状态定义为三种,-1 0 1
这种定义,和SNN脉冲神经网络的神经元类似,和人类大脑的神经元运作方式也类似。
-1低电压
0 正常
1 高于阀值
这种训练方式,降低了精度为1.58bit,但是训练后的模型和fp16精度的模型,推理效果相差不大。
这意味着,找到了一种低耗电,低资源占用,高产出的模型训练方法。
意味着,在一台普通计算机上,可以轻松运行8B,甚至70B的模型。而且是全精度。
在更强性能的计算机上,可以轻松运行406B的模型。并且和fp16精度性能相当。
我们使用的云的chat,例如通义千问官网的chat,不知道是全精度的,还是量化后的。
如果拿全精度的跑分,拿量化后的给用户用,那纯粹是骗人。
但是1bit的诞生,意味着厂商可以轻易的允许406B的模型,并且性能等同于全精度fp16,而耗能低的离谱。
但是也有缺陷,将先有模型转换成1bit,会导致模型幻觉增加,想要实现最好的效果,需要从头开始训练。
论文是中国人写的,还封装了一个框架 BitNET,这个框架隶属于微软。
总之,这是深度学习领域比较疯狂的改变,短短几天时间,那个仓库就有了很多issue。
降低算力需求,才能让模型走进千家万户。
这样也有助于提高模型的大小,说不定,未来我们使用的chat,都是1000B的。
到那个时候,AGI或许不再是问题,人们也不需要工作了。都要饭去了。