Understand and Evaluate Deep Learning Processors<Learning note>如何评估机器学习处理器<学习笔记>

标准DH与改进DH的讨论The discussion of sDH and mDH 浅尝辄止是乐趣,也是 前言 这个学期开了“机器人学”的课程,学到了机器人手臂位置的表示,老师主要教的mDH,后来略微提到了sDH,在提到标准的DH表示后有不理解,于是自己钻研了一会,在在这里写下来,以防止以后自己再有不解,再者也是分享给诸位。 读本文的前提:掌握了基本的坐标变换,至少知道mDH或者sDH中一种 重要理解 1.一个连杆对应一个坐标系,坐标系代表了连杆的特征。 2.连杆与连杆之间的位置... 阅读详情

Preface:This article is written for a nifty girl who I cherish.

在这里插入图片描述

(0)Introduction

  • Learning based on 2020_isscc
  • This article mainly to cover the detail information of various Deep Learning Processors

(0.1)Question directed learning

  • What are the key metrics that should be measured and compared?
  • What are the challenges towards achieving these metrics?
  • What are the design considerations and tradeoffs?
  • How do these challenges and design considerations differ across platforms (e.g., CPU, GPU, ASIC, PIM, FPGA)?

(1)Deep learning overview

(1.0)Weighted Sums

  • example: Yj=Fnonlinear ativation(∑i=13Wij×Xi)Y_j=F_{nonlinear \space ativation}(\sum_{i=1}^3W_{ij}×X_i)Yj​=Fnonlinear ativation​(i=1∑3​Wij​×Xi​)
  • comment: multiply and accumulate account for over 90%

(1.1)Popular layers

  • Fully Connected Layer
    features:Feed forward, fully connected

  • Convolutional Layer(CNN)
    features: Feed forward, sparsely-connected w/ weight sharing
    use: Typically used for images

  • Recurrent Layer(RNN)
    features: feedback
    use: Typically used for sequential data (e.g., speech, language)

  • Attention layer/mechanism
    features: Attention (matrix multiply) + feed forward, fully connected

(1.2)Popular DNNS

DNN gets larger and deeper

(2)Key metrics and Design Objectives

(2.0)Key metrics

  • accuracy
  • throughput: Analytics on high volume data and Real-time performance
  • latency
  • energy and power: TOPS/W
  • hardware cost
  • flexibility: Range of DNN models and tasks
  • Scalability: Scaling of performance with amount of resources

(2.1)Key Design Objectives of DL Processors

  • Increase Throughput and Reduce Latency
    • Reduce time per MAC
      Reduce critical path -> increase clock frequency
      Reduce instruction overhead
    • Avoid unnecessary MACs (save cycles)
    • Increase number of processing elements (PE) -> more MACs in parallel
      Increase area density of PE or area cost of system
    • Increase PE utilization* -> keep PEs busy
      Distribute workload to as many PEs as possible
      Balance the workload across PEs
      Sufficient memory BW to deliver workload to PEs (reduce idle cycles)
  • Low latency has an additional constraint of small batch size
  • Reduce energy and power consumption
- Reduce data movement as it dominates energy consumption
	Exploit data reuse
- Reduce energy per MAC
	Reduce switching activity and/or capacitance
- Reduce instruction overhead
 Avoid unnecessary MACs
  • Flexibility
    • Reduce overhead of supporting flexibility
    • Maintain efficiency across wide range of DNN workloads
      • Different layer shapes impact the amount of
        Required storage and compute
        Available data reuse that can be exploited
    • Different precision across layers & data types (weight, activation, partial sum)
    • Different degrees of sparsity (number of zeros in weights or activations)
    • Types of DNN layers and compute beyond MACs (e.g., activation functions)

(3)Design Considerations\

(3.0)CPUs and GPUs

  • caculating elements: Use matrix multiplication libraries on CPUs and GPUs
  1. Fully connected layer can be directly represented as matrix multiplication
    input: Mi=n×kM_i=n×kMi​=n×k
    weight: W=m×nW=m×nW=m×n
    output: Mo=m×kM_o=m×kMo​=m×k
    do Mo=WMiM_o=WM_iMo​=WMi​
  2. Convolutional layer can be converted to Toeplitz Matrix
    在这里插入图片描述
    But data is repeated
  • Design Considerations for CPU and GPU
    • Software (compiler)
      • Reduce unnecessary MACs: Apply transforms
      • Increase PE utilization: Schedule loop order and tile data to increase data reuse in memory hierarchy
    • Hardware
      • Reduce time per MAC
        • Increase speed of PEs
        • Increase MACs per instructions using large aggregate instructions (e.g., SIMD, tensor core) -> requires additional hardware
      • Increase number of parallel MACs
        • Increase number of PEs on chip à area cost
        • Support reduced precision in PEs
      • Increase PE utilization
        • Increase on-chip storage -> area cost
        • External memory BW -> system cost

