AI芯片之争白热化的当下 如何设计一款真正适用于终端的AI芯片

服务机器人 2025-01-22 13:12www.robotxin.com女性服务机器人

在人工智能的热潮中,AI芯片成为了引领科技发展的新星。随着深度学习的技术成熟和应用广泛,AI芯片的重要性愈发凸显。深度学习的运行过程,可以简化为利用大量标注数据进行模型训练,再应用于新数据的推断。这个过程的实现依赖于建立在多层大规模神经网络上的爆款算法,本质上涉及大量的矩阵乘积和卷积操作,计算量巨大。

为了解决这一难题,AI芯片应运而生。自2017年起,半导体行业围绕AI芯片展开激烈竞争,新老玩家纷纷加入,形势异常火热。进入2018年,众多公司纷纷推出自主研发的AI芯片,业界对其寄予厚望,期待其能解决终端计算难题。

近日,我们有幸与探境科技CEO鲁勇进行深入交流,了解到在AI芯片研发过程中遇到的核心问题。鲁勇认为,除了计算资源的提升,存储优化同样至关重要。AI算法在芯片实现时遇到的核心问题不是计算资源,而是存储问题。即使拥有强大的计算资源,如GPU,如果存储问题得不到解决,实际计算能力也会大打折扣。

存储问题主要体现在两个方面:带宽和功耗。这两个问题的解决是相辅相成的。深度学习算法需要大量的存储资源,包括静态模型参数和网络层之间的动态数据。对于静态模型参数权重,动辄几十兆上百兆的样本数量无法在片上SRAM保存,需要存入外部DRAM。DRAM与AI计算芯片之间的带宽有限,这成为了制约实际计算能力提升的瓶颈。

鲁勇打了一个形象的比喻:负责存储的DRAM和负责计算的芯片就像位于河两岸的仓库和工厂。整个运算过程就像是搬运数据过桥到工厂进行处理,然后循环往复。当前的技术重点在于提升数据处理速度,但数据的搬运过程并未得到显著改善,因此整体效率提升有限。

为了克服这一瓶颈,有两种主要方法:一是减少数据量,降低所需数据带宽;二是更科学地调度数据使用。通过模型剪枝和设计适于终端设备的简化网络等方式减少数据容量。这不仅可以降低对DRAM的访问量,提高整体性能,还可以大幅减少系统功耗开销。通过更科学的调度数据使用,提高调度的效率。深度学习的计算大量使用乘累加操作,如何调度这些数据成为关键。

AI芯片的研发是一个复杂而富有挑战的过程,需要我们在计算资源和存储优化两方面都做出努力。我们期待未来有更多的科技创新能够突破这一领域的瓶颈,推动人工智能的进一步发展。从宏观视角来看,深度学习运算过程中涉及的数据规模庞大,每次进入MAC的总数据量远超静态数据的容量。由于模型参数和中间数据在运算过程中被多次重复使用,因此实际所需的数据带宽极为庞大。当所有这些数据仅通过DRAM缓存使用时,所产生的功耗开销是惊人的。必须充分利用各级缓存的特性,设计高效的数据流。将频繁使用的数据放置在离计算资源更近的地方,减少数据获取的时间成本,提高计算性能。而将较少使用的数据存放在DRAM中,有助于降低系统功耗。

接下来,我们深入探讨如何设计一款真正适用于终端的AI芯片。

简单设计一款卷积加速器并不能满足深度学习计算性能的提升需求。优秀的计算架构需要深入分析存储问题,并综合考虑计算架构与数据存储的数据流控制。深度学习的计算特性并非单纯的并行计算问题。

我们需要关注浮点和定点计算的选择。采用定点计算可以大幅降低能耗和芯片面积。具体来说,8位整数乘法相较于IEEE 754标准下的16位浮点乘法,能耗可降低6倍,同时芯片面积也会减少6倍。针对应用场景,我们需要结合软件协同设计,考虑不同网络对定点位数的影响以及数据量化的具体方式,包括线性量化与非线性量化。

深度学习虽然并非简单的并行计算,但仍有明显的并行计算特征。在考虑存储问题后,如何放入更多的计算资源以大幅提高计算性能是一个重要课题。将最常使用的数据放置在接近计算资源的地方,符合In Memory Computing的思想,且更符合当前工业水平的实际状况。未来的发展方向包括重新设计存储单元或采用ReRAM等方式。

我们还需要考虑深度学习数据的另一个重要特性——数据稀疏化特性。运算数据中存在大量的零值数据,这些零值数据可以在存储中被压缩以降低存储容量和带宽需求,也可以在计算中被调度以减少运算压力,提高运算效率。软硬件协同设计对于处理稀疏数据在多核心并行计算中的调度问题至关重要。

针对不同网络的资源有效利用率问题也不容忽视。由于神经网络差异化较大,为了针对不同网络实现较高的资源有效利用率,需要在更细的颗粒度上进行优化,这进一步加深了数据流调度器的复杂度。设计一款真正适用于终端的AI芯片需要综合考虑以上多个方面,并结合实际应用场景进行优化。

Copyright © 2016-2025 www.robotxin.com 人工智能机器人网 版权所有 Power by