摘要:
深度学习范式主要是通过发现经验数据中,错综复杂的结构进行学习。通过构建包含多个处理层的计算模型(网络模型),深度学习可以创建多个级别的抽象层来表示数据。例如,卷积神经网络 CNN 可以使用大量图像进行训练,例如对猫狗分类去学习猫和狗图片的特征。这种类型的神经网络通常从所采集图像中,包含的像素进行学习 阅读全文
posted @ 2024-12-13 19:29
无尽玩AI
阅读(14)
评论(0)
推荐(0)
摘要:
什么是 AI 算法?什么是神经网络?神经网络有什么用?为什么神经网络需要训练?什么是模型?AI 框架有什么用?AI 框架能解决什么问题? 上面的几个问题其实还挺有挑战的,也是本文需要回答的一个问题。下面来对一些基础概念进程澄清:首先深度学习是机器学习研究领域中的一种范式,而深度学习的概念源于对人工神 阅读全文
posted @ 2024-12-13 19:18
无尽玩AI
阅读(28)
评论(0)
推荐(0)
摘要:
从前文的简单介绍中,我们提到了可以从内存布局上对推理引擎的 Kernel 进行优化,接下来,我们将先介绍 CPU 和 GPU 的基础内存知识,NCHWX 内存排布格式以及详细展开描述 MNN 这个针对移动应用量身定制的通用高效推理引擎中通过数据内存重新排布进行的内核优化。 内存 CPU 内存主要架构 阅读全文
posted @ 2024-12-13 18:15
无尽玩AI
阅读(47)
评论(0)
推荐(0)
摘要:
QNNPACK(Quantized Neural Networks PACKage 是 Marat Dukhan (Meta) 开发的专门用于量化神经网络计算的加速库,其卓越的性能表现一经开源就击败了几乎全部已公开的加速算法。到目前为止,QNNPACK 仍然是已公开的,用于移动端(手机)的,性能最优 阅读全文
posted @ 2024-12-13 18:15
无尽玩AI
阅读(31)
评论(0)
推荐(0)
摘要:
在上一篇文章的介绍中,介绍了 Im2Col 技术,它通过将三维张量重新排列成矩阵形式,然后利用基于内存访问局部性的优化库如 GEMM(通用矩阵乘法库)加速计算。随后,还探讨了空间组合优化,这一种利用局部性原理来提升效率的技术。 在本文将重点介绍 Winograd 优化算法,它是矩阵乘优化方法中 Co 阅读全文
posted @ 2024-12-13 18:15
无尽玩AI
阅读(28)
评论(0)
推荐(0)
摘要:
作为早期的 AI 框架,Caffe 中卷积的实现采用的是基于 Im2Col 的方法,至今仍是卷积重要的优化方法之一。 从上一篇文章的介绍中可以看到,在 CNN 中卷积直接计算的定义中,卷积核在输入图片上滑动,对应位置的元素相乘后相加求和,滑窗的大小由卷积核决定。由于滑动操作时的窗口的数据横向是连续的 阅读全文
posted @ 2024-12-13 18:15
无尽玩AI
阅读(41)
评论(0)
推荐(0)
摘要:
卷积是神经网络里面的核心计算之一,它是一种特殊的线性运算。而卷积神经网络(CNN)是针对图像领域任务提出的神经网络,其受猫的视觉系统启发,堆叠使用卷积层和池化层提取特征。它在 CV 领域方面的突破性进展引领了深度学习的热潮。 回到卷积本身,其变种丰富、计算复杂,神经网络运行时大部分时间都耗费在计算卷 阅读全文
posted @ 2024-12-13 18:15
无尽玩AI
阅读(91)
评论(0)
推荐(0)
摘要:
推理引擎的 Kernel 层通常是推理引擎中用于执行底层数学运算的组件。在神经网络模型推理过程中,需要对大量数据进行高效的数学运算,如矩阵乘法、卷积、池化等。Kernel 层就是实现这些运算的核心部分,它直接影响着推理引擎的速度和效率,因此本文将会重点介绍 Kernel 层相关的内容。 Kernel 阅读全文
posted @ 2024-12-13 18:14
无尽玩AI
阅读(31)
评论(0)
推荐(0)
摘要:
除了前面提到的算子替换和算子前移等内容,本文内容将深入探讨计算图的优化策略,我们将细致分析图优化的其他重要内容,如改变数据节点的数据类型或存储格式来提升模型性能,以及优化数据的存储和访问方式以降低内存占用和数据访问时间。以上内容的理解和掌握,对于高效利用计算资源,提升算法性能具有至关重要的作用。 融 阅读全文
posted @ 2024-12-13 17:31
无尽玩AI
阅读(120)
评论(0)
推荐(0)
摘要:
上一篇文章主要回顾了计算图优化的各个组成部分,包括基础优化、扩展优化以及布局和内存优化。这些优化方式在预优化阶段、优化阶段和后优化阶段都有所应用,以提高计算效率。同时,还介绍了 AI 框架和推理引擎在图优化方面的不同应用和侧重点。接下来,我们从计算图优化的各个组成部分开始逐步进行讲解。 基础图优化方 阅读全文
posted @ 2024-12-13 17:30
无尽玩AI
阅读(62)
评论(0)
推荐(0)
摘要:
本文将会介绍推理引擎转换中的图优化模块,该模块负责实现计算图中的各种优化操作,包括算子融合、布局转换、算子替换和内存优化等,以提高模型的推理效果。计算图是一种表示和执行数学运算的数据结构,在机器学习和深度学习中,模型的训练和推理过程通常会被表示成一个复杂的计算图,其中节点代表运算操作,边代表数据(通 阅读全文
posted @ 2024-12-13 17:30
无尽玩AI
阅读(87)
评论(0)
推荐(0)
摘要:
用户在使用 AI 框架时,可能会遇到训练环境和部署环境不匹配的情况,比如用户用 Caffe 训练好了一个图像识别的模型,但是生产环境是使用 TensorFlow 做预测。 因此就需要将使用不同训练框架训练出来的模型相互联系起来,使用户可以进行快速的转换。模型转换主要有直接转换和规范式转换两种方式,本 阅读全文
posted @ 2024-12-13 17:30
无尽玩AI
阅读(39)
评论(0)
推荐(0)
摘要:
模型转换涉及对模型的结构和参数进行重新表示。在进行模型转换时,通常需要理解模型的计算图结构,并根据目标格式的要求对其进行调整和转换,可能包括添加、删除或修改节点、边等操作,以确保转换后的计算图能够正确地表示模型的计算流程。 本文主要介绍自定义计算图的方法以及模型转换的流程和细节。 计算图定义回顾 转 阅读全文
posted @ 2024-12-13 17:30
无尽玩AI
阅读(19)
评论(0)
推荐(0)
摘要:
在训练好一个模型后,需要将其保存下来,以便在需要时重新加载并进行推理或进一步的训练。为了实现这一目标,需要一种有效的方式来将模型的参数、结构等保存起来。 本文主要介绍在推理引擎中,针对神经网络模型的序列化与反序列化、不同的模型序列化方法,以及 Protobuf 和 FlatBuffers 两种在端侧 阅读全文
posted @ 2024-12-13 17:18
无尽玩AI
阅读(47)
评论(0)
推荐(0)
摘要:
模型转换的主要任务是实现模型在不同框架之间的流转。随着深度学习技术的发展,训练框架和推理框架的功能逐渐分化。训练框架通常侧重于易用性和研究人员的算法设计,提供了分布式训练、自动求导、混合精度等功能,旨在让研究人员能够更快地生成高性能模型。 而推理框架则更专注于针对特定硬件平台的极致优化和加速,以实现 阅读全文
posted @ 2024-12-13 17:12
无尽玩AI
阅读(71)
评论(0)
推荐(0)
摘要:
本文将介绍知识蒸馏(Knowledge Distillation, KD)的原理,这是一种通过从大型的教师模型向小型的学生模型转移知识来实现模型压缩和优化的技术。知识蒸馏的核心思想是利用教师模型在大量数据上积累的丰富知识,通过特定的蒸馏算法,使学生模型能够学习并吸收这些知识,从而达到与教师模型相似的 阅读全文
posted @ 2024-12-13 17:12
无尽玩AI
阅读(216)
评论(0)
推荐(0)
摘要:
本文将介绍模型剪枝的概念、方法和流程,这是一种通过移除神经网络中的冗余或不重要参数来减小模型规模和提高效率的模型压缩技术。 剪枝不仅可以减少模型的存储和计算需求,还能在保持模型性能的同时提高模型的泛化能力。我们将探讨剪枝的定义、分类、不同阶段的剪枝流程,以及多种剪枝算法,包括基于参数重要性的方法、结 阅读全文
posted @ 2024-12-13 17:11
无尽玩AI
阅读(226)
评论(0)
推荐(0)
摘要:
本文将会重点介绍训练后量化技术的两种方式:动态和静态方法,将模型权重和激活从浮点数转换为整数,以减少模型大小和加速推理。并以 KL 散度作为例子讲解校准方法和量化粒度控制来平衡模型精度和性能。 训练后量化的方式 训练后量化的方式主要分为动态和静态两种。 动态离线量化 动态离线量化(Post Trai 阅读全文
posted @ 2024-12-13 17:11
无尽玩AI
阅读(261)
评论(0)
推荐(0)
摘要:
本文将会介绍感知量化训练(QAT)流程,这是一种在训练期间模拟量化操作的方法,用于减少将神经网络模型从 FP32 精度量化到 INT8 时的精度损失。QAT 通过在模型中插入伪量化节点(FakeQuant)来模拟量化误差,并在训练过程中最小化这些误差,最终得到一个适应量化环境的模型。 文中还会讨论伪 阅读全文
posted @ 2024-12-13 17:11
无尽玩AI
阅读(126)
评论(0)
推荐(0)
摘要:
计算机里面数值有很多种表示方式,如浮点表示的 FP32、FP16,整数表示的 INT32、INT16、INT8,量化一般是将 FP32、FP16 降低为 INT8 甚至 INT4 等低比特表示。 模型量化则是一种将浮点值映射到低比特离散值的技术,可以有效的减少模型的参数大小、内存消耗和推理延迟,但往 阅读全文
posted @ 2024-12-13 16:33
无尽玩AI
阅读(127)
评论(0)
推荐(0)

浙公网安备 33010602011771号