【AI系统】AI系统的组成
本文详细解析了AI系统的多层次架构,涵盖应用与开发层、AI框架层、编译与运行时及硬件体系结构等,阐述各部分如何协同支撑AI应用的开发与运行,提升整体性能与效率,并随著AI技术进步持续演进。从编程语言到AI芯片设计,每一层都对系统的最终表现起着至关重要的作用。
【AI系统】谷歌 TPU 历史发展
本文详细介绍了谷歌TPU的发展历程及其在AI领域的应用。TPU是谷歌为加速机器学习任务设计的专用集成电路,自2016年首次推出以来,经历了多次迭代升级,包括TPU v1、v2、v3、v4及Edge TPU等版本。文章分析了各代TPU的技术革新,如低精度计算、脉动阵列、专用硬件设计等,并探讨了TPU在数据中心和边缘计算中的实际应用效果,以及谷歌如何通过TPU推动移动计算体验的进步。
【AI系统】谷歌 TPU v2 训练芯片
2017年,谷歌推出TPU v2,专为神经网络训练设计,标志着从推理转向训练的重大转变。TPU v2引入多项创新,包括Vector Memory、Vector Unit、MXU及HBM内存,以应对训练中数据并行、计算复杂度高等挑战。其高效互联技术构建了TPU v2超级计算机,显著提升大规模模型训练的效率和性能。
【AI系统】内存分配算法
本文探讨了AI编译器前端优化中的内存分配问题,涵盖模型与硬件内存的发展、内存划分及其优化算法。文章首先分析了神经网络模型对NPU内存需求的增长趋势,随后详细介绍了静态与动态内存的概念及其实现方式,最后重点讨论了几种节省内存的算法,如空间换内存、计算换内存、模型压缩和内存复用等,旨在提高内存使用效率,减少碎片化,提升模型训练和推理的性能。
飞桨x昇腾生态适配方案:04_模型精度对齐
本文详细介绍了模型在不同硬件(如GPU与NPU)间迁移时的精度对齐方法,包括前向和反向对齐的具体步骤。前向对齐通过模块化对比计算结果(如平均值、最大最小值等),确保误差在合理范围内;反向对齐则聚焦于梯度差异,利用二分法定位问题算子。同时,文章结合PPHGNet_small和MultiHead等具体模块代码,说明了如何打印输出并分析中间结果。此外,还探讨了私有格式、梯度异常及特殊shape等可能影响精度的因素,并提出相应解决策略。整体流程清晰,为跨硬件模型迁移提供了实用指导。
飞桨x昇腾生态适配方案:05_算子适配流程
本内容主要介绍Paddle针对非CPU和Nvidia GPU硬件(如NPU)的适配流程与方法。适配代码存于PaddleCustomDevice仓库,路径为`PaddleCustomDevice/backends/npu`,包含kernels(算子适配)和tests(单元测试)两个核心目录。适配流程分为算子注册、适配函数入参与主体实现三步,重点对齐Paddle与CANN算子参数。
基于昇腾用PyTorch实现CTR模型DIN(Deep interest Netwok)网络
本文详细讲解了如何在昇腾平台上使用PyTorch训练推荐系统中的经典模型DIN(Deep Interest Network)。主要内容包括:DIN网络的创新点与架构剖析、Activation Unit和Attention模块的实现、Amazon-book数据集的介绍与预处理、模型训练过程定义及性能评估。通过实战演示,利用Amazon-book数据集训练DIN模型,最终评估其点击率预测性能。文中还提供了代码示例,帮助读者更好地理解每个步骤的实现细节。
浅谈人工智能芯片(一)-- 深度神经网络和NVidia GPU的崛起
随着人工智能浪潮的兴起,人工智能基础芯片作为主要的计算力推动引擎也越来越受到追捧和热议,这个系列连载会介绍人工智能芯片兴起的背景和现有主要玩家以及研究现状,主要包括NVidia GPU、Google的TPU、Intel的Nervana、IBM的TreueNorth、微软的DPU和BrainWave、百度的XPU、Xilinx的xDNN、寒武纪芯片、地平线以及深鉴科技的AI芯片等。
MNN支持NPU啦!!!
MNN 会持续关注 NPU 领域的发展。同时,MNN 和华为 NPU 的合作也还在进一步推进中,后续 MNN 的相关代码会在建设更成熟之后开源。我们也同样期待华为在 NPU 方面的进一步发展。