The Era of 1-bit LLMs: All Large Language Models are in 1.58 Bits

news2024/11/16 21:41:06

The Era of 1-bit LLMs: All Large Language Models Are in 1.58 Bits

相关链接:arxiv、github
关键字:1-bit LLMsBitNet模型压缩能耗效率模型性能

image.png

摘要

近期的研究,例如BitNet,正在为1-bit大型语言模型(LLMs)的新时代铺平道路。在本工作中,我们介绍了一个1-bit LLM的变体——BitNet b1.58,其中LLM的每一个参数(或称为权重)均为三值{-1, 0, 1}。BitNet b1.58在复杂度和末端任务性能上与同等模型大小和训练令牌的全精度(即FP16或BF16)Transformer LLM匹敌,同时在延迟、内存、吞吐量和能源消耗等方面成本更低。更深层次地,1.58-bit LLM定义了一个新的规模法则和训练新一代LLMs的配方,这些模型既高性能又具成本效益。此外,它还启用了一种新的计算范式,并为设计优化1-bit LLM的专用硬件打开了大门。

核心方法

BitNet b1.58的关键方法包括:

  • 量化函数:采用绝对值均值(absmean)量化函数对权重进行约束至{-1, 0, +1},激活采用与BitNet相似的量化方式进行处理,将激活缩放到[-Q,Q]以拜托零点量化。
  • LLaMA-alike组件:模型结构采用LLaMA相似的组件,如RMSNorm、SwiGLU和rotary embedding,使得BitNet b1.58容易集成到流行的开源软件。
  • 从头开始训练:使用1.58-bit权重和8-bit激活,从头开始训练。

实验说明

效果对比

我们使用markdown表格形式来表示实验结果,以便于观察比较:

ModelsSizeMemory (GB)↓Latency (ms)↓PPL↓
LLaMA LLM700M2.08 (1.00x)1.18 (1.00x)12.33
BitNet b1.58700M0.80 (2.60x)0.96 (1.23x)12.87
LLaMA LLM1.3B3.34 (1.00x)1.62 (1.00x)11.25
LLaMA LLM1.3B1.14 (2.93x)0.97 (1.00x)11.29
LLaMA LLM3B7.89(1.00x)5.07(1.00x)10.04
BitNet b1.583B2.22(3.55x)1.87(2.71x)9.91
BitNet b1.583.9B2.38(3.32x)2.11(2.40x)9.62

表格1:BitNet b1.58与LLaMA LLM在不同模型大小下的复杂度及效果对比。

ModelsSizeARC-eARC-cHellaSwagWinograndePIQAOpenbookQABoolQAvg.
LLaMA LLM700M54.723.037.060.020.268.954.845.5
BitNet b1.58700M51.821.435.158.220.068.155.244.3
LLaMA LLM1.3b56.923.538.559.121.670.053.946.2
BitNet b1.581.3B54.924.237.756.719.668.855.845.4
LLaMA LLM3B62.125.643.361.824.672.158.249.7
BitNet b1.583B61.428.342.961.526.671.559.350.2
BitNet b1.583.9B64.228.744.263.524.273.260.551.2

表格2:BitNet b1.58与LLaMA LLM在不同终端任务中的零样本准确率对比。

这些实验中,模型在RedPajama数据集上预训练了1000亿个令牌,并在多种语言任务中评估了零拍照性能。此外,比较了BitNet b1.58和LLaMA LLM在不同模型大小下的GPU运行内存和延迟,并测量了吞吐量、能源消耗。

效率对比

image.png
image.png
图2:解码延迟与内存消耗因模型大小而异

ModelsSizeMax Batch SizeThroughput (tokens/s)
LLaMA LLM70B16 (1.0x)333 (1.0x)
BitNet b1.5870B176 (11.0x)2977 (8.9x)
表格3:吞吐率与batch_size的比较

结论

BitNet b1.58开辟了一条新的关于模型性能与推理成本的规模法则。我们可以根据结果确定,在延迟、内存使用和能耗方面,13B BitNet b1.58比3B FP16 LLM更高效,30B BitNet b1.58比7B FP16 LLM更高效,70B BitNet b1.58比13B FP16 LLM更高效。2T令牌的训练显示,BitNet b1.58在所有终端任务上优于3B模型,显示出1.58-bit LLM也具有强大的泛化能力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1479676.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网站文章被百度快速收录的工具

百度是中国最主要的搜索引擎之一,对于网站管理员来说,网站文章被百度快速收录是至关重要的,因为这直接影响着文章的曝光和网站的流量。然而,许多网站管理员都会问一个常见的问题:文章百度收录需要几天?在这…

ISP代理是什么?怎么用?

在跨境出海业务中,代理IP对于您的在线任务至关重要,尤其是对于那些运行多个帐户的人来说。为您的帐户选择正确类型的代理对于确保帐户安全非常重要,劣质的IP容易使账号遭受封号风险。IPFoxy的多种代理IP类型应用范围各有侧重,其中…

项目实现json字段

有些很复杂的信息,我们一般会用扩展字段传一个json串,字段一般用text类型存在数据库。mysql5.7以后支持json类型的字段,还可以进行sql查询与修改json内的某个字段的能力。 1.json字段定义 ip_info json DEFAULT NULL COMMENT ip信息, 2.按…

C语言学习笔记(二)

C语言学习 学习笔记(一) 学习笔记(二) 文章目录 C语言学习一、C语言中的数据类型进制二进制八进制十六进制进制转换表 单位换算寻址 数据类型基本类型整数类型整数的有符号和无符号实数类型字符型 构造类型指针类型空类型总结 常量直接常量符号常量转义符 符号常量…

