摘要: 神经网络模型被广泛的应用于工业领域,并取得了巨大成功。然而,由于存储空间以及算力的限制,大而复杂的神经网络模型是难以被应用的。首先由于模型过于庞大,计算参数多(如下图所示),面临内存不足的问题。其次某些场景要求低延迟,或者响应要快。所以,研究小而高效的 CNN 模型至关重要。 本文将介文绍一些常见的 阅读全文
posted @ 2024-12-11 21:54 愿你都是喜欢 阅读(47) 评论(0) 推荐(0)
摘要: 本文将介绍 AI 模型网络参数方面的一些基本概念,以及硬件相关的性能指标,为后面让大家更了解模型轻量化做初步准备。值得让人思考的是,随着深度学习的发展,神经网络被广泛应用于各种领域,模型性能的提高同时也引入了巨大的参数量和计算量(如下图右所示),一般来说模型参数量越大,精度越高,性能越好(如下图左所 阅读全文
posted @ 2024-12-11 21:54 愿你都是喜欢 阅读(24) 评论(0) 推荐(0)
摘要: AscendCL 作为华为 Ascend 系列 AI 处理器的软件开发框架,为用户提供了强大的编程支持。通过 AscendCL,开发者可以更加高效地进行 AI 应用的开发和优化,从而加速 AI 技术在各个领域的应用和落地。AscendCL 的易用性和高效性,使得它成为开发 AI 应用的重要工具之一。 阅读全文
posted @ 2024-12-11 21:53 愿你都是喜欢 阅读(33) 评论(0) 推荐(0)
摘要: 本文将介绍华为昇腾推理引擎 MindIE 的详细内容,包括其基本介绍、关键功能特性以及不同组件的详细描述。 本文内容将深入探讨 MindIE 的三个主要组件:MindIE-Service、MindIE-Torch 和 MindIE-RT,以及它们在服务化部署、大模型推理和推理运行时方面的功能特性和应 阅读全文
posted @ 2024-12-11 21:53 愿你都是喜欢 阅读(133) 评论(0) 推荐(0)
摘要: 在深入探讨推理引擎的架构之前,让我们先来概述一下推理引擎的基本概念。推理引擎作为 AI 系统中的关键组件,负责将训练好的模型部署到实际应用中,执行推理任务,从而实现智能决策和自动化处理。随着 AI 技术的快速发展,推理引擎的设计和实现面临着诸多挑战,同时也展现出独特的优势。 本文将详细阐述推理引擎的 阅读全文
posted @ 2024-12-11 21:52 愿你都是喜欢 阅读(102) 评论(0) 推荐(0)
摘要: 推理系统架构是 AI 领域中的一个关键组成部分,它负责将训练好的模型应用于实际问题,从而实现智能决策和自动化。在构建一个高效的推理系统时,我们不仅需要考虑其性能和准确性,还需要确保系统的可扩展性、灵活性以及对不同业务需求的适应性。在本文中,我们将主要以 NVIDIA Triton Inference 阅读全文
posted @ 2024-12-11 21:51 愿你都是喜欢 阅读(111) 评论(0) 推荐(0)
摘要: 本文介绍神经网络模型在部署态中的两种方式:云侧部署和边缘侧部署。其中,云侧部署适用于云服务器等具备强大计算能力和存储空间的环境,可以实现高吞吐量和集中的数据管理,但可能面临高成本、网络延迟和数据隐私等挑战。 边缘侧部署适用于边缘设备和移动设备等资源受限的环境,可以通过模型优化、硬件加速和分布式计算等 阅读全文
posted @ 2024-12-11 21:50 愿你都是喜欢 阅读(36) 评论(0) 推荐(0)
摘要: 推理系统是一个专门用于部署神经网络模型,执行推理预测任务的 AI 系统。它类似于传统的 Web 服务或移动端应用系统,但专注于 AI 模型的部署与运行。通过推理系统,可以将神经网络模型部署到云端或者边缘端,并服务和处理用户的请求。因此,推理系统也需要应对模型部署和服务生命周期中遇到的挑战和问题。 在 阅读全文
posted @ 2024-12-11 21:50 愿你都是喜欢 阅读(58) 评论(0) 推荐(0)
摘要: 在深入探究 AI 编译原理之后,将进一步迈向一个与日常生活紧密相连的新领域。这个领域无处不在,无论是日常使用的购物应用、观看在线视频的平台,还是钟爱的游戏,它们都与这个领域息息相关。该领域,便是推理系统与推理引擎。 那么,推理系统与推理引擎究竟是什么呢?它们之间又存在着怎样的差异?推理的具体工作流程 阅读全文
posted @ 2024-12-11 21:49 愿你都是喜欢 阅读(42) 评论(0) 推荐(0)
摘要: AI 的发展日新月异,AI 系统相关软件的更新迭代也是应接不暇,作为一篇讲授理论的文章,我们将尽可能地讨论编程范式背后的原理和思考,而少体现代码实现,以期让读者理解 Ascend C 为何这样设计,进而随时轻松理解最新的 Ascend C 算子的编写思路。 本文将针对 Ascend C 的编程范式进 阅读全文
posted @ 2024-12-11 21:47 愿你都是喜欢 阅读(34) 评论(0) 推荐(0)
摘要: Ascend C 的本质构成其实是标准 C++加上一组扩展的语法和 API。本文首先对 Ascend C 的基础语法扩展进行简要介绍,随后讨论 Ascend C 的两种 API——基础 API 和高阶 API。 接下来针对 Ascend C 的几种关键编程对象——数据存储、任务间通信与同步,资源管理 阅读全文
posted @ 2024-12-11 21:46 愿你都是喜欢 阅读(26) 评论(0) 推荐(0)
摘要: 本文将深入探讨昇腾算子开发编程语言 Ascend C,这是一种专为昇腾 AI 处理器算子开发设计的编程语言,它原生支持 C 和 C++标准规范,最大化匹配用户的开发习惯。Ascend C 通过多层接口抽象、自动并行计算、孪生调试等关键技术,极大提高算子开发效率,助力 AI 开发者低成本完成算子开发和 阅读全文
posted @ 2024-12-11 21:46 愿你都是喜欢 阅读(28) 评论(0) 推荐(0)
摘要: 算子是编程和数学中的重要概念,它们是用于执行特定操作的符号或函数,以便处理输入值并生成输出值。本文将会介绍 CANN 算子类型及其在 AI 编程和神经网络中的应用,以及华为 CANN 算子在 AI CPU 的详细架构和开发要求。 算子基本介绍 一元算子通过对单个操作数进行操作,如取反或递增,而二元算 阅读全文
posted @ 2024-12-11 21:45 愿你都是喜欢 阅读(40) 评论(0) 推荐(0)
摘要: 本文将介绍昇腾 AI 异构计算架构 CANN(Compute Architecture for Neural Networks),这是一套为高性能神经网络计算需求专门设计和优化的架构。CANN 包括硬件层面的达·芬奇架构和软件层面的全栈支持,旨在提供强大的硬件基础和管理网络模型、计算流及数据流的软件 阅读全文
posted @ 2024-12-11 21:44 愿你都是喜欢 阅读(166) 评论(0) 推荐(0)
摘要: 在本文我们探讨一下,如何利用 AI 编译器在新的硬件上部署一个神经网络,从算法设计到实际运行,有哪些需要考虑的地方?本文将以 TVM 为例,首先介绍一下 TVM 的工作流: 导入模型。TVM 可以从 TensorFlow、PyTorch、ONNX 等框架导入模型。 转换为 Relay。Relay 是 阅读全文
posted @ 2024-12-11 21:43 愿你都是喜欢 阅读(97) 评论(0) 推荐(0)
摘要: 在硬件平台驱动算子运行需要使用各种优化方式来提高性能,然而传统的手工编写算子库面临各种窘境,衍生出了自动生成高性能算子的的方式,称为自动调优。在本文我们首先分析传统算子库面临的挑战,之后介绍基于 TVM 的业界领先的三个自动调优系统。 高性能算子挑战 DNN 部署的硬件平台越来越多样化,包括 CPU 阅读全文
posted @ 2024-12-11 21:43 愿你都是喜欢 阅读(40) 评论(0) 推荐(0)
摘要: 除了应用极广的循环优化,在 AI 编译器底层还存在指令和存储这两种不同优化。 指令优化 指令优化依赖于硬件提供的特殊加速计算指令。这些指令,如向量化和张量化,能够显著提高计算密度和执行效率。向量化允许我们并行处理数据,而张量化则进一步扩展了这一概念,通过将数据组织成更高维度的结构来实现更大规模的并行 阅读全文
posted @ 2024-12-11 21:42 愿你都是喜欢 阅读(65) 评论(0) 推荐(0)
摘要: 在具体硬件执行计算的时候,实际会大量地使用 for 等循环指令不断地去读取不同的数据执行重复的指令(SIMT/SIMD),因此循环优化主要是为了提升数据的局部性或者计算的并行性,从而提升整体算子性能,当然这二者都需要 AI 芯片硬件的支持。 循环优化挑战 数据局部性 数据的局部性与计算机存储层次有关 阅读全文
posted @ 2024-12-11 21:41 愿你都是喜欢 阅读(33) 评论(0) 推荐(0)
摘要: 在上一篇中,探讨了算子计算和调度的概念,并强调了高效调度策略在释放硬件性能和降低延迟方面的重要性。本文,我们将深入讨论手写算子调度时需要考虑的关键因素,并介绍一些著名的高性能算子库。 计算分析 在优化算子前,首先需要知道当前程序的瓶颈在哪里,是计算瓶颈还是访存瓶颈。对于这两者,往往是通过 RoofL 阅读全文
posted @ 2024-12-11 21:40 愿你都是喜欢 阅读(78) 评论(0) 推荐(0)
摘要: 上一篇我们了解了什么是算子,神经网络模型中由大量的算子来组成,但是算子之间是如何执行的?组成算子的算法逻辑跟具体的硬件指令代码之间的调度是如何配合? 计算与调度 计算与调度的来源 图像处理在当今物理世界中是十分基础且开销巨大的计算应用。图像处理算法在实践中需要高效的实现,尤其是在功耗受限的移动设备上 阅读全文
posted @ 2024-12-11 21:39 愿你都是喜欢 阅读(18) 评论(0) 推荐(0)