(3.1)ASIC(Specialized / Domain Specific Hardware)

  • Features:
  1. Operations exhibit high parallelism -> high throughput possible
  2. Memory Access is the Bottleneck

Example: AlexNet has 724M MACs -> 2896M DRAM accesses required
在这里插入图片描述

  • Properties to Leverage
    Input data reuse
    high parallelism

(4)END

  • While deep learning gives state-of-the-art accuracy on many tasks, it may not be
    the best approach for all tasks. Some factors to consider include
    • How much training data is available?
      Deep learning requires a significant amount of data -> in particular, labelled data
      (current state-of-the-art results rely on supervised learning)
    • How much computing resource is available?
      Despite the progress in the area of efficient deep learning, it can still require orders of magnitude more complexity than other machine learning based approaches
    • How critical is interpretability?
      Understanding why the DNN makes a certain decision is still an open area of research
      DNN models can be fooled – increasing robustness is still an open area of research
      In general, debugging what happens within a DNN can be challenging
    • Does a known model already exist?
      Many things in the world are based on known models or laws (e.g., Ohm’s Law V=IR);
      it may be unnecessary to re-learn this from the data
T10-How to Understand and Evaluate Deep Learning Processors.zip MIT科研团队在2020年isscc上有关深度学习处理器的教程,包含视频和文档资料,欢迎下载学习 立即下载

相关推荐

MaxENT生态位模型实战:从数据准备到论文发表的完整指南

本文提供MaxENT生态位模型从数据准备到论文发表的完整实战指南,涵盖物种分布数据处理、环境变量筛选、参数优化及结果可视化等关键步骤。特别介绍如何通过R语言进行高级建模优化,提升模型AUC值,并分享海洋生物专题研究中的数据处理技巧。适合生态学研究者快速掌握这一强大的物种分布预测工具,产出高质量研究成果。

tensor9flow的博客 301

使用canal遇到错误:Unrecognized VM option ‘UseCMSCompactAtFullCollection‘

前言:sql老师叫去看看redis,说用于提高高并发,然后布置了一个小作业,先去了解自己电脑的数据库的tpm,然后再通过redis为数据库添加缓存提高tpm; 这里我用的阿里开源项目canal,参照链接 在连接canal时,发现连接失败,去查canal日志canal_stdout.log发现有: Unrecognized VM option ‘UseCMSCompactAtFullCollection’ 据说是jdk版本在8以上就不可以,后来又参照了链接 发现可以删除startup.sh中的参数解决.

爱安敝之的博客 8738

【保姆级教程/代码】使用PRIDE PPP-AR软件解算ZTD、反演GNSS PWV,并评估精度

在本算例中,我下载了BJFS站2024年的IGS ZTD产品,用于评估PRIDE PPP-AR软件解算出ZTD结果的精度。

weixin_43910227的博客 2368

c51单片机原理复习资料2020

今年考了单片机原理,整理了大几千字的复习文档,留着也没用,就在下面分享出,仅供参考. 以下文档复制自word文档,无图片,下载参见: 坚果云 github 这里还有一个c51的中文介绍文档,觉得也挺不错的,下载参见: 坚果云 github 仅供参考 复习范围(题型:选择、简答、编程、扩展设计) 51是哈弗结构的,ram,rom分开编址 AT89C51的基本参数(CPU,RAM, ROM等)和内部的组成结构。 (1)8位微处理器(CPU); (2)数据存储器(128B RAM)+128B 特殊功能寄存器;.

爱安敝之的博客 1732

保姆级教程:在K230开发板上为张大头步进电机实现位置、速度、回零全功能控制

本文提供了一份详细的K230开发板与张大头步进电机的控制教程,涵盖硬件连接、协议解析、模块化代码实现及实战案例。通过位置、速度和回零功能的全面讲解,帮助开发者快速掌握步进电机的高级控制技术,适用于自动化、机器人等应用场景。

weixin_42629671的博客 708

HI3403烧录全流程:从ToolPlatform安装到eMMC配置避坑指南

