础滨驱动的设计应用
草榴社区 研究员 Jamil Kawa
深度机器学习 (ML) 和人工智能 (AI) 的发展步伐,正在改变计算领域的各个层面,涉及硬件架构、软件、芯片制造和系统封装等。我们在两个方面取得的重大进展敞开了实施机器学习新技术的大门。第一项进展,即拥有海量数据(即“大数据”)可供系统处理。第二项进展,即先进的 GPU 架构现已支持分布式计算并行化。有了这两项重大进展,设计师可以利用依托密集计算和大量分布式存储器的新技术,提供强大的新型计算能力。
基于神经形态计算的机器学习,可利用脉冲神经网络 (SNN)、深度神经网络 (DNN) 和受限玻尔兹曼机器 (RBM) 技术。“大计算”结合大数据,利用基于统计的高维计算 (HDC),这种计算以模式为基础,支持基于联想记忆和持续学习的推理,以模仿人类记忆的学习和保留序列。
新兴的存储器有存算一体 SRAM、STT-MRAM、SOT-MRAM、ReRAM、CB-RAM 和 PCM。每种开发类型都会同时尝试实现 AI 计算的转换。各种类型共同提高了在计算能力、能源效率、密度和成本方面的优势。
在选择最佳计算体系结构以及支持其 ML/AI 应用目标的相关存储器组合时,系统设计人员面临若干挑战。尽管设计人员目前仍在使用传统的嵌入式 SRAM、缓存和寄存器文件,但是对于开发过程中 AI 负载的新需求,并没有通用或外来的存储器解决方案可以予以满足。但是,预计机器学习会消耗大部分能量,所以优化机器学习的存储器,可以帮助设计人员达到其功率预算要求。这对系统设计有重大影响。
在以下九个主要挑战中,设计人员会确定在某个特定时间哪一个挑战至关重要,进而平衡其设计需求:
每一个存储器挑战都可以通过多种方式解决,因为同一个目标通常有多种实现方案。每种方案都有优缺点,包括对架构决策的进一步可扩展性影响。
例如,对于存算一体,设计人员必须选择使用 SRAM 或是 ReRAM 阵列。这两种选项对功率和可扩展性,有着截然相反的影响。如果存储器模块的尺寸相对较小、所需的执行速度较高并且在片上系统 (SoC) 中集成存内计算,则自然就成为最合乎逻辑的选项,而 SRAM 就是理想之选(尽管 SRAM 的尺寸大且功耗大 - 包括动态功耗和漏电)。另一方面,深度神经网络中高度并行的矩阵乘法,通常需要大量的存储器,因而使用具有密度优势的 ReRAM 较为合理。
布尔逻辑函数是涉及多输入的运算,必需能够从多个可寻址位置同时读取数据,并将结果写回所需的存储器位置,因此多端口 SRAM 在存算一体架构中发挥着特殊作用。多端口 SRAM 和寄存器文件能够保证既精准的灵活性。另外,多端口 SRAM 可以用来为 GPU 构建寄存器文件,这是实现高效多线程的关键。
最出名的新兴存储器是 STT-MRAM、SOT-MRAM、ReRAM、CB-RAM、FeRAM 和 PCM。在选择存储器时,与其深究每个特定存储器的构成部分,不如了解其主要特性,使之成为神经形态计算架构的主要候选对象(以及通用存储器的候选对象)。草榴社区 白皮书“神经形态计算推动了人工智能 SoC 新兴存储器的发展”,其中提供了有关每种存储器的详细信息。
表 1 将经常用作芯片外解决方案的神经形态计算会考虑采用的新兴存储器,与传统的片上 SRAM 和寄存器文件进行了比较并作了概括。其中反映了每种技术的最新(截至 2020 年初)、最具代表性的数字,并且在大多数情况下仅从众多技术中选取一种进行采样。
表 1:对神经形态计算采用的新兴存储器进行的比较表明,没有一种存储器类型是适合所有人工智能芯片的“完美”存储器,每种存储器都有其优点
只有解决 SRAM 存储器最典型的问题,神经形态计算相关的存储器列表才算完整。SRAM 和寄存器文件仍然是用于神经形态计算的 AI/ML 架构的骨干,在所有存储器类别中,其延迟最小。然而,为 AI 应用和 Von-Neumann 架构最大化 TOPS/W 指标的首要任务决定了必需使用并行,可以通过多端口存储器实现最大的配置灵活性,以适应存算一体和近存储器计算。草榴社区 积极支持存算一体的研究工作,但同时也支持近存储器计算,因为这是最节能且用途广泛的计算形式。
大数据和大计算时代已经来临。根据 OpenAI 的数据,在过去 8 年里,深度学习的计算需求每三个月就会翻一番。采用深度神经网络的神经形态计算推动了 AI 的发展;然而,它严重依赖紧凑、非易失性节能存储器,这些存储器具有各种诱人的特性,能够适应不同的情况。其中包括 STT-MRAM、SOT-MRAM、ReRAMs、CB-RAM 和 PCM。神经形态计算依赖于新的架构和新的存储器技术,并且比当前的处理架构更高效,而且需要进行存算一体和近存储器计算,以及需要拥有存储器良率、测试、可靠性和实现方面的专业知识。