选择合适的工具——轻松玩转AI

本文转载自:Enclustra 瑞苏盈科微信公众号

启动人工智能应用从来没有像现在这样容易!受益于像Xilinx Zynq UltraScale+ MPSoC 这样的FPGA,AI现在也可以离线使用或在边缘部署、使用。瑞苏盈科核心板模块结合Vitis AI开发工具给用户提供了便利工具,可用于开发和部署用于实时推理的机器学习应用,因此将AI集成到应用中变得轻而易举。图像检测或分类、模式或语音识别推动了制造业、医疗、汽车和金融服务等产业的升级。

快速开启基于AI的FPGA应用

人工智能正在占据越来越多的应用和生活场景,例如图像检测和分类,翻译和推荐系统等等。基于机器学习技术的应用数量庞大且还在不断增长。采用瑞苏盈科结合FPGA和ARM处理器的核心板模块,在离线和边缘使用AI前所未有的容易。

人工智能(AI)历史悠久,自1955年便被公认为一门学科。人工智能是计算机模仿人类智能、从经验中学习、适应新信息并执行类似人类活动的能力。人工智能的应用包括专家系统、自然语言处理(NLP)、语音识别和机器视觉。

AI的复兴

在经历了几波乐观和失望之后,人们对人工智能产生了新的兴趣,而且越来越感兴趣。在过去15年左右的时间里,成千上万的人工智能初创公司成立了,而且速度在不断增长。这背后有几个驱动因素:可能最重要的一个是现在可以以承担得起的价格获得巨大的计算能力。不仅硬件更快,而且现在每个人都可以访问云中的超级计算机。这使得运行人工智能所需的硬件平台变得大众化,使得初创企业得以大量涌现。

图1:一种具有2个隐含层的前馈人工神经网络的简化视图

人工神经网络(图1)现在扩展到几十到几百个隐藏层节点(图2)。即使是有10000个隐藏层的网络也已经实现了。这种进化正在增加神经网络的抽象能力,并使新的应用成为可能。如今,神经网络可以在数万个CPU或GPU核上进行训练,大大加快了开发广义学习模型的过程。

图2: ImageNet识别挑战获胜者展示了在新的神经网络架构中不断增加的隐藏层

人们对人工智能兴趣增加的另一个原因是近年来机器学习方面的突破性进展。这有助于吸引科技投资和初创企业的兴趣,进一步加速人工智能的发展和完善。

机器如何学习

人工神经网络是一种受人脑启发的计算模型。它由一个简单的处理单元相互连接的网络组成,这些网络可以通过修改它们的连接来学习经验(图1)。所谓的深度神经网络(DNN -具有许多隐藏层的神经网络)目前为许多大型计算问题提供了最佳解决方案。

目前应用最广泛的深度学习系统是卷积神经网络(Convolutional Neural Network, CNNs)。这些系统使用前馈的人工神经元网络将输入特征映射到输出,他们使用反向馈入系统进行学习(即训练),并产生一组权重来校准CNN(反向传播,图3)。

图3:神经网络需要经过训练来学习如何解决问题或挑战

机器学习中计算强度最大的过程是训练神经网络。对于一个最先进的网络来说,它可能需要数天到数周的时间,需要数十亿的浮点计算和大量的训练数据(GByte到数百GByte),直到网络达到所需的精度。幸运的是,这个步骤在大多数情况下都不需要时间限制,并且可以转移到云上。

当网络接受训练时,它可以被输入一个新的、未标记的数据集,并根据它之前学习的数据对数据进行分类。这一步称为推断,是开发应用的实际目标。

告诉我你看到了什么

输入的分类可以在云中进行,也可以在边缘(大部分是离线)进行。虽然通过神经网络处理数据通常需要专用加速器(FPGA、GPU、DSP或ASIC),但额外的任务最好由CPU处理,CPU可以用传统的编程语言编程。这就是带有集成CPU(所谓的片上系统(SoC))的FPGA的优势所在,尤其是在边缘。SoC将推理加速器(FPGA阵列)和CPU组合在一块芯片中。CPU运行控制算法和数据流管理。同时,与基于GPU或ASIC的解决方案相比,FPGA提供了许多优势,其中包括易于集成多个接口和传感器,以及适应新神经网络架构的灵活性(图4)。

图4:人工智能推理应用的不同技术的比较

FPGA固有的可重构性也使其能够利用不断演化的神经网络拓扑、更新的传感器类型和配置,以及更新的软件算法。使用SoC可以在需要时保证低而确定的延迟,例如,用于实时对象检测。同时,SoC也非常节能。从FPGA中获得最佳性能的主要挑战是在不失去精度的情况下将浮点模型有效地映射到定点FPGA实现(图5),这就是供应商工具的作用所在。

图5:将浮点模型有效映射到定点FPGA实现的过程称为压缩

选择合适的工具

现在有很多工具可以帮助我们降低实现第一个AI项目的门槛。例如,VitisAI开发工具为用户提供了在FPGA上开发和部署用于实时推理的机器学习应用程序的工具。它们支持许多常见的机器学习框架,如Caffe和TensorFlow,PyTorch支持也将很快推出。它们使最先进的神经网络能够有效适应FPGA,用于嵌入式人工智能应用(图5)。

图6:瑞苏盈科火星XU3核心板模块

结合标准的核心板模块(SoM),如瑞苏盈科的火星XU3(图6)(基于Xilinx Zynq UltraScale+ MPSoC),插入火星ST3底板,人工智能应用可以比以往更快地实现(图7)。

图7:已被业界证实的人工智能应用解决方案,基于Xilinx Zynq UltraScale+ MPSoC

为了展示这种组合的性能和快速上市能力,瑞苏盈科在短短几天内开发了一个基于人工智能的图像识别系统。这些图像是用一个连接到火星ST3底板的标准USB摄像头拍摄的。如需更高的性能,可使用底板上的MIPI接口。

该神经网络以低延迟的方式对图像进行分类、在火星XU3核心板模块上运行。该系统支持流行的神经网络如ResNet-50和DenseNet,两者分别用于图像分类和实时人脸检测。

单个FPGA模块不仅可以运行神经网络推理,还可以并行处理许多其他任务,如与主机PC和其他外围设备通信。而且,同时控制各种高动态驱动器是FPGA技术发挥其优势的地方。例如,添加瑞苏盈科通用驱动控制器IP核来控制无刷直流电机或步进电机将是轻而易举的事。在边缘利用AI的力量从未如此容易,所以,即刻开启您的项目吧!

最新文章