《Training Deep Neural Networks Using Posit Number System》(一)

好的,我根据你的指令,针对你上传的论文《Training Deep Neural Networks Using Posit Number System》做了完整分析。总结如下:


1. 论文的主要内容和研究方向

本论文主要研究如何在深度神经网络(DNN)训练中使用Posit数值格式,以减少计算资源和能耗,同时保持模型精度。其研究方向是低精度数值表示在DNN训练阶段的应用,而不仅仅是推理阶段。

主要贡献:

  • 提出了一套用Posit数在DNN中训练的方法。
  • 成功地在ImageNet图像分类任务上用16位Posit数完成训练,精度无损
  • 设计并优化了一个能效更高的Posit乘加(MAC)硬件单元

2. 研究方法介绍(含截图)

论文提出了完整的Posit训练策略,包括:

(1)Posit转换算法

把实数转为Posit格式,算法细节见论文【算法1】:

📷截图如下:
(源自论文Fig.3,训练流程插入Posit转换)

Posit训练流程图截图

(2)训练稳定化策略

  • Warm-up训练:训练初期(1-5个epoch)用FP32提高收敛性。

  • 基于分布的缩放(Scaling):使用以log2为中心的缩放,避免数据落在Posit低精度区域。公式如下:

    [
    S_f = 2^{(\text{center} + \sigma)}
    ]

  • 动态范围调整:不同层选择不同的Posit exponent bits(如权重、激活用es=1,梯度用es=2)。

(3)硬件设计

  • 设计了优化版的Posit编码器与解码器(见Fig.5、Fig.6)。
  • 实现了一个完整的Posit MAC单元,并用TSMC 28nm工艺综合验证。

3. 研究结果分析(含对比实验、引用项目开源地址)

(1)训练实验

数据集 使用模型 基线(FP32)精度 Posit训练精度
Cifar-10 Cifar-ResNet-18 93.40% 92.87%
ImageNet ResNet-18 71.02% 71.09%
  • 实验结论:用8/16位Posit数可以做到无调参直接收敛到FP32水平

Posit数设置细节

  • CONV层:前向与权重更新用(8,1),反向用(8,2)
  • BN层:统一用(16,1)/(16,2)

(2)硬件实验

单元 功耗 (mW) 面积 (μm²) 相比FP32功耗下降
Posit(8,1) MAC 0.45 1208 -83%
Posit(16,2) MAC 1.60 3897 -36%
  • 硬件结论:功耗下降22%-83%,面积下降6%-76%。

(3)被引用项目开源地址

论文中提到的几个重要项目:


4. 论文出处及等级

  • 会议:IEEE 32nd International System-on-Chip Conference (SOCC 2019)
  • 检索情况:IEEE会议,通常CCF认定为C类会议
  • 对应领域:电子与电路设计(EDA)、深度学习加速器。

5. 是否有相关开源代码

本文作者并未直接提供完整开源代码。
但部分相关基础项目(比如Deep Positron)已有开源,且论文中提及的Posit硬件生成器也有论文可参考。


6. 原文引用出处(部分关键内容)

内容 原文出处
训练策略总结 III. POSIT TRAINING STRATEGY AND EXPERIMENTS RESULTS
硬件优化结构 IV. ENERGY-EFFICIENT POSIT MAC ARCHITECTURE
实验结果 Table III, Table V
Posit基本定义 II. BACKGROUND


好的,我来针对论文中关于“设计并优化能效更高的Posit乘加(MAC)硬件单元”这一点,进行更详细、深入的分析总结:


关于Posit MAC硬件单元设计与优化的详细说明

本论文在提出Posit数在DNN训练应用后,为了配套有效硬件实现,又设计并优化了专门用于Posit数乘加运算(MAC,Multiply and Accumulate)的硬件单元。具体内容分为以下几个方面:


1. 传统Posit MAC架构存在的问题

传统的Posit MAC实现方法(如参考文献[6] Zhang等人提出的架构)采用如下流程:

  • 输入的Posit数通过Decoder(解码器),转为内部浮点数(FP格式)
  • 浮点数执行标准浮点乘加(FPMAC)运算
  • 运算结果再通过Encoder(编码器)重新转为Posit格式输出

这种架构虽然功能完整,但存在两个明显问题:

  • 延迟高:因为Decoder和Encoder本身的延迟不小,占到整个Posit MAC总延迟的40%以上
  • 能效不足:中间转换到浮点数,导致能耗增加,不完全发挥Posit本身的小数据量优势。

2. 本文提出的优化设计

论文针对上述问题,提出了优化版Decoder和Encoder设计,以缩短关键路径,降低功耗和面积。具体方法包括:

(1)优化的Decoder设计(解码器)

  • 原先设计中,解码过程需要加一(Add-One)运算,影响了延迟。
  • 本文改为:
    • 取消加法器
    • 两条并行左移路径(Left Shifter)代替。
    • 在左移后插入一个轻量的左移一位(<<1)操作,恢复功能。

📷 结构对比图(论文Fig.5):

  • (a) 传统Decoder
  • (b) 优化后的Decoder

效果:Decoder延迟降低了约15%-30%


(2)优化的Encoder设计(编码器)

  • 类似Decoder,Encoder也面临着处理regime、exponent、mantissa三个部分的复杂逻辑。
  • 本文在Encoder中也采用了:
    • 并行路径分流
    • 用位移(Shift)代替复杂逻辑运算

📷 结构对比图(论文Fig.6):

  • (a) 传统Encoder
  • (b) 优化后的Encoder

效果:Encoder延迟降低了约25%-35%


(3)总体Posit MAC硬件改进

  • 优化版Encoder+Decoder + 标准浮点MAC单元组合。
  • 不改动乘加核心,仅改动数值输入输出流程,大幅降低额外延迟和功耗。

3. 硬件综合实验结果

使用TSMC 28nm工艺,综合并测试了不同位宽的Posit MAC单元(与传统FP32 MAC单元对比):

单元类型 功耗 (mW) 面积 (μm²) 相比FP32功耗下降
FP32 MAC 2.52 4322 基线
Posit (8,1) MAC 0.45 1208 ↓ 83%
Posit (8,2) MAC 0.35 1032 ↓ 86%
Posit (16,1) MAC 1.77 4079 ↓ 29%
Posit (16,2) MAC 1.60 3897 ↓ 36%
  • 功耗降低:在8位Posit下功耗下降最显著,达到了83%以上
  • 面积减少:面积也有6%-76%的下降
  • 频率:所有设计统一以750 MHz频率综合,保证对比公平。

4. 小结

论文的Posit MAC设计创新点在于:

  • 精准识别了Posit编码/解码过程的瓶颈。
  • 通过并行分支+位移代替复杂逻辑,大幅降低了编码器、解码器延迟和能耗。
  • 在不改动核心MAC运算的前提下,显著提升了整体能效,非常适合部署到低功耗DNN加速器中。

最终,他们证明,基于Posit的DNN训练,不仅在模型精度上能做到无损,而且在硬件能效上也远远优于传统FP32设计。


posted @ 2025-04-29 22:35  江左子固  阅读(182)  评论(0)    收藏  举报