关键词:
关键词唤醒
片上训练
存内计算
神经网络加速器
摘要:
随着人工智能(Artificial Intelligence,AI)的发展,智能化的人机交互已经成为改善人们日常生产生活必不可少的手段,关键词唤醒(Keyword Spotting,KWS)通常被用作大型系统的“开关”,其相对简单的识别任务、需要保持常开(Always On)的状态以及用于边缘设备的特性决定了关键词唤醒电路对功耗和能效具有极高的要求。目前的实现方式都是在云端训练、端侧部署,然而在实际场景中,由于不同用户和地区的口音差异会导致实际准确率骤降。为提高实际场景下模型的准确率,需要对模型进行再训练,由于边缘设备的电量和硬件资源有限,因此针对关键词唤醒应用,需要一个高能效的片上训练(On Chip Training,OCT)加速器。
为此,本文设计了面向关键词唤醒的高能效片上训练电路,采用从算法到电路级的自上而下的设计优化策略,来提高实际场景下模型的准确率以及片上训练电路的能量效率。主要研究内容如下:(1)在模型再训练中,为降低训练的硬件代价,采用INT8的数据精度对3分类的关键词唤醒网络的最后两层进行再训练,训练准确率达到了98.9%。(2)在算法级,设计了基于存内计算的反向传播数据流,降低了至少22.9%的数据访存量,同时避免了卷积核缓存的开销。(3)在架构级,设计了层间数据流水的计算架构来降低损失值的缓存开销,基于此计算架构,设计了三个数字域存内计算(Compute In Memory,CIM)宏单元(macro)对训练中三个过程进行分开优化实现,配合乒乓存取的数据调度方式,能将逐点卷积层的损失值缓存开销降低95%,同时将存内计算宏单元的利用率提高至100%。(4)在电路级,对于存内计算macro,采用串行移位累加的数据输入方法,降低输入寄存器的硬件开销;针对macro在数据读出时会造成计算单元的无效翻转而导致功耗骤增的问题,设计了一种基于位线隔离的计算单元将macro的功耗降低了41%;针对macro中功耗占比最大的加法电路,设计了一种基于反相逻辑的加法树,将macro的功耗降低了16.8%;
基于以上技术,在28nm工艺下进行了面向关键词唤醒的高能效片上训练电路的设计与实现,并搭建了完整的测试验证平台。根据版图后仿真结果,系统的识别功耗为1.13μW,训练能效达到91.7TOPS/W,两个词的再训练准确率为98.9%,相比于同类别的先进研究成果,在训练能效和准确率方面具有一定优势,达到了预期的设计指标。