一款以1位存储权重符号的小型模型已发布,供测试本地语言模型的开发者使用。存储空间大幅缩减,但评测分数也有所下降,因此需要同时权衡文件大小与任务质量。
1. 权重数据与下载文件并不相同
Precision Numerics 于2026年10月11日发布了 Boole-1.7B。该模型基于 Qwen3-1.7B 构建,面向用英语生成回答且关闭独立思考模式的用途。
公告中的权重数据大小为247.0MB,比16位浮点格式 BF16 原模型的3,441.1MB缩小了13.9倍。1位意味着保留每个权重的正负符号,幅值则由多个权重共享的缩放系数补足。这些系数也占用存储空间。
上述容量仅指权重数据,不含文件头、元数据和分词器。实际 safetensors 文件为247.1MB,可在 CPU 上运行的 GGUF 文件为292.1MB。前者让将输入转换为数值的嵌入矩阵与计算输出的矩阵共享符号位,后者则单独存储这两个矩阵。
2. 平均下降并不代表各项能力同幅下降
公司的评测对十项任务赋予相同权重,不提供示例,并关闭思考模式。默认采用选择概率最高答案的生成方式。例外是 GPQA-Diamond,其控制答案随机性的温度设为0.6,缩小候选范围的累积概率阈值设为0.95,取十次生成的平均值。
平均分从原模型的58.83降至50.55,下降8.28分。公告中的85.9%是两个平均分的比值,并不意味着对任意问题都有这一正确率,也不意味着各项能力均按相同比例保留。
在同一评测中,数学任务 MATH-500 从74.20降至49.80。相反,指令遵循任务 IFBench 从17.67小幅升至18.25。这也是难以仅凭平均降幅估计具体任务损失的原因。
同一公司用相同评测体系比较的 Bonsai-1.7B 大小为242.4MB,平均分为44.97。Ternary-Bonsai-1.7B 的权重约457MB,平均分51.57,体积约为此次模型的1.9倍,但平均分高1.02分。这些结果不能与各制作方另行发布、任务组成不同的分数混合比较。
Precision Numerics 的评测。平均分为十项任务的等权平均;存储大小为包含量化缩放系数、不含文件头、元数据和分词器的权重数据。未测量运行内存和延迟。
| 模型 | 格式 | 权重存储(MB) | 十项任务平均 |
|---|---|---|---|
| Qwen3-1.7B | BF16 | 3,441.1 | 58.83 |
| Boole-1.7B | 1 位 | 247.0 | 50.55 |
| Ternary-Bonsai-1.7B | 2 位打包(2.13 BPW) | 457.3 | 51.57 |
| Bonsai-1.7B | 1 位 | 242.4 | 44.97 |
3. 按所选格式运行
示例仓库要求 Python 3.10 及以上版本。以下代码需在已准备好下载工具的环境中运行,是原文面向 CUDA GPU 的示例,将上下文长度设为4,096个 token,并关闭思考模式。
git clone https://github.com/PrecisionNumerics/boole-demo.git && cd boole-demo
hf download precision-numerics/Boole-1.7B-GGUF Boole-1.7B-Q1_0.gguf --local-dir model
bash scripts/setup_llama_cpp.sh
third_party/llama.cpp/build/bin/llama-server \
-m model/Boole-1.7B-Q1_0.gguf -ngl 99 -c 4096 \
--reasoning offGGUF 通过 llama.cpp 在 CPU 或受支持的 GPU 上运行。仅用 CPU 运行时,按原文说明关闭 GPU 支持后构建,并将服务器卸载到 GPU 的层数指定为0。
4. 应区分存储节省与运行效率
收益是节省存储空间,已确认的代价是评测质量下降。另一条 GPU 路径 vLLM 与 Humming 的运行示例请求使用16位数据类型,因此不能将1位存储理解为整个推理过程都采用1位运算。
发布方未提供运行时峰值内存、首个 token 耗时和生成速度的测量数据。因此,仅凭文件小不能保证低内存占用或高速运行。采用前,应在目标设备上分别测量实际上下文长度下的资源使用情况,以及所需任务的可靠性。
Boole-1.7B 是存储空间受限时可考虑的候选模型,但是否接受其相较原模型平均损失8.28分,应通过实际任务判断。
