神经网络推理加速入门

简介: 神经网络推理加速入门

大家好啊, 我是董董灿。

好久没写技术文章了,自从上次写了《图像识别和resnet50算法拆解》之后,一直在忙,周末也有其他事情。

不过忙里偷闲,这篇文章收到了一些小伙伴们的反馈,也一一都阅读回复了。比如有咨询算法应用的——

image.png

有想了解算法细节的——
image.png

也有鼓励型的——

image.png

惊喜之余,感觉自己的文章瞬间有了价值。

其实,很早就想写一写神经网络推理加速入方面的文章了

想写神经网络推理加速入主要有以下几个原因:

第一个原因

在人工智能算法由研究转为实际产品的过程中,也就是我们俗称产品落地的时候,除了算法本身能够work,功能正常运行之外,工程化更加专注的是一个AI模型的延时和吞吐。说白了就是模型的性能。

性能为什么这么重要。

举个例子,在自动驾驶场景下,摄像头捕捉车辆前方有障碍物,AI算法做出决策是急停还是转弯。高速运动的汽车从识别到决策再到车辆执行决策,这之间留有的时间是几秒甚至毫秒级别的,否则,车辆撞了,方向盘才开始打弯,功能上是做对了决策,但又有什么用呢?

AI加速,聊的便是同样的一个AI算法,在大家都能计算出正确结果的时候,谁算的更快(延时更低),谁一次可以处理的数据更多(吞吐更高)。

第二个原因

目前大火的AI芯片赛道,很多公司之所以做专用芯片,就是为了做AI加速,从硬件底层到编译器指令再到算法,做全流程的系统级优化,使得整个AI模型运行系统有最优的性能。

第三个原因

当然就是我目前正在从事AI加速方面的工作,对这一块更加熟悉一些,也借此机会,整理下工作中的知识点。

其实AI加速这个话题很广,大概会涉及到硬件架构(比如存储、计算等)、编译器优化(指令调度、图优化等)、算法优化(比如img2col算法等),限于个人水平有限以及文章科普性的定位,某些内容会点到为止,有希望了解细节的小伙伴可以私信我一起讨论啦。

不过还是希望能写出一个对大家有所帮助的AI加速系列。

这个系列同样不打算写过多细节,但是该涉及到的都会涉及。提纲大致为:

  • 计算机存储,指令和指令流水线,IO相关
  • 冯诺依曼架构与存算一体(存内计算)
  • 多核并行、异构计算
  • Tops、MAC、吞吐、延时等评价性能的指标介绍
  • 编译器优化,tiling和调度
  • 常见AI算法的优化,如卷积,矩阵乘算法的优化等

欢迎持续关注。

相关文章
|
2天前
|
人工智能 监控 网络协议
【网络技术】心跳机制(入门讲解)
【网络技术】心跳机制(入门讲解)
|
2天前
|
机器学习/深度学习 存储 人工智能
深度学习第1天:深度学习入门-Keras与典型神经网络结构
深度学习第1天:深度学习入门-Keras与典型神经网络结构
36 0
|
2天前
|
网络协议 安全 Linux
网络入门基础
网络入门基础
7 0
|
2天前
|
机器学习/深度学习 自然语言处理 语音技术
【Python 机器学习专栏】Python 深度学习入门:神经网络基础
【4月更文挑战第30天】本文介绍了Python在深度学习中应用于神经网络的基础知识,包括神经网络概念、基本结构、训练过程,以及Python中的深度学习库TensorFlow和PyTorch。通过示例展示了如何使用Python实现神经网络,并提及优化技巧如正则化和Dropout。最后,概述了神经网络在图像识别、语音识别和自然语言处理等领域的应用,并强调掌握这些知识对深度学习的重要性。随着技术进步,神经网络的应用将持续扩展,期待更多创新。
|
2天前
|
存储 监控 安全
【亮剑】指导初学者如何搭建和使用网络视频监控系统。
【4月更文挑战第30天】本文指导初学者如何搭建和使用网络视频监控系统。核心设备包括摄像头(如固定、PTZ、多目、夜视)、存储选项(NVR、DVR、云存储)及网络交换机等。安装配置步骤涉及规划布局、安装摄像头、设置存储设备和软件配置。实时监控包括实时查看、接收警报和录像回放。理解设备功能、合理布局并细心操作,就能建立稳定监控体系。随着技术进步,未来监控系统将更智能、高效,保障安全。
|
2天前
|
机器学习/深度学习 Python
【深度学习入门】- 神经网络
【深度学习入门】- 神经网络
|
2天前
|
存储 NoSQL Linux
Redis入门到通关之Redis5种网络模型详解
Redis入门到通关之Redis5种网络模型详解
32 1
|
2天前
|
NoSQL Ubuntu 关系型数据库
Redis入门到通关之Redis网络模型-用户空间和内核态空间
Redis入门到通关之Redis网络模型-用户空间和内核态空间
22 1
|
2天前
|
存储 网络协议 关系型数据库
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
|
2天前
|
关系型数据库 MySQL 数据库
Python从入门到精通:2.3.1数据库操作与网络编程:使用Python连接和操作数据库
Python从入门到精通:2.3.1数据库操作与网络编程:使用Python连接和操作数据库

热门文章

最新文章