18lickc新利
的意见

内存架构在人工智能:一种大小并不适合所有人

比较不同的机器学习用例和所使用的架构来解决这些问题。

受欢迎程度

常规计算的世界上,我们习惯于某些方面的架构内存访问延迟,带宽和权力的目标。这些进化多年来给予我们的多层缓存和硬件缓存管理方案现在如此熟悉。机器学习(ML)在这一领域引入了新的并发症为多个原因。AI /毫升芯片可以在电力需求差别很大,在延迟需求,专门对安全性要求苛刻的应用程序和在新的布局对高性能应用程序的挑战,不同边缘类的应用程序和数据中心的应用程序。

对比这些不同需求的一个好方法就是比较用例和Movidius架构来解决那些用例,Mobileye和数据中心应用程序如百度昆仑的家庭。(百度还没有公布架构细节,但我知道他们使用我们的人工智能方案,这显示他们建筑的重要特征。)

示例# 1:Movidius无数X
首先,考虑样本用例Movidius神经计算:检测有害细菌在水里,筛查皮肤癌或扫描非法图片在互联网上的孩子。所有有价值的应用程序要求(甚至实时)性能好但不是latency-critical。运行在一个电池是有用的在某些情况下尽管不总是必不可少的。体系结构是通用的(人工智能应用程序),基于多个(刮)SIMD处理器。你可以认为这是一个可伸缩的加速器,每个都有自己的本地内存与逻辑。显然,这些与常见的内存池共享数据(它们都工作在同一图像),而不是使用缓存一致性之间加速器核心体系结构实现了一个轻量级的邮箱/消息队列方案core-to-core交流以及共享L2缓存位于前DDR内存控制器。外部存储器通常是一些LPDDR4的味道。(图片来源:英特尔/ Movidius]

Movidius芯片上的加速器彼此直接沟通和主内存空间使用他们的芯片上的“智能记忆面料”和128位安巴阿喜通讯。FlexNoC互连IP是一个完美的解决方案,这种类型的非相干性的交流。

例2:Mobileye EyeQ
现在考虑Mobileye用例。如果你知道任何关于Mobileye,你知道他们是汽车ADAS的先驱。如果你是极客,你也知道,他们也努力争取中央传感器融合和计划与他们的大脑在车上EyeQ5设计,及其建立视觉处理的作用。延迟是更重要的,就是力量。我们可能认为一个巨大的12 v电池(或很多电池在电动车)使这一个选项,但是不是这样的。电子电力需求和耗散/冷却需求在现代汽车是一个真正的问题。Mobileye软件更高度调节特定ADAS应用和产生的性能要高得多(24上衣EyeQ5与周围4顶部Movidius无数X),与Mobileye软件与硬件一起打包,而Movidius可以开发自己的软件。因为硬件是用例和定制软件,Mobileye架构还实现了更多类型的加速器,专用vision-related,比Movidius AI和算法功能,。和处理元素可能每个支持的紧耦合嵌在记忆的加速器,以及一个非常复杂的内存架构与多个缓存相干“岛屿”和内置的硬件功能安全机制(了解更多信息在这里)。

Mobileye-style芯片,随着越来越多的复杂系统(加速器和更多类型的加速器),将支持多个级别的内部连接和缓存。高效的内存访问必须首先然后回到系统本地管理域,需要缓存和硬件一致性管理通过在每一层的互连。这里我们Ncore互连和代理缓存可以使用在加速器和连接到系统领域。(图片来源:Mobileye /英特尔]

例# 3:数据中心
对于数据中心的应用程序,性能是一切权力并不是大问题”边缘。“例如,液体冷却的谷歌TPUv3消耗约200 W而EyeQ5消耗10 W。当前的趋势数据中心人工智能芯片的灵活性:您需要处理训练以及推理和你需要多用,运行多个类型的神经网络算法。这意味着完整的字长,浮点处理,在你想要定点和短单词长度最小化。终极的性能导致网或环同质处理元素或子系统的体系结构,通常较小的紧密耦合内存或缓存与每个“节点相关联。”因为这些常规拓扑设计规模扩大,建筑师通常多个处理元素组织成“瓷砖”每个瓷砖都有它自己的共享内存或缓存。瓷砖经常帮助降低复杂性在软件开发和后端布局内的芯片和内存架构的瓷砖可以非相干性的或缓存相干。(图片来源:谷歌)

