首页>>生活 >>内容

技术使边缘设备上的人工智能能够随着时间的推移不断学习

发布时间:2023-11-17 14:13:13编辑:可爱的眼神来源:

个性化的深度学习模型可以使人工智能聊天机器人能够适应理解用户的口音,或者使智能键盘不断更新,以便根据某人的打字历史更好地预测下一个单词。这种定制需要使用新数据不断微调机器学习模型。

技术使边缘设备上的人工智能能够随着时间的推移不断学习

由于智能手机和其他边缘设备缺乏此微调过程所需的内存和计算能力,因此用户数据通常会上传到模型更新的云服务器。但数据传输消耗大量能源,并且将敏感用户数据发送到云服务器会带来安全风险。

来自 MIT、MIT-IBM Watson AI 实验室和其他地方的研究人员开发了一种技术,使深度学习模型能够直接有效地适应边缘设备上的新传感器数据。

他们的设备上训练方法称为 PockEngine,确定需要更新大型机器学习模型的哪些部分以提高准确性,并且仅存储和计算这些特定部分。它在运行前准备模型时执行大量计算,这最大限度地减少了计算开销并提高了微调过程的速度。

与其他方法相比,PockEngine 显着加快了设备上训练的速度,在某些硬件平台上的执行速度提高了 15 倍。此外,PockEngine 并没有导致模型的准确性出现任何下降。研究人员还发现,他们的微调方法使流行的人工智能聊天机器人能够更准确地回答复杂的问题。

“设备上的微调可以实现更好的隐私、更低的成本、定制能力以及终身学习,但这并不容易。一切都必须在有限的资源下发生。我们希望不仅能够运行推理,还能够在边缘设备上运行训练。有了 PockEngine,现在我们可以了。”电气工程与计算机科学系 (EECS) 副教授、MIT-IBM Watson AI 实验室成员、NVIDIA 杰出科学家、论文高级作者 Song Han 说道。 描述 PockEngine 的论文。

Han 与该论文的主要作者、EECS 研究生 Ligeng Zhu 以及麻省理工学院、麻省理工学院-IBM 沃森人工智能实验室和加州大学圣地亚哥分校的其他人员一起参与了这篇论文。该论文最近在 IEEE/ACM 国际微架构研讨会上发表。

一层一层

深度学习模型基于 神经网络,神经网络由许多互连的节点层或“神经元”组成,用于处理数据以进行预测。当模型运行时,这是一个称为推理的过程,数据输入(例如图像)从一层传递到另一层,直到最后输出预测(可能是图像标签)。在推理过程中,每层处理输入后不再需要存储。

但在训练和微调过程中,模型会经历一个称为反向传播的过程。在反向传播中,将输出与正确答案进行比较,然后反向运行模型。随着模型的输出越来越接近正确答案,每一层都会更新。

由于每一层都可能需要更新,因此必须存储整个模型和中间结果,使得微调比推理需要更多的内存

然而,并非神经网络中的所有层对于提高准确性都很重要。即使对于重要的层,也可能不需要更新整个层。这些图层和图层片段不需要存储。此外,人们可能不需要一路回到第一层来提高准确性——该过程可以在中间的某个地方停止。

PockEngine 利用这些因素来加速微调过程并减少所需的计算量和内存量。

系统首先针对特定任务对每一层进行微调,一次一个,并测量每个单独层之后的准确性改进。通过这种方式,PockEngine 识别出每一层的贡献,以及准确性和微调成本之间的权衡,并自动确定每一层需要微调的百分比。

“与不同任务和不同神经网络的完全反向传播相比,这种方法的准确性非常好,”Han 补充道。

精简模型

传统上,反向传播图是在运行时生成的,这涉及大量的计算。相反,PockEngine 在编译时执行此操作,同时模型正在准备部署。

PockEngine 删除了一些代码以删除不必要的层或层片段,从而创建要在运行时使用的模型的精简图。然后,它在此图上执行其他优化以进一步提高效率。

由于所有这些只需要完成一次,因此节省了运行时的计算开销。

“这就像出发徒步旅行之前一样。在家里,你会仔细计划——哪些小路你要走,哪些小路你要忽略。因此,在执行时,当你真正徒步旅行时,你已经有一个非常仔细的计划可以遵循,”韩解释道。

当他们将 PockEngine 应用到不同边缘设备(包括 Apple M1 芯片以及许多智能手机和 Raspberry Pi 计算机中常见的数字信号处理器)上的深度学习模型时,它的设备上训练速度提高了 15 倍,而准确性没有任何下降。PockEngine 还大幅削减了微调所需的内存量。

该团队还将该技术应用于大型语言模型 Llama-V2。Han 说,对于大型语言模型,微调过程涉及提供许多示例,并且模型学习如何与用户交互至关重要。对于负责解决复杂问题或推理解决方案的模型来说,该过程也很重要。

例如,使用 PockEngine 微调的 Llama-V2 模型回答了“迈克尔·杰克逊的上一张专辑是什么?”的问题。正确,而未经微调的模型则失败。在边缘 GPU 平台 NVIDIA Jetson Orin 上,PockEngine 将微调过程每次迭代所需的时间从大约七秒缩短到不到一秒。

未来,研究人员希望使用 PockEngine 来微调旨在一起处理文本和图像的更大模型。

这项工作得到了麻省理工学院-IBM Watson AI 实验室、麻省理工学院人工智能硬件计划、麻省理工学院-亚马逊科学中心、国家科学基金会 (NSF) 和高通创新奖学金的部分支持。