新闻中心

微软6页论文爆火:三进制LLM,真香!

2024-02-29
浏览次数:
返回列表

这就是由微软和中国中科院大学在最新一项研究中所提出的结论——

所有的LLM,都将是1.58 bit的。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

微软6页论文爆火:三进制LLM,真香!

具体而言,这项研究提出的方法叫做BitNet b1.58,可以说是从大语言模型“根儿”上的参数下手。

将传统以16位浮点数(如FP16或BF16)形式的存储,统统变成了三进制,也就是 {-1, 0, 1}

微软6页论文爆火:三进制LLM,真香!

需要注意的是,“1.58 bit”并非表示每个参数占用1.58字节的存储空间,而是指每个参数可以用1.58位的信息来编码。

在如此转换之后,矩阵中的计算就只会涉及到整数的加法,因此会让大模型在保持一定精度的同时,显著减少所需的存储空间和计算资源。

例如BitNet b1.58在3B模型大小时与Llama做比较,速度提高了2.71倍的同时,GPU内存使用几乎仅是原先的四分之一。

而且当模型的规模越大时(例如70B),速度上的提升和内存上的节省就会更加显著!

这种颠覆传统的思路着实是让网友们眼前一亮,论文在X上也是受到了高度的关注:

微软6页论文爆火:三进制LLM,真香!

网友们惊叹“改变游戏规则”的同时,还玩起了谷歌attention论文的老梗:

1 bit is all YOU need.

微软6页论文爆火:三进制LLM,真香!

那么BitNet b1.58具体又是如何实现的?我们继续往下看。

把参数都变成三进制

这项研究实则是原班人马在此前发表的一篇论文基础之上做的优化,即在原始BitNet的基础上增加了一个额外的0值。

微软6页论文爆火:三进制LLM,真香!

整体来看,BitNet b1.58依旧是基于BitNet架构(一种Transformer),用BitLinear替换了nn.Linear。

至于细节上的优化,首先就是我们刚才提到的“加个0”,即权重量化(weight quantization)

BitNet b1.58模型的权重被量化为三元值{-1, 0, 1},这相当于在二进制系统中使用了1.58 bit来表示每个权重。这种量化方法减少了模型的内存占用,并简化了计算过程。

微软6页论文爆火:三进制LLM,真香!

其次,在量化函数设计方面,为了将权重限制在-1、0或+1之间,研究者们采用了一种称为absmean的量化函数。

微软6页论文爆火:三进制LLM,真香!

这个函数先会根据权重矩阵的平均绝对值进行缩放,然后将每个值四舍五入到最接近的整数(-1, 0, +1)。

接下来就到了激活量化(activation quantization)这一步。

激活值的量化与BitNet中的实现相同,但在非线性函数之前不将激活值缩放到[0, Qb]的范围内。相反,激活值被缩放到[−Qb, Qb]的范围,以此来消除零点量化。

值得一提的是,研究团队为了BitNet b1.58与开源社区兼容,采用了LLaMA模型的组件,如RMSNorm、SwiGLU等,使得它可以轻松集成到主流开源软件中。

最后,在实验的性能比较上,团队将BitNet b1.58与FP16 LLaMA LLM在不同大小的模型上进行了比较。

微软6页论文爆火:三进制LLM,真香!

结果显示,BitNet b1.58在3B模型大小时开始与全精度LLaMA LLM在困惑度上匹配,同时在延迟、内存使用和吞吐量方面有显著提升。

而且当模型规模越大时,这种性能上提升就会越发显著。

网友:能在消费级GPU跑120B大模型了

正如上文所言,这篇研究独特的方法在网上引发了不小的热议。

DeepLearning.scala作者杨博表示:

BitNet b1.58相比原版BitNet,最大的特点就是允许0参数。我觉得稍微修改一下量化函数,也许可以控制0参数的比例。当0参数的比例很大时,可以用稀疏格式存储权重,使得平均每个参数的显存占用甚至低于1比特。这就相当于权重级别的MoE了。我觉得比一般的MoE更优雅。

与此同时,他也提出了关于BitNet的缺点:

BitNet最大的缺点在于虽然能减少推理时的显存开销,但优化器状态和梯度仍然要用浮点数,训练仍然很费显存。我觉得如果能把BitNet和训练时节省显存的技术结合起来,那么相比传统半精度网络,同等算力和显存下支持更多参数,优势就很大了。

目前能节省优化器状态的显存开销的办法是offloading。能节省梯度的显存占用的办法可能是ReLoRA。但是ReLoRA的论文实验只用了十亿参数的模型,并没有证据表明能不能推广到百亿、千亿参数的模型。

微软6页论文爆火:三进制LLM,真香!

△图源:知乎,经授权引用

不过也有网友分析认为:

若论文成立,那么我们就能在24GB消费级GPU上跑120B的大模型了。

微软6页论文爆火:三进制LLM,真香!
微软6页论文爆火:三进制LLM,真香!

那么你觉得这种新方法如何呢?

以上就是微软6页论文爆火:三进制LLM,真香!的详细内容,更多请关注其它相关文章!


# 训练  # 内存占用  # ai  # 推广营销合作协议  # 六合区网站营销推广品牌  # 做网站建设案例  # 北仑区网站建设方式  # 数控车床推广网站有哪些  # 青岛网站设计优化服务  # 容县营销型网站建设  # 产品营销推广选择隐迅推  # 山西seo优化招商加盟  # 桐庐SEO  # 可以用  # 互动  # 麦当劳  # 就会  # 的是  # 我觉得  # 开源  # 显存  # 三进  # 微软  # deepl  # llama 


相关栏目: 【 行业资讯67740 】 【 技术百科0 】 【 网络运营39195


相关推荐: typescript如何开发  免费恢复删除的微信聊天记录软件有哪些  路由器上的power按钮是什么意思  怎么更新typescript  html怎么使用typescript  估值水平比较中市盈率E是什么意思  vi命令如何退出编辑模式  苹果16最近玩法有哪些  苹果16讲解有哪些功能  HTML5如何引用typescript  如何查看邮件域名解析  linux如何用命令修改ip  windows 如何连接ftp命令行  按键精灵datediff函数怎么用 如何使用按键精灵中的Datediff函数教程  新三板市盈率是什么意思  linux如何跳回命令行界面  春运抢票用不用取票码  爱奇艺视频怎么下载到手机u盘怎么转换格式方法  如何通过命令系统还原  单片机怎么储存和显示  8英寸等于多少厘米  单片机加热片怎么制作  sql isnull函数如何使用  .asm如何在命令行运行  命令行如何打开打印机  哪些框架支持typescript  建伍遥控器power是什么意思  如何退出数据库命令行  春运抢票最新技巧与方法  营收和gmv区别_营收和gmv有什么区别  typescript解决了什么  npm如何声明命令  driver是什么意思  三星相机里power是什么意思  液位传感器power是什么意思  ai如何重复使用上一命令  access 如何输入命令  虚拟机如何用命令清除垃圾  三星 nfc什么功能是什么意思  开机如何运行dos命令提示符  debian10和ubuntu20哪个好用  为什么youtube音乐打不开  智能锁type-c接口是什么  单片机速度怎么看  手机如何ip绑定域名解析  为什么有的夸克带电  a03怎么根据编号找文链接入口  分销是什么意思  awk命令如何对两列加分隔符  如何修改cad中的命令 

搜索