The increasing interest in TinyML, i.e., near-sensor machine learning on power budgets of a few tens of mW, is currently pushing toward enabling TinyML-class training as opposed to inference only. Current training algorithms, based on various forms of error and gradient backpropagation, rely on floating-point matrix operations to meet the precision and dynamic range requirements. So far, the energy and power cost of these operations has been considered too high for TinyML scenarios. This paper addresses the open challenge of near-sensor training on a few mW power budget and presents RedMulE - Reduced-Precision Matrix Multiplication Engine, a low-power specialized accelerator conceived for multi-precision floating-point General Matrix-Matrix Operations (GEMM-Ops) acceleration, supporting FP16, as well as hybrid FP8 formats, with {sign, exponent, mantissa}=({1,4,3}, {1,5,2}). We integrate RedMule into a Parallel Ultra-Low-Power (PULP) cluster containing eight energy-efficient RISC-V cores sharing a tightly-coupled data memory and implement the resulting system in a 22 nm technology. At its best efficiency point (@ 470 MHz, 0.65 V), the RedMulE-augmented PULP cluster achieves 755 GFLOPS/W and 920 GFLOPS/W during regular General Matrix-Matrix Multiplication (GEMM), and up to 1.19 TFLOPS/W and 1.67 TFLOPS/W when executing GEMM-Ops, respectively, for FP16 and FP8 input/output tensors. In its best performance point (@ 613 MHz, 0.8 V), RedMulE achieves up to 58.5 GFLOPS and 117 GFLOPS for FP16 and FP8, respectively, with 99.4% utilization of the array of Computing Elements and consuming less than 60 mW on average, thus enabling on-device training of deep learning models in TinyML application scenarios while retaining the flexibility to tackle other classes of common linear algebra problems efficiently.
翻译:目前的培训算法基于各种误差和梯度反反演,依靠浮动点矩阵操作来达到精确和动态范围要求。到目前为止,这些操作的能量和电费被认为对于TinyML设想方案来说太高。本文件涉及以下公开挑战:几兆瓦电预算的近传感器培训,并提交RedMulE - 降低精度矩阵变异引擎引擎引擎,这是一个低功率专用的加速器,用于多精度浮度浮度总矩阵-反反反演,用于满足精确和动态范围要求。到目前为止,这些操作的能量和电流矩阵操作的成本被认为太高,对于TinyMLML设想方案而言,用于微量、电流离子({1,4,3⁄3}、7,5,2}我们把REMMULOLOL(降低精度矩阵变精度矩阵变精度矩阵变精度),用于多精度浮度浮度浮度总操作(GMIM-O-OL5)的加速度操作加速。