
作者:Tiera Oliver Embedded Computering Design副编辑
本文来源:Embedded Computering Design网站
图片来源:Imagimob
Imagimob宣布,其tinyML平台Imagimob AI支持对长短期记忆(LSTM)层和其他一些Tensorflow层进行量化。
LSTM层非常适用于分类、处理和基于时间序列数据的预测,因此在构建tinyML应用程序时具有价值。
Imagimob AI将Tensorflow/Keras h5文件转换为一个单一的量化、独立的C代码源文件,并在点击按钮后将其附带的头文件。不需要外部运行时库。
在tinyML应用中,量化的主要原因是它减少了内存占用,降低了对MCU的性能要求。这也允许tinyML应用在没有FPU(浮点单元)的MCU上运行,这意味着客户可以降低设备硬件的成本。
量化指的是以比浮点精度更低的位宽进行计算和存储张量的技术。一个量化的模型用整数而不是浮点值执行对张量的部分或全部操作。这允许更紧凑的模型表示和在许多硬件平台上使用高性能的矢量操作。这种技术在推理时特别有用,因为它在不牺牲太多推理精度的情况下节省了大量的推理计算成本。从本质上讲,这是一个将基于浮动单位的模型转换为整数的过程,并将单位分辨率从32位降至16位或8位。
根据该公司的说法,对包括LSTM层在内的人工智能模型在没有FPU的MCU上运行的初步基准测试表明,量化模型的推理时间大约快6倍,而且在使用16位整数表示时,量化模型的RAM需求减少了50%。
此外,量化算法的实施非常谨慎,以便将量化和非量化的神经网络之间的误差保持在最低水平,这意味着argmax错误(由于量化导致的错误分类)很少发生。这涉及到解决一个困难的优化问题。
Imagimob AI支持量化的TensorFlow层
批量归一化(TensorFlow类BatchNormalization)。
卷积1D(TensorFlow类Conv1D)
密集(TensorFlow类Dense)
剔除(TensorFlow类Dropout)
扁平化(TensorFlow类扁平化)
无状态长短期记忆(TensorFlow类LSTM)
最大池化1D(TensorFlow类MaxPool1D)
重塑(TensorFlow类重塑)
时间分布(TensorFlow类TimeDistributed)
Imagimob AI支持的TensorFlow激活函数(查找表)
ReLU(TensorFlow类ReLU)
Tanh
更多的层和激活函数被不断添加。
据该公司称,带有量化功能的Imagimob AI软件于11月首次交付给《财富》全球500强客户,此后一直在生产。目前很少有其他机器学习框架/平台支持LSTM的量化。