2016年,随着阿尔法狗击败专业人类围棋棋手,已“深度学习”为基础的人工智能技术被大众所熟知。其实“深度学习”技术已经发展了有近30年的历史了。现在的“深度学习”的实现以神经网络技术为主。神经网络通过模拟大脑生物神经网络的连接,通过多层数字神经网络的了解,来实现深度学习,神经网络最著名的就是卷积神经网络。“深度学习”中的深度就体现在多层的神经网络的连接,因为初代的机器学习技术的学习网络层数都比较浅。
现在的人工智能技术的开发主要分为两个方向。一是人工智能算法的研究和神经网络的训练;另一个方向就是实现人工智能算法的加速计算。由于深度学习,神经网络算法的计算量极大,通用CPU的运算能力不能满足与其高速的计算量。现在业界的解决方案主要有GPU加速,FPGA加速,专用ASIC加速。在神经网络计算中,尤其以卷积神经网络(CNN)为主,卷积网路需要运算大量的卷积运算,通过设计卷积硬件加速模块,加速卷计神经网络中的卷积运算。
在加速方案中,GPU平台的解决方案最为成熟,现在GPU加速解决方案做的最好的公司是英伟达,英伟达靠GPU显卡起家,最近几年,随着人工智能技术的发展,人工智能公司对计算力的需求的增加,英伟达依靠自家的GPU技术,开发的GPU加速计算平台被众多人工智能公司应用。英伟达公司也依靠人工智能的热潮得到了极大的增长。
但GPU的缺点在于他的成本和功耗,现在GPU的价格及其昂贵,一块可用于人工智能训练的GPU显卡大概要上万元之多。而且GPU的功耗也极大,一块GPU在进行人工智能网络训练时的功耗达到了上百瓦之高,而且GPU的体积巨大。正是由于这些缺点,GPU加速平台只能部署在服务器端,并配上专业的服务器机柜,供电电源,散热结构。GPU加速平台无法部署到个人消费平台,包括个人电脑和移动智能手机上。
而对于FPGA加速以及专用ASIC加速,由于其计算结构是为神经网络定制的,而且在半导体电路级别进行优化,并采用最先进的半导体制造工艺。因而专用加速芯片的速度可以做到非常高的频率,而功耗也可以优化到非常的级别。专用加速芯片通常的开发路劲是先在FPGA平台上验证所搭建的计算加速网络。在初期,FPGA平台可以极大的提高开发效率的降低开发成本。等到加速计算网络在FPGA平台上可以完美运行后,在将计算网络制作到专用芯片上,通过 大批量的生成,可以极大的降低芯片的成本。
在FPGA加速领域,老牌的FPGA公司Xilinx和Intel(原Altera)都推出了自己的人工智能解决方案。Xilinx推出了DNNDK(Deep Neural Network Development Kit,深度神经网络开发平台)平台,基于Xilinx的FPGA硬件平台,支持例如tensorflow,caffe ,mxnet等等通用的AI框架,可用于数据中心的AI加速和边缘计算的AI加速,可用于图像识别,视频分析,金融分析,人脸检测等领域。而Intel则推出了 OpenVINO™ (开放视觉推理和神经网络优化)工具套件,该工具套件基于卷积神经网络,在边缘计算中支持CNN的计算,通过使用常见的应用编程接口(API),支持在各种异构平台,如 CPU、GPU、FPGA上执行神经网络加速计算。还有其他人工智能公司也利用FPGA搭建的专用的人工智能硬件急速电路。
在专用ASIC芯片领域,最著名的就是Google的TPU(Tensor processing unit ,张量处理器),是为机器学习而定制的芯片,运行效率大大高于GPU,通过内置的大量的计算单元阵列,来实现人工智能计算的加速。中国的人工智能芯片公司“地平线”主要开发视频识别类的人工智能加速芯片,下载已经发布的有“征程 ”和“旭日”系列处理器。分别面向智能驾驶,智能摄像头领域。而寒武纪开发的智能终端处理器IP,已经成功的应用于智能手机芯片中,可广泛应用于计算机视觉等领域,提升视觉终端人/车/物/行为/图像/视频等的抓取和即时处理能力。以矿机起家的比特大陆也凭借在计算芯片领域的积累,设计了自己的云端和终端人工智能芯片,可应用于安防监控、数据中心、超级计算、机器人等领域。如今,人工智能芯片公司百花齐放,在各个领域不断地持续发力,相互竞争,相互促进。