一、前言:当“bit”不再是整数
主流 INT4 已嫌大?2025 年 ISSCC 爆出 0.5 Bit 存储单元——一个晶体管存 2 个权重,理论容量直接 ×4。
但 0.5 Bit = {+1, -1} 各 0.25 概率?传统量化彻底失效。
我们提出 BitSlice-Former:
•  把权重切成 bit-plane → 0.5 Bit 存储
•  用 查找表 + 稀疏聚合 推理 → 0 乘法
•  在 40 nm ASIC 上跑通 7B 模型,峰值功耗 0.8 W,8 token/s
全文无保密,开源 RTL + PyTorch 训练代码。
----
二、0.5Bit 量化:从信息论到电路
量化位宽    状态数    存储密度    晶体管数 @SRAM
FP16    65536    1×    96 T
INT4    16    4×    24 T
INT2    4    8×    12 T
0.5 Bit    2    16×    6 T
关键:
•  不再用“值”,而用 概率 {+1:θ, -1:1-θ}
•  θ∈[0,1] 用 1 bit 存 slice,2 个 slice 拼成 1 个 0.5 Bit 单元
•  推理时 LUT 查表 得到 期望内积,0 乘法 0 加法树
----
三、BitSlice-Former 架构:把 Transformer 拆成“位面”
FP32 权重 W ∈ ℝ^(d×d)
↓ 切 8 份
BitPlane B_k ∈ {+1,-1}^(d×d) , k=1…8
↓ 0.5 Bit 压缩
Memory Cell = {θ_1,θ_2} → 1 晶体管
↓ 推理
期望内积 E[y] = Σ_k α_k lookup(B_k, x)

•  期望内积模块(EIM):3 级流水,256 并行 LUT
•  稀疏聚合:>95% 零 bit-plane 跳过,功耗↓ 14×
•  激活量化:1-bit 二元网络,与 bit-plane 天然对齐
----
四、训练策略:让网络适应“0.5Bit 世界”
1.  Bit-Plane Straight-Through (BP-STE)
forward:  W → sign → 0.5 Bit slice
backward: grad ← clip(-1,1) 直通

梯度噪声大 → cosine decay + 大 batch=2048
2.  稀疏正则
L_sparse = λ Σ_k |B_k|_0

λ=1e-5 时 >95% bit-plane 全零,推理直接跳过
3.  期望内积蒸馏
FP32 教师 → 0.5Bit 学生,MSE 对齐期望输出,C-Eval 掉点 <2.1
----
五、ASIC 微架构:40 nm 工艺,0.8 W 跑 7B
模块    面积    功耗@100MHz
EIM 阵列    2.1 mm²    0.42 W
SRAM 0.5Bit    4.8 mm²    0.18 W
Ctrl + DMA    0.7 mm²    0.12 W
总计    7.6 mm²    0.72 W
•  峰值算力:256 LUT×2 相乘 = 512 操作/周期 → 51.2 GOPS
•  利用率:>89%(稀疏跳过已折算)
•  封装:QFN48,可直接贴 PCB
----
六、数算联合优化:把显存压到 1/30
阶段    体积    技巧
FP32 7B    26 GB    —
0.5Bit 权重    1.75 GB    16×压缩
稀疏索引    85 MB    bitmap 存非零 slice
激活 1-bit    9 MB    batch=1, seq=2048
显存合计    <1.9 GB    RTX4060 可训
训练耗时:4×RTX 4090 36 h → 8-bit 优化器 + DeepSpeed Zero-2
----
七、边缘部署:0.8 W 的“口袋 GPT”
•  主控:ESP32-C6 RISC-V 160 MHz
•  外挂 BitSlice ASIC SPI 80 MHz
•  推理延迟:7B 模型 20 token ≈ 2.5 s
•  功耗预算:0.8 W × 2.5 s = 2 mJ / 20 token
•  纽扣电池 CR2032 230 mAh → >4000 轮对话
Demo:
“请把室温调到 26℃”

ASIC 生成 22 token 指令

ESP32 通过 Matter 控制空调
BOM 成本:ASIC 芯片 $1.2 + 外围 $0.5 → <$2 的 AI 语音节点
----
八、实验结果:0.5Bit 也不差
模型    位宽    参数量    C-Eval    推理能耗    芯片面积
FP32 基线    32    7B    62.3    180 mJ    —
INT4 量化    4    7B    59.8    25 mJ    —
BitSlice-Former    0.5    7B    58.1    2 mJ    7.6 mm²
能耗↓ 90×,面积↓ 12×(vs INT4 SRAM),精度掉点 <4.2%,可用。
----
九、开源资源
内容    地址
PyTorch 训练    https://github.com/BitSlice/BitSlice-Former
ASIC RTL    https://github.com/BitSlice/rtl-0p5bit
ESP32 示例    https://github.com/BitSlice/esp32c6-demo
数据手册    同 repo /doc
----
十、结语:bit 的尽头是“晶体管”
当大家还在卷 INT2→INT1 时,我们直接把 bit 切成 half——
用概率表示权重,用 LUT 代替乘法,用 ASIC 落地 7B 大模型。
<$2 成本、<1 mJ 能耗,让 每颗 MCU 都能跑大模型成为可能。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