HNPU-V1:自适应DNN训练处理器的技术解析与性能评估
立即解锁
发布时间: 2025-09-01 01:51:10 阅读量: 214 订阅数: 13 AIGC 

### HNPU-V1:自适应DNN训练处理器的技术解析与性能评估
在深度学习领域,DNN(深度神经网络)训练处理器的性能对于提高训练效率和降低能耗至关重要。今天我们要介绍的HNPU - V1就是一款具有创新性的自适应DNN训练处理器,它采用了多种先进技术来提升性能。
#### 1. 稀疏性利用技术
在DNN训练过程中,会出现输入或输出稀疏性的情况。传统的输出零预测方法虽然可以同时利用输入和输出稀疏性,但会带来面积和能量开销。而HNPU - V1采用了独特的稀疏性利用技术。
##### 1.1 切片级输入跳过(Slice - Level Input Skipping)
- **原理**:DNN在BN层后的IA(输入激活)通常呈现类似高斯分布,由于ReLU激活函数,约一半的IA被评估为零。而且大部分数据集中在零附近,使用FXP(定点)表示时,近零数据会浪费MSB(最高有效位)位。HNPU - V1利用切片级稀疏性,释放了对ReLU的依赖,因为切片级输入稀疏性不依赖于ReLU,所以在EP(误差传播)阶段也会出现。在FF(前馈)和EP阶段,HNPU - V1都能利用超过60%的输入切片稀疏性。
- **优势**:与传统的双稀疏感知硬件不同,HNPU - V1即使没有输出稀疏性利用单元,在EP阶段也能实现高吞吐量。
- **设计参数影响**:
- **切片位宽**:较低的切片位宽可以根据字位宽精细控制BSSA(位切片串行架构)的总操作时间,并且能诱导出高稀疏率。但在高精度训练时,计算时间会显著增加,虽然它能线性降低基本MAC(乘法累加)单元的硬件成本,但计算时间会二次增加。经过实验,对于像ImageNet训练这样的困难任务,采用4位作为切片位宽能实现通用训练。
- **FIFO条目数量**:ISS(输入切片跳过)架构将非零切片(NZS)累积到内部FIFOs(先进先出队列)中。当FIFO条目数量较小时,会阻止从内存读取新的输入操作数;但盲目增加条目数量会降低面积和能量效率。通过模拟结果发现,条目数量达到4后,ISS的吞吐量提升效果趋于收敛,所以该处理器采用了4条目FIFO。
##### 1.2 精度感知输出跳过(Precision - Aware Output Skipping)
- **原理**:与FP(浮点)计算不同,FXP计算会导致高乘法位宽,但下一层所需的位精度与操作数相似,这使得BSS计算中会出现可忽略的累加。精度感知输出跳过技术会找出LSB(最低有效位)累加切片中的这些可忽略计算,并在将其作为操作数提取之前排除它们。
- **效果**:当所需精度超过4位时,会出现吞吐量提升效果。如果直接使用基于FP32的预训练模型进行推理,OSS(输出切片跳过)可能会导致精度下降,但通过网络微调可以补偿性能下降。并且,如果从从头开始训练就应用OSS,DNN训练性能不会下降。
#### 2. In - Out切片跳过核心架构(IOSS Core Architecture)
IOSS核心架构主要由两部分组成:
##### 2.1 IA预取器(IA Pre - fetcher)
- **功能**:通过排除零切片(ZS)执行输入切片跳过(ISS)。每个PE(处理单元)行都有一个IA预取器,四个IA预取器共享一个输入激活内存(IAMEM)。HNPU - V1使用IA预取器检测ZS,内部ZS计数器生成零切片长度(ZSL),作为权重缓冲区的地址。只有剩余的NZS被堆叠在FIFO中,然后依次送入PE阵列(PAs)。当从FIFO中取出NZS时,它会被广播以计算8个不同的输出通道。
- **性能提升**:在8位训练且切片稀疏率为90%的情况下,ISS与位切片串行架构结合,吞吐量提高了7.9倍。
##### 2.2 输出切片跳过控制器(Output Slice Skipping Controller)
- **功能**:根据存储在精度寄存器文件中的当前层和下一层的精度信息,省略无用的累加。其主要作用是生成与BSS相关的顺序指令,当判断跳过部分累加时,会在影响核心计算之前跳过相应指令。同时,它还通过位移位操作管理累加位宽,并同时修改权重缓冲区和OAMEM(输出激活内存)的地址。
- **性能提升**:使用OSS后,8位、12位和16位卷积的吞吐量分别提高了33%、50%和67%。结合ISS和OSS,IOSS架构补偿了高精度计算中出现的吞吐量下降,与GANPU相比,归一化吞吐量和能量效率分别提高了59.9%和82.9%。
#### 3. 自适应带宽可重构累加网络(Adaptive Bandwidth Reconfigurable Accumulation Network)
GANPU采用可重构累加网络(RAN)支持多DNN分配,但传统的RAN架构基于FP表示,只能支持单精度,不适合HNPU - V1。因此,HNPU - V1采用了RAN的基本概念,
0
0
复制全文
相关推荐









