202510 论文研读-LUTIN: Efficient Neural Network Inference with Table Lookup

作者:Shi-Zhe Lin ,Yuan-Hao Chang ,Tei-Wei Kuo,Yun-Chih Chen

来源:ISLPED ’24

单位:National Taiwan University,TU Dortmund

时间:2024年8月

背景

DNN 模型日益庞大复杂,却需部署在低功耗、低延迟且缺乏 GPU、TPU 等专用加速器的普通商用设备上。专用加速器虽能处理推理所需的大量矩阵乘法,但成本高、小批量推理时利用率低。而用户端设备多以小批量推理为主,更优先追求延迟而非吞吐量,二者适配性差。用户端本地 DNN 推理虽能保障隐私和低延迟,但依赖的普通 CPU 处理能力有限、缓存资源较小。传统推理方式易因内存访问频繁引发性能瓶颈,加剧延迟与功耗问题;现有为实现本地推理的模型压缩方案(如量化)及基于查找表(LUT)的优化存在明显不足。

主要贡献

1.提出 LUT-based 推理框架:针对用户端 CPU的低延迟、低功耗需求,设计 LUTIN(基于查找表的推理策略),将 DNN 推理中的矩阵乘法转化为 LUT 查找。从而降低延迟与能耗,特别适合在无专用加速器的通用CPU设备 上运行。。

2.提出创新的超参数优化策略:构建 “量化 – 分区” 两阶段超参数优化流程,首次深入探索低于 8 位的量化位宽,通过优先降低激活位宽以最大化空间节省,并动态调整向量分区维度。

3.设计缓存友好的查表存储布局:LUTIN 通过分析查表访问模式,提出了 Vertical Activation Vector (VA) 存储格式。相比传统的水平布局(HA),VA 格式显著降低了 LLC(Last Level Cache)未命中率,从而提升了推理速度与能效。

技术方法

1.量化与超参数优化

超参数优化是 LUTIN 的核心前提,通过 “量化 – 分区” 两阶段流程,确定 LUT 关键参数(权重位宽bw​、激活位宽ba​、向量维度d)。

初始将bw​、ba​设为 8 位,优先迭代降低ba​,每次量化后通过测试集评估精度,直至精度低于预设阈值;随后对bw​执行相同迭代优化,突破传统 8 位量化局限,探索更低位宽以缩减 LUT 尺寸。

从d=1(最小子向量维度)开始,逐步增大向量分区维度d,直至 LUT 尺寸达到预设空间约束。

2.模型结构转换

先构建权重向量集(WVS),按 DNN 推理顺序(从输入层到输出层),将量化后的d维权重子向量插入哈希表实现的 WVS 中,仅保留无重复的权重向量。

用 WVS 中的索引替代原模型的量化权重向量,形成 “索引矩阵” 以压缩模型。

遍历 WVS 中所有权重向量,计算其与 “所有可能激活向量组合” 的 dot 积,将结果以 16 位整数形式存储于二维 LUT 中。

3.存储布局优化

LUT 存在两种存储方式 —— 水平激活向量(HA)格式与垂直激活向量(VA)格式。HA 格式因包含更多 “未访问空白段”,缓存行覆盖的有效条目更少;而 VA 格式通过优化空间局部性,显著降低缓存缺失率。

最终采用 VA 格式存储 LUT,减少片外内存访问,提升 CPU 缓存利用率,进一步降低推理延迟与能耗。

4.精度保持

为解决 “低于8位量化缩减 LUT 尺寸” 与 “模型精度损失” 的矛盾,采用三个方法:

查表结果使用16-bit整数存储;

在关键步骤切换回32-bit 浮点域进行偏置与激活函数计算;

使用比例缩放保持数值稳定性与权重比例关系。

实验分析

实验模型与数据集:选用 3 个标准图像分类模型及对应数据集(均来自 PyTorch),覆盖轻量型与大型模型,以验证 LUTIN 的适配性:

  • LeNet-5(MNIST 数据集);
  • VGG11(CIFAR-10 数据集);
  • VGG16(CIFAR-100 数据集)。

图10 的实验结果表明,LUTIN 在不同硬件平台和不同规模模型上都显著优于传统的 INT8 量化推理。对于大型网络(如 VGG11、VGG16),LUTIN 的速度提升尤为明显,最高可达 1.7× 加速,这证明了 LUTIN 在 通用 CPU 与嵌入式平台 上实现高效神经网络推理的潜力。

图11 的结果表明,LUTIN 相较于传统 INT8 推理在 能效(Energy Efficiency) 方面有显著优势。在桌面级 CPU 上,LUTIN 平均能效提升约 2.04×,即同样任务消耗的能量减少了一半以上。这一结果表明 LUTIN 不仅能加速推理,还能在低功耗边缘设备中实现高能效的神经网络部署。

总结

这篇文章提出的 LUTIN框架,为在通用CPU与低功耗嵌入式设备上高效执行深度神经网络推理提供了新的思路。其核心思想是——以查表替代传统矩阵乘法,通过预计算权重与激活向量的点积,将复杂的乘加运算转化为高效的索引查询操作。实验结果表明,LUTIN 相较于传统的 INT8 量化模型,在 推理延迟上最高提升 2.34×,能效提升 2.04×,且在 VGG11、VGG16 等中大型模型中展现出更明显的性能优势。这些成果验证了 LUTIN 在无专用硬件加速器的环境中实现高效、低能耗推理的可行性。