边缘机器学习训练:移动设备端训练
发表于 2022-04-11 12:43:57

在移动设备上运行机器学习推理给了我们很多创新灵感,如果还可能在移动设备上训练模型呢?而如果能在网络边缘微调模型,又会带来什么样的发明创造呢?

借助Qualcomm® Adreno™ OpenCL ML SDK 2.1版,我们可以开发使用推理和训练的新移动应用。现在,SDK 允许您微调并提高网络边缘现有模型的准确性,避免往返云端完成操作。除了使用已经训练过的模型外,还可以通过在训练阶段更新权重达到微调目的。

这是一种将计算直接应用于数据,而不是让数据穿梭于计算之间的新方法。

我们可以利用移动设备端训练来做什么呢?

我们发布OpenCL ML SDK 1.1时,我们利用了Android映像中OpenCL驱动程序内置的加速功能,在Adreno GPU上执行更快的推理。现在,SDK 2.1利用OpenCL驱动程序中的加速运算进行推理、反向传播和权重更新。

当然,这与您在高性能工作站或云端执行的资源密集型训练不同。它假设模型已经过训练,使用设备端训练仅仅会更新这个模型,而不是从零开始进行训练。

If you’re already using OpenCL for inference on mobile, then training on mobile is the logical next step on your development path. You can implement it in several use cases at the network edge:

如果您已经在移动设备上使用OpenCL执行推理,那么,很自然就会过渡到在移动设备上执行训练。您可以在以下几个用例中在网络边缘执行训练:

  • 联邦学习:假设您的移动应用会收集敏感数据,如照片,出于安全考虑,您希望尽可能将数据远离网络。如何在不持续将所有新数据发送到云端进行训练的情况下更新模型?使用Open CL ML SDK 2.1和Adreno GPU,您可以运行联邦学习,在本地执行训练循环,收集模型参数的更新。而在方便时,您可以单独将更新发送到云端。
  • 迁移学习:在这个用例中,您首先使用在云端接受过训练的MobileNet等模型。然后,通过边缘训练调整特定层的权重来更新模型。这样可以在数据域之间转移模型知识。
  • 个性化:这与迁移学习类似,可以应用于视频会议等场景。例如,您希望有一个模型,可以识别在指定时间讲话的参与者,从而可以模糊其背景。您可以通过实时更新视频会议期间特定图层的权重,来达到这一目的。

底层:单张量批处理方法和反向传播

T训练包含一个循环,它接受一个输入,执行前向传递,计算损失,执行后向递,并更新权重。循环继续,直到损失开始降低到可接受的水平。OpenCL ML SDK 1.1启用了前向传递,即机器学习的推理部分。现在,SDK 2.1启用了后向传递,并且加速了反向传播和权重更新训练阶段的运算。

当然,如果您尝试在移动设备上训练32个或更多张量的典型批处理,则需要当心设备内存吃紧。因此,SDK 2.1中操作的张量批处理维度为1。单张量批处理方法具有较小的内存占用,非常适合移动设备。

下图说明了采用这种方法进行训练的流程。

mini-batch每次迭代累积梯度,并且在mini-batch结束时更新权重。这在数学上等同于采用和mini-batch大小相同的张量批处理进行训练。 

训练使用32位浮点数据类型,所有张量值和算术均是浮点类型。对于具有批量归一化层的模型,需要保留模型原始训练的统计信息。但是,可以更新批量规一化的可训练参数(如规模和偏差)。

在OpenCL ML以后的版本中,我们预计训练选项将扩展到超过单张量批处理。

现在就下载OpenCL ML SDK 2.1!

还记得实现网络边缘机器学习推理给您留下多深的印象了吗?这是您尽早上手边缘训练的机会。

以下是SDK包含的内容:

  • 适用于OpenCL 扩展 cl_qcom_ml_ops,引入一组新的CL API调用、数据结构和令牌,用于指定和排队机器学习操作
  • Open CL ML开发者模型训练指南
  • 演示如何使用SDK的应用程序示例
  • 生成图模型工具,将 TensorFlow 冻结模型(.pb)或TensorFlowLite (.tflite)模型转换为TensorFlow图模型表示
  • 图模型转QFP16/32工具,将权重张量提取为.qfp16和.qfp32文件

我们相信,许多人肯定会发现SDK 2.1对边缘微调非常有用。现在就下载OpenCL ML SDK 2.1,欢迎您将您的用例和改进建议告诉我们。 

其他相关内容:

利用高通openCL ML SDK加速机器学习模型

作者:Ya Kong

CSDN官方微信
扫描二维码,向CSDN吐槽
微信号:CSDNnews
微博关注
【免责声明:CSDN本栏目发布信息,目的在于传播更多信息,丰富网络文化,稿件仅代表作者个人观点,与CSDN无关。其原创性以及文中陈述文字和文字内容未经本网证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本网不做任何保证或者承诺,请读者仅作参考,并请自行核实相关内容。您若对该稿件有任何怀疑或质疑,请立即与CSDN联系,我们将迅速给您回应并做处理。】