AI平台:扩大(下)
人工智能芯片的体系结构正在成为的一部分“平台战略,”,是常见的分层次扩大加速器的数量更高性能的产品版本中,需要多个代理缓存访问指向一致的系统。Ncore架构轻松地支持这个扩大(或降低),减少主要设计产品衍生品/后继课程的必要性。这也很容易支持多个岛屿加速器+代理缓存,允许更激进的电源管理需要时在不影响性能。

Ncore缓存相干互连最后还支持自己的水平缓存(其中,您可以有不止一个),也与系统的其余部分相干。所以,架构师全力支持最小化内存访问通过缓存,减少权力和AI加速器优化延迟和带宽。等待,我不能做所有这些使用其他缓存相干互连IP ?没有那么快。大多数缓存连接的设计身体紧耦合集群系统(如closely-placed CPU);伟大的低效cross-SoC通信的这些系统,但在一个高度分布式体系结构异构处理集群位于芯片。这就是为什么每个人规模的soc设计使用国有石油公司。另一个问题是管理一个非相干性的加速器和缓存相干之间的通信子系统。代理缓存实现这个目标,在本质上允许的非相干性的硬件加速器作为完整连贯的公民参与缓存相干域以及传统的CPU和GPU集群。

HBM2, Chiplets CCIX
数据中心加速器,考虑到他们的需要,一种加速的需要,要使用专用内存性能。这可能是一个HBM2栈,尽管中国设计团队似乎更喜欢GDDR6因其低成本和可用性。考虑到空间网状结构,因此有必要把内存访问控制器的结构。创建一个新的问题——连接所有这些控制器在巨大的网格界面最终HBM2控制器,在不影响延迟和带宽。

我们处理这个(和其他功能)AI FlexNoC 4包。内置的HBM2交叉支持多达16个目标和发起人之间的通道,1024位宽,管理交通聚合数据宽度转换和响应HBM2控制器重新排序。不过,值得指出的是,这些网格已经如此之大,他们撞到reticle-size局限性。和他们还不是一样大的设计团队想去。我听到很多兴趣multi-die网格/ chiplets来克服这个问题。当然,这些必须是连贯的,这意味着他们必须通过CCIX相干inter-chip接口连接。

“系统公司”制造人工智能芯片
一个新的挑战,我经常看到的是,有很大的“系统公司”正在建设很多复杂的人工智能芯片设计。这些都不是传统的半导体公司,所以他们通常去3理查德·道金斯政党的物理实现。这是创建一些有趣的问题。如何优化管理延迟和带宽权衡当你作为一个系统设计师设计这些复杂的结构从逻辑/ RTL的角度来看,然而,你想确保外包后端团队并不否定优势你以为你会因为他们实现从物理的角度来看事情“错误”?没有那么大的问题传统的半导体供应商做前端和后端设计内部,但也许比系统公司预期这将需要手把手的指导。

来源:
Mobileye CES 2019表示,“AV的状态/ ADAS Mobileye /英特尔”:https://s21.q4cdn.com/600692695/files/doc_presentations/2019/01/Mobileye_CES2019.pdf
英特尔/ Movidius无数X产品简介:https://newsroom.intel.com/wp-content/uploads/sites/11/2017/08/movidius-myriad-xvpu-product-brief.pdf
英特尔和Mobileye自主驾驶SolutionsProduct简单:https://newsroom.intel.com/wp-content/uploads/sites/11/2018/06/intel-mobileye-pb.pdf
“撕裂谷歌的TPU 3.0 AI协处理器”,https://www.nextplatform.com/2018/05/10/tearing-apart-googles-tpu-3-0-ai-coprocessor/
“剃v2.0——微体系结构——Movidius”,https://en.wikichip.org/wiki/movidius/microarchitectures/shave_v2.0



留下一个回复


(注意:这个名字会显示公开)

Baidu