本文详细介绍了海思HI3403芯片的完整烧录流程,涵盖从ToolPlatform工具安装、驱动配置到eMMC分区策略的实战指南。文章深入解析了BurnTool工具的使用方法、关键配置项,并提供了烧录过程中的常见问题排查与解决方案,旨在帮助开发者高效、稳定地完成HI3403嵌入式系统的部署。

weixin_29279101的博客 332

update Android 12 and magisk ROOT on Pixel4

Preface:This article is written for me. Uninstall root from magisk open magisk press “uninstall Magisk” press RESTORE IMAGES -Then one can update to android 12 in his/her setting ROOT again If one doesn’t have adb, download at link_1 unpack it.

爱安敝之的博客 1705

看懂 SAP S/4HANA 产品主数据里的 GTIN:一串号码背后的全球商品识别与业务协同

SAP S/4HANA中的GTIN管理是企业供应链运营的关键环节。本文深入解析GTIN的业务内涵及其在SAP系统中的实现方式:1) GTIN是全球通用的商品标识码,不同于企业内部物料编码;2) SAP主数据中GTIN与计量单位强绑定,需为不同包装层级维护独立GTIN;3) 同一产品可能因渠道、供应商差异存在多个GTIN;4) GTIN贯穿零售POS、仓储管理、EDI订单等核心业务流程;5) 通过典型案例说明错误维护GTIN将导致收银异常、仓库作业低效等运营问题。文章强调GTIN管理需结合包装层级、计量单位等

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1432

Matlab Robotics project 1 phase 1 <Experiment Recording>

Preface:This article is written for a nifty girl who I cherish. (0)Introduction (0.0)General Description 本实验是机器人学基于matlab 的四旋翼飞行器仿真实验,要求根据已有的飞行器模型创建控制器(输入期望控制,输出飞行器整体推力与力矩),根据创建的飞行器在空间中绕曲线飞行 (0.1)Original Materials Free Resource (1)On working Design co.

爱安敝之的博客 973

PCL Super4PCS算法实现点云粗配准(版本一)【2025最新版】

Win11系统下实现[Super4PCS: Fast Global Pointcloud Registration via Smart Indexing一文中的配准算法。

点云侠的博客 3378

【异常】QClaw客户端安装失败(OpenClaw资源解压出错)问题排查与修复指南: 安装失败:OpenClaw 资源解压出错。 请重新安装或联系支持。

摘要:QClaw客户端安装失败报错"OpenClaw资源解压出错"的主要原因是资源包解压异常,常见于安装包损坏、系统权限不足、安全软件拦截、旧版本残留或系统环境问题。解决方案分三步:1)快速修复:重新下载安装包、管理员权限运行、关闭安全防护;2)深度修复:清理旧版本残留、修复系统组件;3)终极方案:收集日志联系官方支持。建议优先检查安装包完整性并使用纯英文安装路径,80%问题可通过快速修复方案解决。

奶爸的编程之路,也就一周冷个三天 382

如何在root用户下执行ros, 使用ros python

root用户下执行ros与ros python

爱安敝之的博客 931

MCU-内部flash模拟成EepRom(重新梳理)

通过fee写数据Data的过程中,数据会mapping一个虚拟地址,这个虚拟地址就是你的身份,在向flash写数据的过程中会写入很多相同虚拟地址的不同数据,在读取或切页的过程中,遍历数据只会认为最下面第一个的虚拟地址所持有的数据是有效数据,其他的都是老数据,可以丢弃。模拟成eeprom的两个eep_page写数据逻辑就是,先在eep_page0写数据,eep_page0写满后,将eep_page0的有效数据copy到eep_page1,之后擦eep_page0;

xiandang8023的博客 711

Matlab project1 phase 2&3 - Minimum Snap/Jerk and A* Algorithm <Experiment recording>

Preface:This article is written for a nifty girl who I cherish. (0)Minimum Snap/Jerk Trajectory Generation (0.0)Theory (0.1)Coding with matlab (1)A* algorithm (1.0)Description (1.1)Coding with matlab (2)More things (2.0)Polynomial Trajectories - corrido.

爱安敝之的博客 859

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

c51串口收发汇编程序,is is仿真

发送代码: ORG 0000H LJMP START start: MOV SCON, #0x50;0101 0000usart mode 1 ANL PCON, #0x7F;smod=0 MOV TMOD, #0x20;timer1 works as Baud rate producer MOV TH1, #0xFD;SET Baud rete=9600,as ...

爱安敝之的博客 689

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Matlab reconstruct signal form sample points, convulsion