Java配置49-nginx 反向代理 sftp 服务器

1. 背景 后端服务需要通过部署在跳板机上的 nginx 访问一个外网的 SFTP 服务器。 2. 方法 nginx从 1.9.0 开始,新增加了一个stream模块,用来实现四层协议的转发、代理或者负载均衡等。 首先检查 nginx 版本信息及是否安装了 stream 模块。 进入 ngi…

java程序员面试笔试宝典答案,java面试框架问题

目录 由于文档内容过多,共计有500页,因此为了避免影响到大家的阅读体验,在此只以截图展示部分内容,详细完整版的可以在文末获取! 部分内容展示 深入浅出索引(上) 索引的常见模型InnoDB 的索引…

回溯 Leetcode 332 重新安排行程

重新安排行程 Leetcode 332 学习记录自代码随想录 给你一份航线列表 tickets ,其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票都属于一个从 JFK(肯尼迪国际机场)出发的先生&a…

使用R语言进行主成分和因子分析

一、数据描述 数据来源2013年各地区水泥制造业规模以上企业的各主要经济指标,原始数据来源于2014年(《中国水泥统计年鉴》),试对用主成分和因子进行经济效益评价。 地区,企业个数(亿元),流动资产合计&…

亚信安慧AntDB之国密算法介绍

近年来,为摆脱对国外技术和产品的过度依赖,建设行业网络安全环境,增强我国行业信息系统安全、可靠的能力,国家有关机关和监管机构站在国家安全和长远战略的高度提出了“推动国密算法应用实施、加强行业安全可控”的要求。 密码算…

感谢信∣企企通再获肯定,中国煤科【天玛智控】SRM项目成功上线,推动煤矿供应链智能化高效协同发展

近日,煤矿智能无人化开采技术引领者【北京天玛智控科技股份有限公司】(以下简称“天玛智控”)携手企企通打造的SRM数字化采购平台成功上线。系统上线后,实现了天玛智控与供应商之间的信息共享和业务协作,提升采购业务效…

解决android studio build Output中文乱码

1.效果如下所示: 代码运行报错的时候,Build Output报的错误日志中中文部分出现乱码,导致看不到到底报的什么错。 2.解决办法如下: 点击Android studio开发工具栏的Help-Edit Custom VM Options....,Android studio会…

Node.js中的并发和多线程处理

在Node.js中,处理并发和多线程是一个非常重要的话题。由于Node.js是单线程的,这意味着它在任何给定时间内只能执行一个任务。然而,Node.js的事件驱动和非阻塞I/O模型使得处理并发和多线程变得更加高效和简单。在本文中,我们将探讨…

继承-学习2

this关键字:指向调用该方法的对象,一般我们是在当前类中使用this关键字,所以我们常说代表本类对象的引用 super关键字:代表父类存储空间的标识(可看作父类对象的引用) 父类: package ven;public class Fu {//父类成员…

Jenkins笔记(一)

个人学习笔记(整理不易,有帮助点个赞) 笔记目录:学习笔记目录_pytest和unittest、airtest_weixin_42717928的博客-CSDN博客 目录 一:简单了解 二:什么是DevOps 三:安装Jenkins 四&#xff1…

uniapp实现-审批流程效果

一、实现思路 需要要定义一个变量, 记录当前激活的步骤。通过数组的长度来循环数据,如果有就采用3元一次进行选择。 把循环里面的变量【name、status、time】, 全部替换为取出的那一项的值。然后继续下一次循环。 虚拟的数据都是请求来的, 组装为好渲染的格式。 二…

Diffusion Models/Score-based Generative Models背后的深度学习原理(5):伪似然和蒙特卡洛近似配分函数

Diffusion Models专栏文章汇总:入门与实战 前言:有不少订阅我专栏的读者问diffusion models很深奥读不懂,需要先看一些什么知识打下基础?虽然diffusion models是一个非常前沿的工作,但肯定不是凭空产生的,背…

FaceBook获取广告数据

1、访问 广告管理工具 确认自己登陆的账号下面能看到户。 ​ 2、使用 图谱Api探索工具 生成用户短期口令 ​ 3、get请求(或者浏览器直接打开)访问: https://graph.facebook.com/v19.0/me?fieldsid,name, email&access_token{上一步生成的口令} ​ 4、短期…

ChatGPT4.0 的优势、升级 4.0 为什么这么难以及如何进行升级?

前言 “ChatGPT4.0一个月多少人民币?” ”chatgpt4账号“ ”chatgpt4 价格“ “chatgpt4多少钱” 最近发现很多小伙伴很想知道关于ChatGPT4.0的事情,于是写了这篇帖子,帮大家分析一下。 一、ChatGPT4.0 的优势 (PS:…

Tiktok矩阵系统搭建的逻辑和源代码!

很多和我一样从事外贸工具开发的朋友都清楚,TikTok矩阵系统不仅确保了平台的高效运行,还为用户提供了个性化的内容推荐,从而大大提升了用户黏性,因此很多人都乐意去开发类似的工具,下面我们就来说说Tiktok矩阵系统搭建…

常用SQL查询方法与实例

目录 SELECT查询 INSERT查询 UPDATE查询 DELETE查询 JOIN查询 GROUP BY查询 HAVING查询 窗口函数 公共表表达式(CTEs) 递归查询 透视表 分析函数 解透视 条件聚合 日期函数 合并语句 情况语句 常用SQL查询方法有以下几种: S…