订阅
纠错
加入自媒体

神经网络架构—让AI真正的活起来

自定义AI加速走势高涨。在云计算领域,阿里巴巴继亚马逊、谷歌之后,推出了自己的定制加速器。Facebook也参与其中,微软在Graphcore中持有大量股份。英特尔(Intel)和Mobileye在汽车领域拥有强大的边缘人工智能(AI),而无线基础设施开发商正在为5G的小电池和基站增加AI功能。所有这些应用程序都依赖于大量灵活性和对未来的检验,以便在快速发展的环境中获得长期的相关性。

AI Traditional Hardware Solutions

但是有许多应用程序,对于它们来说,功率、成本或透明的使用模型是更重要的度量标准。一个农业监视器在一个偏僻的地方,一个微波语音控制器,交通传感器分布在一个大城市。对于这些问题,一个通用的解决方案,甚至一个通用的AI解决方案,都可能是多余的。所以,一个特定的应用程序的AI功能将会更加引人注目。

在人工智能时代之前,你会立刻想到一个硬件加速器——它可以做任何它必须做的事情,但比在CPU上运行一个软件要快得多。这就是人工智能加速器的作用。它可能仍然是以软件驱动的,但与通用CPU方式不同。软件是在大型平台(如TensorFlow或Torch)上用Python开发的,然后通过多个步骤编译到目标加速器上。

这就是神奇之处。只要加速器保持在神经网络架构的一般范围内,它就可以像你希望的那样狂野。它可以支持多个卷积引擎,每个引擎又由SRAM作为一个整体来支持,同时还支持本地内存,以优化对操作的优先顺序的访问。

它可能支持专业功能池等常用操作。为了提高速度和性能,它通常会在不同的推理阶段支持不同的字宽,并在处理稀疏数组时支持专门的优化。这两个领域都是神经网络架构的创新热点,一些架构师甚至尝试使用单比特权值——如果一个权值只能是1或0,那么你就不需要在卷积和稀疏性增加中进行乘法运算了!

所有这些的挑战在于,当你想要致力于最终架构时,你会发现有太多的旋钮,以至于很难知道从哪里开始,或者你是否真正探索了全部的可能性空间。更加复杂的是,你需要在大范围的大型测试用例(大图像、语音样本等等)上测试和描述。

用C语言而不是RTL来运行大部分测试是常识,因为它比RTL运行速度快几个数量级,而且比RTL更容易调优。此外,神经网络算法可以通过高级合成(HLS)很好地映射,因此你的C模型可以不仅仅是一个模型,它还可以是生成RTL。你可以探索你正在考虑的选择的能力、性能和区域含义——多个卷积处理器、本地内存、字宽、广播更新。所有这些都具有快速的周转时间,允许你更充分地探索可能的优化范围。

声明: 本文系OFweek根据授权转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号