人工智能(AI)是使我们的设备更智能的核心。通过数十亿个连接设备,管理所有这些互连所创建的大量数据的唯一方法是,设备能够在某种程度上独立于云做出决策。
随着设备变得越来越复杂并且执行越来越多的实时功能,它们还需要能够学习(称为AI培训)并适应特定应用,用户和环境条件。为了满足实时要求和降低运营成本,这些功能也需要在设备上移动。
开发人员面临的挑战是以在性能和功耗方面高效的方式在这些边缘设备中实现智能。这一挑战几乎适用于从智能传感器到移动电话的所有物联网应用。
神经网络模型
人工智能是用于描述使设备更智能的技术的首要术语。有不同类型的AI,例如机器学习和深度学习。
开发人员无需直接使用神经网络架构和算法,而是可以访问各种更高级别的工具,从而可以创建神经网络模型。Caffe2,TensorFlow和PyTorch等框架有助于从概念验证到生产的模型设计。开放式神经网络交换(ONNX)格式的可用性使开发人员能够在框架之间传输深度学习模型,从而为开发人员提供更大的灵活性。
电源效率
效率可以通过多种方式定义。对于功耗对运行寿命至关重要的设备上AI应用,可以以每瓦性能来衡量效率。通常,优化效率通常需要采用跨算法,硬件和软件的系统方法。
从深度神经网络模型来看,从软件角度优化功率效率可能非常具有挑战性。在内部,模型是由“线”和权重连接的“节点”的集合。开发人员通过更新权重来训练模型,直到它提供准确(即足够准确)的答案。
但是,由于开发人员在模型级别工作,神经网络的实现被抽象化,因此其操作有点像黑盒子。因为他们不一定具备能够在算法或硬件级别做出有效权衡决策的能力,可见性或专业知识,所以开发人员通常无法直接优化模型的实现。
考虑修剪和量化,两种优化神经网络的方法。修剪是删除节点和连线的过程。在某些情况下,这些节点与模型无关。可以删除它们以改善模型大小和处理性能。然而,也可以实施修剪以在精度和性能或功耗之间进行权衡。例如,修剪模型的一部分,将精度降低0.5%可能会产生显着的速度/功率优势。
量化是减少连接节点的权重参数中使用的比特数的过程。在开发过程中,使用32位权重训练模型可能是有意义的。但是,这可能比最终应用所需的精度更高。通过使用更少的比特 - 例如,将重量分辨率从32位降低到8位 - 模型可以显着缩小而不会显着影响精度。以这种方式缩小模型消除了处理和内存事务,从而提供了真正的性能提升。由于可以更快地处理模型,因此也可以提高功耗。
神经模型的效率也可以通过在硬件上进行权衡来优化。例如,高通公司的Snapdragon系列处理器提供异构计算平台,可在同一芯片上集成CPU,数字信号处理器(DSP)和图形处理单元(GPU)(参见图Snapdragon方框图ICfans)。CPU提供最大的功能灵活性,但同时也使用更多功率。许多AI算法非常适合在带有矢量处理的DSP上执行,因此当应用AI算法的正确部分时,AI应用程序将提供更好的每瓦性能。
为了帮助开发人员,软件开发环境可以自动执行许多软件和硬件优化。这些工具必须与硬件平台高度集成才能实现这一目标。随着AI行业以如此快的速度进行创新,在系统级别进行优化可能具有挑战性。以类似于设备需要通过学习进行调整的方式,开发人员和OEM需要能够轻松采用新模型和框架以保持在AI的前沿。随着生态系统的不断发展,能够访问第三方模型变得更加重要(参见图AI生态系统)。
Qualcomm人工智能组织Qualcomm AI Research的使命是在基础AI研究方面取得突破,并在各行业中进行扩展。这通常是通过像Qualcomm Neural Processing SDK这样的产品商业化研究来实现的。SDK支持多种框架,包括TensorFlow,Caffe2,ONNX,它允许开发人员选择他们选择的开发环境来建模神经网络。然后SDK采用这些模型并针对Snapdragon平台对其进行优化。使用配置文件,开发人员可以指导Qualcomm Neural Processing SDK进行适当的特定于应用程序的优化。
请注意,开发工具中的自动化水平正在迅速变化。今天,Qualcomm领域的工程师设计内核以匹配计算硬件的特性。半导体公司高通继续朝着提高这一发展阶段的自动化迈进。
Qualcomm AI Research还专注于高效的AI研究,积极创新其自动量化技术,以进一步缩小神经网络的规模,同时保持初始模型的准确性。
在线学习
请注意,拥有自动化优化过程的开发工具只是AI系统优化的一部分,尤其是对于更多静态模型。通过不断学习,基于AI的系统可以随着时间的推移动态地提高其准确性和效率。这些改进不仅在应用程序执行方面,而且在特定用户和动态环境条件方面。
例如,Qualcomm AI Research在语音UI的自动语音识别方面做了大量的开发。这是设备适应一般语音模型以便在理解特定用户时变得更准确的地方,即使他们有重音。高通还提高了设备识别和滤除环境噪声的能力,从而进一步提高了准确性。
这些创新的一个关键方面是能够在设备上实现它们。虽然云对于许多类型的分析是有用的,但是将功能(例如语音识别,自然语言处理和个性化)移动到设备是有利的。当可以有效地实现基于AI的设备的软件和硬件的优化时,设备AI变得可能。其结果是增强了隐私性,更高的可靠性,更快的响应速度,更低的运营成本,更高的客户满意度以及其他优势。
人工智能的创新继续使开发人员能够为边缘设备带来更多智能和功能。通过设计优化效率的系统,OEM可以利用人工智能应用程序和功能的生态系统为其客户带来更高级的功能和价值。