Matlab reconstruct signal form sample points, convulsion

爱安敝之的博客 647

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

cpp stl数据结构介绍

(0)总体 所有stl头文件不包含.h stl体现了泛型编程的思想,就操作与数据分离。 stl中包含:容器,迭代器,算法。 常用容器有: <序列式容器>:元素有固定位置,元素位置与插入顺序有关,与元素值无关,有:vector(向量),deque(双端队列),list (列表) <关联式容器>:属于已序集群,元素位置与元素值与排序关系有关,与插入次序无关,有:set(集合),map(映射),mutiset(多重集合),mutimap(多重映射) 常用算法有: find,count,

爱安敝之的博客 609

Rookie‘s view about the derivative of Rotation Matrix(简明旋转矩阵求导推导)

Preface:This article is written for a nifty girl who I cherish. (0)Pre-acknowledge (0.0)Skew-symmetric matrix a×b=[a]×ba×b=[a]^×ba×b=[a]×b Among which [a]×[a]^×[a]×: [0−azayaz0−ax−ayax0]\begin{bmatrix} 0&-a_z&a_y \\a_z & 0&-a_x \\-a_y&am.

爱安敝之的博客 553

Paper reading - Learning Centrality by Learning to Route (LCR)

This paper proposed a method to use a fully connected deep learning to learn the route function in Route Betweeness Centrality (RBC).

爱安敝之的博客 430

重力落球法-手指指根检测-缺陷检测

前言:最近写一份代码要对手指指根进行检测,即如下图标出指根: 用了多种方法,效果均不佳,最终自己想了个方法,私命名为重力落球法。 1.手指指根检测的常用方法 1.1凸缺陷检测(找凸包) <<本部分代码引自:引用一>> opencv函数原型: //get hull vector<int>hull; vector<vector<Point>>hullS(2); // Convexity defects vector<vector<Vec.

爱安敝之的博客 375

Linux development common index

(0)Basic command See file content cat $certain_file find a file in specific folder ls \xxx\xx* Find a softeare in terminal apt-cache search $particular_keywords Download file form a website wget $specific_webpage show usb devices: lsusb See

爱安敝之的博客 304

Matlab solve a first-order transfer functin using differential equation and step responce simulation

Matlab solve a first-order transfer functin using differential equation and step responce simulation

爱安敝之的博客 285

python torch 自定义神经网络NN

经过epochs次训练,每次epoch训练多个batch_size个样本,Loss逐渐减少。自定义全连接神经网络需要继承Model,重写__init__ 和forward方法。

frt的博客 209

基于神经网络的机器人导航系统的设计与执行!

基于神经网络的机器人导航系统,本质上是一个“感知-规划-控制”的闭环。它的核心优势在于强大的泛化能力和端到端的简洁性,能够处理传统几何方法难以解决的复杂场景(如密集人群、非结构化地形)。

m0_65595995的博客 216

2027年神经网络、计算机视觉与信息工程国际会议(NCVIE 2027)

2027年神经网络、计算机视觉与信息工程国际会议在南京举行,关注从“单点识别”走向“感知—决策—执行”一体化的技术跃迁。会议面向学术界、工业界与创新创业团队,研讨深度网络理论与可解释性、视觉基础模型、多模态学习、三维重建与生成式视觉、边缘端模型压缩、神经形态计算、信息检索与知识工程、隐私保护视觉智能、复杂场景鲁棒感知等方向,并延伸至智能检测、自动驾驶、机器人导航、遥感解译、医疗影像、工业质检和城市治理应用。

2601_96763876的博客 260

Pytorch 【5】神经网络基础(nn.Module、卷积层、池化层、线性层)

前面我们学习了张量Tensor、自动求导Autograd,这两个是Pytorch最底层的基石。在真实项目中,我们不会手动去写大量求导逻辑,torch.nn模块封装好了神经网络各类层、损失函数,让我们快速搭建网络。本篇重点讲解nn.Module以及常用网络层:卷积Conv、池化Pool、全连接Linear。,和opencv、PIL的HWC相反!卷积之后进全连接,一定要flatten展平,否则维度对不上padding的作用:控制特征图尺寸不变,same padding池化层不改变通道数,只缩小高宽。

Beforthing的博客 167
上一篇: Rookie‘s view about the derivative of Rotation Matrix(简明旋转矩阵求导推导)
下一篇: Matlab Robotics project 1 phase 1 <Experiment Recording>
爱安敝之
博客等级 码龄8年 64粉丝 65原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值