神经网络推理加速入门

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

大家好啊, 我是董董灿。

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

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

image.png

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

也有鼓励型的——

image.png

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

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

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

第一个原因

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

性能为什么这么重要。

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

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

第二个原因

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

第三个原因

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

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

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

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

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

欢迎持续关注。

相关文章
|
1天前
|
人工智能 运维 API
云栖大会 | Terraform从入门到实践:快速构建你的第一张业务网络
云栖大会 | Terraform从入门到实践:快速构建你的第一张业务网络
|
3月前
|
机器学习/深度学习 算法 PyTorch
基于图神经网络的大语言模型检索增强生成框架研究:面向知识图谱推理的优化与扩展
本文探讨了图神经网络(GNN)与大型语言模型(LLM)结合在知识图谱问答中的应用。研究首先基于G-Retriever构建了探索性模型,然后深入分析了GNN-RAG架构,通过敏感性研究和架构改进,显著提升了模型的推理能力和答案质量。实验结果表明,改进后的模型在多个评估指标上取得了显著提升,特别是在精确率和召回率方面。最后,文章提出了反思机制和教师网络的概念,进一步增强了模型的推理能力。
98 4
基于图神经网络的大语言模型检索增强生成框架研究:面向知识图谱推理的优化与扩展
|
3月前
|
JSON Dart 前端开发
鸿蒙应用开发从入门到入行 - 篇7:http网络请求
在本篇文章里,您将掌握鸿蒙开发工具DevEco的基本使用、ArkUI里的基础组件,并通过制作一个简单界面掌握使用
100 8
|
3月前
|
机器学习/深度学习 资源调度 算法
图卷积网络入门:数学基础与架构设计
本文系统地阐述了图卷积网络的架构原理。通过简化数学表述并聚焦于矩阵运算的核心概念,详细解析了GCN的工作机制。
207 3
图卷积网络入门:数学基础与架构设计
|
3月前
|
Web App开发 网络协议 安全
网络编程懒人入门(十六):手把手教你使用网络编程抓包神器Wireshark
Wireshark是一款开源和跨平台的抓包工具。它通过调用操作系统底层的API,直接捕获网卡上的数据包,因此捕获的数据包详细、功能强大。但Wireshark本身稍显复杂,本文将以用抓包实例,手把手带你一步步用好Wireshark,并真正理解抓到的数据包的各项含义。
152 2
|
3月前
|
机器学习/深度学习 人工智能 算法
深度学习入门:用Python构建你的第一个神经网络
在人工智能的海洋中,深度学习是那艘能够带你远航的船。本文将作为你的航标,引导你搭建第一个神经网络模型,让你领略深度学习的魅力。通过简单直观的语言和实例,我们将一起探索隐藏在数据背后的模式,体验从零开始创造智能系统的快感。准备好了吗?让我们启航吧!
125 3
|
4月前
|
数据采集 XML 存储
构建高效的Python网络爬虫:从入门到实践
本文旨在通过深入浅出的方式,引导读者从零开始构建一个高效的Python网络爬虫。我们将探索爬虫的基本原理、核心组件以及如何利用Python的强大库进行数据抓取和处理。文章不仅提供理论指导,还结合实战案例,让读者能够快速掌握爬虫技术,并应用于实际项目中。无论你是编程新手还是有一定基础的开发者,都能在这篇文章中找到有价值的内容。
|
4月前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)入门
【10月更文挑战第41天】在人工智能的璀璨星空下,卷积神经网络(CNN)如一颗耀眼的新星,照亮了图像处理和视觉识别的路径。本文将深入浅出地介绍CNN的基本概念、核心结构和工作原理,同时提供代码示例,带领初学者轻松步入这一神秘而又充满无限可能的领域。
|
4月前
|
消息中间件 编解码 网络协议
Netty从入门到精通:高性能网络编程的进阶之路
【11月更文挑战第17天】Netty是一个基于Java NIO(Non-blocking I/O)的高性能、异步事件驱动的网络应用框架。使用Netty,开发者可以快速、高效地开发可扩展的网络服务器和客户端程序。本文将带您从Netty的背景、业务场景、功能点、解决问题的关键、底层原理实现,到编写一个详细的Java示例,全面了解Netty,帮助您从入门到精通。
386 0
|
4月前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
684 1

热门文章

最新文章