随着生成式AI技术不断突破,研究人员和开发人员面临的最大挑战是大规模语言模型的庞大规模和复杂的结构。
虽然这些模型令人印象深刻,但它们需要巨大的内存和计算资源,这使得它们很难部署在日常设备上。这使得创新与可访问性之间的差距越来越大,只有那些拥有高端设备的人才能试验或运行这些模型。
如果我们能够大幅减小这些模型的尺寸而不影响性能呢?
1位大型模型来了——一种革命性的方法,可能通过使大型模型更高效、携带方便和易于访问,重塑AI的未来。几个月之前,在一篇革命性的论文中讨论过同样的想法。
1比特大语言模型的时代:所有大型语言模型实际上运行在大约1.58比特
这引入了1比特LLM(即通过仅1比特表示权重的LLM)的概念,从而大大节省了内存空间。今天,微软发布了官方框架,即BitNet.cpp,可在本地系统仅通过CPU运行这种1比特LLM的具体实现BitNet1.58模型。
在进入 BitNet.cpp 之前
1比特的LLM是什么?点击这里订阅 datasciencepocket,致力于让每个人都能学习 AI!1-bit 大型语言模型(LLM)在生成式人工智能领域取得突破,旨在应对模型规模和效率方面的日益增长的挑战。
不同于通常使用的32位或16位来存储权重参数,1-bit LLMs 仅使用单个位(0 或 1)来表示每个权重参数,从而大大减少内存需求。
例如,一个通常需要大约26GB内存的70亿参数模型,可以压缩至仅0.815GB,使其能在手机等小型设备上运行。
该领域的旗舰模型 BitNet b1.58 旨在在减少资源消耗的同时提升性能。
在这里了解更多详情:
回到我们今天的讨论
BitNet.cpp微软的新框架 BitNet.cpp(如 BitNet.cpp)提供了一种用最少资源运行超大规模语言模型的方式。让我们来看看这项革命性技术是如何工作的,以及它为什么这么重要。
bitnet.cpp 是用于 1-bit LLMs(例如 BitNet b1.58)推理的官方框架,它包括一系列针对 1.58-bit 模型 在 CPU 上进行 快速且无损推理 的优化内核。
未来版本将支持 NPU 和 GPU 的推理。
bitnet.cpp 的第一个版本专注于 CPU 推理。
在 ARM CPU 上实现了从 1.37 倍 到 5.07 倍 的速度提升,更大的模型会看到更大的收益。
能耗 减少了 55.4% 到 70.0%,从而提高了效率。
在 x86 CPU 上,速度提升范围从 2.37 倍 到 6.17 倍,能耗节省在 71.9% 至 82.2% 之间。
bitnet.cpp 可以在单个 CPU 上运行 100B BitNet b1.58 模型,处理速度为 每秒 5 至 7 个 token,这与人类阅读速度相当。
当前框架支持3种模型,分别是:
bitnet b1.58-large: 0.7B 参数量
bitnet b1.58–3B: 3.3B 参数量
Llama3–8B-1.58–100B-tokens: 8.0B 参数
这些模型已优化以实现高效运行,可用于各种应用场景。
BitNet.cpp 和 Llama.cpp 有什么不一样? 安装有几样东西是必须的,不像直接用 pip install 那样简单。
- 确保安装了 Python 3.9 或更高版本,CMake 3.22 或更高版本,以及 Clang 18 或更新版本。
- 使用 Windows 的用户应安装 Visual Studio 2022 并启用以下功能:C++ 桌面开发、C++-CMake 工具、Windows 上的 Git、C++-Clang 编译器以及 LLVM(Clang)的 MS-Build 支持。
- 使用 Debian/Ubuntu 的用户可以通过运行
bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)"
来运行自动安装脚本。
可以在下面的链接中查看官方框架仓库:[请参见此处的链接]
GitHub - microsoft/BitNet: 用于1位LLM的官方推理框架。欢迎通过GitHub参与microsoft/BitNet项目的开发。一些1比特的LLM也可以去HuggingFace上看看。比如这个,
[1bitLLM/bitnet_b1_58-3B · Hugging Face通过开源和开放科学,我们正努力推动和普及人工智能。访问Hugging Face上的1bitLLM/bitnet_b1_58-3B。huggingface.co](https://huggingface.co/1bitLLM/bitnet_b1_58-3B?source=post_page-----8a7216fe28cb--------------------------------)
1bitLLM/bitnet_b1_58-xl · Hugging Face我们正在踏上一段旅程,通过开源和开放科学推动并普及人工智能。说实话,我认为这是迄今为止最大的发布之一,因为大型语言模型的规模已经变得相当有挑战性,因此只有少数人能够玩转和研究大型语言模型。随着1比特大型语言模型和框架如BitNet.cpp的出现,这将减少这种差距,普通人也能更容易地接触到生成式AI的进步。
可试试 BitNet 框架