论文笔记 DReAM: Dynamic Re-arrangement of Address Mapping to Improve the Performance of DRAMs

这篇是发表在2016年MemSys的论文《DReAM: Dynamic Re-arrangement of Address Mapping to Improve the Performance of DRAMs》,作者是曼彻斯特大学的Mohsen Ghasempour,导师是Mikel Lujan,参与者还有Nvidia研究院。

文章提出了对Address Mapping进行动态重排的方法,统计每个bit的flip ratio,并根据flip ratio调整bit的顺序。另外为了online做re-arrangement,作者提出了一种动态migrate的方法。

方法

Offline

  • 将flip ratio大的bit放在col
  • 将flip ratio小的bit放在row

Online

  • 不动col的bits
  • 只把flip ratio小的bit放在row
  • 250K个Memory访问的窗口大小
  • bit交换超过7%才进行替换

动态migrate

  • 为所有的row增加两个bit的metadata
    • Migration Table:是否被migrate了
    • Swap Table:是否被swap了
  • 同时保存两种映射策略
    • 原来的映射策略PAMS(Predefined Address-Mapping Scheme)
    • 使用的映射策略EAMS(Estimated)
  • 访问的时候,根据row数据在哪里一步步讨论
    • 如果数据在当前位置,直接取。
    • 如果数据在原来位置,取出来,并交换现在的数据和原来的row数据,将当前位置的swap bit设为1,将migrate bit设为1
    • 如果原来的位置已经被swap过了,那么通过PAMS EAMS反推位置在哪,如果被多次swap,这个过程迭代做多次直到找到数据

硬件设计

  • 使用Mutlu论文中的MASA实现多行active来进行Inner Bank的row数据交换
  • 使用I/O bus把所有的bank连起来,传输一个row需要64 DRAM clock/512个CPU clock(有引用)
  • MT和ST两个表使用2MB的存储(64GB内存),可以放在DRAM或者Controller上

实验

  • 用了USIMM和DDR3在CPU上做了实验
  • 数据集为SPEC PARSEC HPC COMMERCIAL BIOBENCH,和20个他们的混合benchmark
  • 发现数据集分为两种
    • 对Mapping敏感
      • 原本有flip ratio比较大的bit被map到了row
    • 对Mapping不敏感
  • offline减少平均5%的execution time
  • online减少平均4.5%的execution time

总结

第一次提出了动态对mapping进行调整的策略,取得的还不错的结果。但这个策略比较heuristic,还有提升空间。

论文笔记 FastGRNN: A Fast, Accurate, Stable and Tiny Kilobyte Sized Gated Recurrent Neural Network

这篇是发表在NIPS2018的论文《FastGRNN: A Fast, Accurate, Stable and Tiny Kilobyte Sized Gated Recurrent Neural Network》,论文作者是微软印度研究院的Aditya Kusupati和德里印度理工学院、伯克利大学。

论文对带residual connection的FastRNN进行分析,理论证明FastRNN能有很好的训练收敛性能(解决梯度消失和梯度爆炸的能力)。另外提出了它的改进版本FastGRNN,增加可学习参数提升性能,通过weight复用、low-ranking、sparse和quantization减少参数和加速计算。

方法

FastRNN

  • 正常RNN$h_t=tanh(Wx_t+Uh_{t-1}+b)$变为下面
  • $\tilde{h_t}=\sigma(Wx_t+Uh_{t-1}+b)$
  • $h_{t}=\alpha\tilde{h_t}+\beta h_{t-1}$
    • 一般$\alpha<<1 \beta\approx 1-\alpha$
    • 都是可学习参数
    • 把当前算出来的$\tilde{h_t}$和之前的$h_{t-1}$结合

FastRNN解决病态gradients的证明

  • 没仔细看
  • Notation
    • T是RNN的timestep
  • Convergence Bound
    • 最大的iterations被bound在O(\frac{\alpha T}{\epsilon^2} \dot poly(L(\theta_0),R_W R_U R_v,\bar{D})),当$\alpha=O(1/T)$
  • Generalization Error Bound
    • Generalization error和T无关

FastGRNN

  • 使用Gated模型并增加一个可学习参数提升准确性
    • $z_t=\sigma(Wx_t+Uh_{t-1}+b_z)$
    • $\tilde{h_t}=tanh(Wx_t+Uh_{t-1}+b_h))$
    • $h_t=(\zeta(1-z_t)+v)\odot \tilde{h_t}+z_t\odot h_{t-1}$
    • 注意:W和U参数共享

压缩

  • Sparse low-rank
    • $W=W^1(W^2)^T,U=U^1(U^2)^T, ||W^i||_0\le s_w^i, ||U^i||_0\le s_u^i$
    • $W^i$是$R^{D\times r_w}$
    • $U^i$是$R^{D\times r_u}$
  • Byte Quantization
    • piecewise-linear approximation of the non-linear functions训练
    • 解决1.accuracy loss 2.非线性操作要转化成float算

训练

  1. 训练low-rank
    • 直接训练W1 W2的形式
  2. 训练
    • Iterative Hard Threshold(IHT)
  3. 固定支持参数{W,U}训练

实验

  • 语音唤醒任务
  • PTB
  • Pixel-MNIST
  • 结果
    • 直接用FastGRNN可以200KB->57KB,保持精度,减少一倍训练时间
    • 使用LSQ压缩后,57KB->5.5KB
    • 只是用LS压缩,大概22KB,Q压缩减少4倍数据

总结

FastRNN理论证明部分虽然看不懂,但是深度学习理论的魅力所在,从理论上分析才是正确的道路,不能瞎搞。FastGRNN压缩网络把RNN压缩了很多,改动不是很大,LSQ都是以前的方法,但是效果不错。

论文阅读 DARTS: Differentiable Architecture Search

这篇论文是发表在ICLR 2019的《DARTS: Differentiable Architecture Search》,文章的作者是CMU的Yiming Yang 组,第一作者是Hanxiao Liu。

这篇论文使用可微分的方法进行神经网络架构搜索,在连续域内进行模型搜索,这样就可以使用梯度下降对模型进行优化。将Cell搜索空间relax到一个DAG表示,然后建模成为一个嵌套优化的问题,并提出了一个one-step的approximate的优化方法,可以用1-2d的GPU hours达到和RL-based NAS类似的结果

方法

搜索空间的relax

  • 神经网络为一个tensor作为node、operation作为edges的DAG
  • N个node编号,所有小号对应的node连edge到大号对应的node
  • 确定edge的种类为Conv等神经网络层还是identity或者不连接
  • 网络只搜normal block和reduction block,CIFAR10有$10^25$(里面有isomorphism)

建模问题

  • 将所有的搜索空间可选操作集的weighted sum作为edge操作
  • 优化这个weight softmax(α)
  • $\min_{\alpha} L_{val}(w^(\alpha),\alpha) s.t. w^(\alpha)=\arg\min_{w}L_{train}(w,\alpha)$
  • 最后从每个edge的operation set里面选择最大的top-k alpha新建网络训练

one-step的approximate优化方法

  • 两步优化
    • 使用更新后的w作为参数,使用梯度下降法在validation set上优化alpha
    • 更新w的参数
    • 如果不用w更新后的参数,就是first-order的方法,效果更差一点
  • 避免alpha在training set上过拟合
  • 选择合适的w学习的学习率对结果影响大

实验

  • CIFAR10
  • 迁移ImageNet
  • PTB

评价

这篇文章使用可微分的方法将NAS搜索的时间大大降低了,理论部分也有两阶段优化的一些理论依据(first-order和second-order确实有差别),而不是简单的拍拍脑袋做了实验,这点需要学习。
接着这篇论文可以做很多工作。

论文笔记 《A Semi-Supervised Assessor of Neural Architectures》

这篇文章是发表在CVPR2020的《A Semi-Supervised Assessor of Neural Architectures》,作者来自北京大学Yehui Tang,华为诺亚方舟实验室Chunjing Xu为通讯作者。

文章提出了一种网络性能预测器,在NAS的场景下,不用训练网络得到网络性能,而是直接用性能预测器预测网络的性能,从而减少搜索时间。使用了AutoEncoder + 图网络的结构来实现半监督学习。

方法

网络Embedding表示

  • 使用AutoEncoder将邻接矩阵表达的网络结构Embedding到一个向量
  • 采用重建Loss训练

网络关系图谱

  • 一个网络是图中的node
  • 由网络结构的Embedding的距离,建立网络关系图谱
    • 距离小于Threshold 才有边
    • 边根据距离设定weight

性能预测器

  • 直接预测关系图中每一个node(网络)的accuracy
  • sample一些labeled样本和unlabeled样本一个batch的graph。
  • 网络关系图谱用Labeled训练集训练(半监督)
    • 训练同时优化Labeled node周围连边的非Labeled node的accuracy

实验

  • Autoencoder
    • 2Conv+FC
    • FC+2Conv
  • 性能预测器
    • 两层图网络
  • 把预测器放到RL或者EA里面替代evaluate
  • 在NASBench 1K个网络的accuracy可以很好地预测到94.01的网络(最好是94.41%)

评价

半监督为性能预测器打开了一个新的思路,采用图网络的解决方案是一个很不错的方向。之前学术十杰答辩的时候有人问到因为网络结构与网络性能之间的映射关系很不平坦,所以会有一些质疑,但是从实验结果来想,我认为统计上确实相似的网络有相似的性能。

论文笔记 《Neural-Hardware Architecture Search》

这篇论文是发表杂在NeurIPS 2019的《Neural-Hardware Architecture Search》。作者为我们的老朋友MIT的Song Han(韩松)组。第一作者为Yujun Lin,本科毕业于清华。

文章探索了NN网络结构与硬件架构的联合搜索方法,使用Evolution Algorithm来搜索硬件架构(HAS),NN这边使用One-shot hyper-net的方法搜索量化网络(QNAS)。

方法

搜索空间

  • 硬件是一个systolic-array-like architecture(MPA),包括5个可调节参数
    • #rows #cols 2x4->16x64
    • input/weight/output buffer size 128B->4096B,间隔4B
  • 网络是一个ResNet blocks的结构
    • kernel size 3\5
    • channels 0.125 0.25 0.5 1 1.5
    • each layer
      • activation 4/6/8 bits
      • weights 2/4/6 bits
    • identity/ residual blocks
      • 最大16blocks

搜索方法

  • 先HAS:硬件架构搜索

    • 在几个已有网络上进行搜索,目标是减少Energy-Delay Product
    • 采用进化算法
      • 根据各个搜索维度的mean和var随机生成一些样本
      • Evaluate这些样本,排序
      • 选择top-K重新计算mean和var
  • 后QNAS:神经网络搜索采用超网络

    • 训练一个大的超网络,它的子网络集合包含所有搜索空间中的网络
      • 大网络训练时间较长,且需要特殊的技巧来优化
    • Controller sample网络后,从超网络中取对应的weight,不需要重新训练
    • 采用标准进化算法进行sample
      • 先生成一些父代神经网络
      • 根据accuracy选择top-K作为

结果

  • HAS 1.1x speedup than human
  • QNAS 1.3x speedup than HAS

总结

这篇文章把硬件设计也题上议程,先HAS再QNAS,但是没有联合搜索。

“论文笔记:《Co-Exploration of Neural Architectures and Heterogeneous ASIC Accelerator Designs Targeting Multiple Tasks》”

这篇论文是2020年2月发表在arxiv的《Co-Exploration of Neural Architectures and Heterogeneous ASIC Accelerator Designs Targeting Multiple Tasks》。第一作者为圣母大学的博士后Lei Yang(杨蕾),她将于今年秋天加入墨西哥大学担任副教授;姜炜文、史弋宇为mentor,值得一提的是史教授就是去年那位在芝加哥利用“贪心算法”把持枪劫车匪徒抓获的老板。

作者提出了一个同时搜索神经网络的结构和硬件架构的方法NASAIC。
支持多个任务的DNN搜索,且支持异构硬件PE的搜索。这篇文章也对搜索空间进行了可视化,分析了搜索的好处。

方法

搜索框架

  • 给定多任务的workload W,最大化DNN网络的accuracy,并满足latency、energy、area和硬件使用量小于threshold
  • 加速器可以有多个sub-accelerators,每个sub-accelerators可以使用不同的dataflow,加速器按照DNN层进行前向预测
  • 多个任务使用执行不同的DNN,将DNNs的每个Layer分配到加速器的sub-accelerators上执行,计算reward

搜索空间

  • DNN
    • 为Workload中的每个Task $T_i\in W$ 搜索一个DNN $D_i=<B_i, L_i, H_i, acc_i>$
      • $B_i$为backbone
      • $L_i、H_i$为层数、每层的参数(channel size, 连接关系等)
    • 通过NAS去搜索$D_i$的参数$H_i$
  • ASIC Accelerator
    • 包含多个sub-accelerator,用NoC连接
    • 使用NAS搜索每个sub-accelerator的参数<dataflow,pe_number,noc_bandwidth>
      • dataflow可以选择shidiannao、NVDLA等
      • PE总数量限制小于4096
      • NoC总带宽限制小于64GB/s
    • memory buffer的大小根据最大化硬件利用率来

硬件性能评估

  • 使用MAESTRO(开源cost model)模拟,将网络层分配到硬件上执行,得到latency energy area

搜索方法

  • 用controller来sample每个network的结构和每个sub-accelerator的type和参数
  • 计算reward,并用policy gradient的方法更新controller
  • 交替搜索DNN和硬件
    • SA阶段:Neural Architecture exploration
    • SH阶段:Hardware design exploration

实验

  • 不同任务组合下的explore space
    • W1: CIFAR-10+Nuclei(segmentation)
    • W2: CIFAR-10+STL-10(classification)
    • W3: CIFAR-10
    • classification: ResNet-9架构
    • segmentation: UNet架构
    • sample 500个网络-每个网络sample 10种硬件设计
  • 观察
    • 最好的设计不一定最靠近限制线
    • 相比于NAS->ASIC和ASIC->HW-NAS,交替搜索能得到更好的效果
    • 异构设计比同构设计有优势

评价

多任务与异构神经网络的架构设计很有意思,虽然这篇文章只尝试了小数据集,但结果显示了异构设计的优势。

论文笔记 《Best of Both Worlds: AutoML Codesign of a CNN and its Hardware Accelerator》

这篇论文是2020年5月发表于arxiv的《Best of Both Worlds: AutoML Codesign of a CNN and its Hardware Accelerator》,作者是来自三星剑桥AI中心和牛津大学的研究员。第一作者是Mohamed S. Abdelfattah。通讯是牛津副教授Nicholas D. Lane(李克澜),做机器学习系统、手机传感器、边缘计算等,值得一提的是,Nicholas教授2011-2015在MSRA带过Mobile and Sensing Systems group (MASS)。

这篇文章对软件-硬件联合搜索进行了建模,使用强化学习搜索CNN网络结构和加速器硬件设计的参数,利用NASBench在CIFAR-10上比较了联合搜索、交替搜索和分离搜索三种搜索方式的优劣,最后再CIFAR-100上做了实验,使用1000个GPU hours搜索不错的网络。

方法

搜索框架

  • CNN和Hardware的搜索总空间为$S=O_{nn1}O_{nn2}…O_{hw1}O_{hw2}$
  • 目标为找到最优的参数,使得有Evaluate函数测试的overhead最小,$s^* = arg\min_{s\inS}E(s)$
  • 使用RL在空间S中进行搜索
    • 网络结构和google的NAS_RL一样,由Controller(RNN网络)一个个预测每一个参数
    • 优化算法使用policy gradient,更新的梯度为$\nabla_{\theta}\pi_{\theta}(s_t)E(s_t)$
  • Evaluate函数考虑accuracy、latency、area
    • 他们的weighted sum作为评分
    • $Evaluate(s)=w_a Norm(-area(s))+ w_l Norm(-lat(s))+ w_a Norm(acc(s))$
    • 其中Norm是(min,max)到(0,1)
  • Constraint
    • 对acc、lat和area有要求,如lat<一个值
    • 如果sample不满足constraint,则惩罚,reward为负分
      • Controller更不容易生成这些不满足条件的sample

CNN搜索空间

  • 采用了NASBench的搜索空间
    • 类似ResNet的结构,其中Block这里称作Cell的结构
    • 限制了最多7个operations、9个connections

硬件搜索空间

  • 采用了CHaiDNN库,能部署在FPGA上
    • Data buffer(调整depth)
    • 内外通信bandwidth
    • Conv Engine(调整 filter维度和pixel维度的并行度)
    • 1x1卷积和3x3卷积单元的比例
    • 是否使用片上Pooling单元

硬件性能评估

  • Area
    • 建模每个模块使用的CLB(configurable logic blocks)、DSP、BRAM与面积关系
    • 根据每个sample使用情况计算Area
    • 实际综合面积开销平均1.6%误差
  • Latency
    • FPGA上跑每个单元各自在不同配置下的时间,记录下来
    • 根据每个sample的模型查表直接计算Latency
    • 和实际有约15%的误差

NASBench探索

  • 将NASBench中的所有网络和所有硬件架构组合,产生3.7billion个数据。
  • 选取其中的Pareto-optimal画在一张图上,进行分析
    • 确实是一个三方向的trade-off
    • 只有0.0001%的样本在帕累托最优集上,因此手工设计是几乎不可能
    • 帕累托最优的不同网络的结构有136种和硬件架构有338种,说明没有能通吃的结构

设计搜索方法

  • Combined search: 一个controller,直接联合优化CNN结构和硬件
    • 效果最好
    • 但搜索空间大,收敛慢
  • Phase search: 两个controller,交替优化CNN结构和硬件
    • 效果稍微次于Combined search
    • 收敛更快
  • Separate search: 先CNN搜索,搜完之后再硬件搜索
    • 最好的10个网络里面,有8个没有满足lat和area的constraint
    • 不考虑硬件去搜索CNN结构,会导致硬件执行效率有很大的随机性

CIFAR-100实验

  • 用 performance/area 来evaluate网络
    • 训练过程中,逐渐加大performance/area的constraint
  • 使用Combined search,2300个sample
  • 平台:6x Machine x 8x Nvidia 1080 = 48Card
    • 共 ~1000GPU hours
  • 结果分析
    • 不使用pooling engine好
    • 硬件的设计和网络的需求很Match,data buffer刚好够

评价

这篇论文在硬件设计空间、硬件评估模型以及搜索策略上面都没有创新,算是延续了之前的设计。
亮点在于通过对于整个NASBench搜索空间的所有的网络拿出来进行了分析,并且给出了帕累托最优。证明了Codesign有很大潜力,并且搜索空间有规律性,人工设计效率低。

论文阅读: Device-Circuit-Architecture Co-Exploration for Computing-in-Memory Neural Accelerators

读了论文2020年5月发表在arxiv上的《Device-Circuit-Architecture Co-Exploration for Computing-in-Memory Neural Accelerators》(早期版本发表于19年11月),也是圣母大学史弋宇老师组的作品。第一作者为姜炜文,博士后,博士导师为匹兹堡大学的Jingtong Hu。

文章提出了搜索框架NACIM,对底层器件选用(device)、硬件架构设计(circuit)和神经网络结构(architecture)联合搜索,以得到最优的PIM神经网络加速器以及运行在上面的神经网络。在搜索时同时考虑了PIM硬件的variation。

方法

搜索空间

  • NN 神经网络结构
  • Quantization 量化
    • 每一层的Activation和Weight分别设定量化bitwidth
    • Integer(0-3bit) Fraction(0-6bit)
  • DataFlow
    • Weight/output/row stationary和no local reuse
    • 实际PIM适用于weight stationary
  • Circuit
    • PE、PE Array、buffer size、NoC bandwidth
  • Device
    • ReRAM, FeFET, STT-MRAM
    • 不同device有不同的random telegraph noise(RTN)

搜索方法

  • 交替搜索
    • explore NN+Quantization+Device
    • explore Quantization+Circuit

考虑PIM硬件的variation训练量化网络

  • 建模random telegraph noise(RTN)为高斯分布

硬件评估模型

  • 使用对Quantization支持的NeuroSIM建模

实验

  • CIFAR-10和Nuclei(segmentation)
    • CIFAR-10选用VGG-like Space(VLS)
    • Nuclei选用Encoder-Decoder Space(EDS)

评价

把搜索空间扩展到了器件层面,在训练过程中使用了针对器件随机误差的训练方法,大大减少了误差。虽然实验不多,但是很有开创性。

论文笔记 Comprehensive SNN Compression Using ADMM Optimization and Activity Regularization

阅读了19年挂在arxiv上的论文《Comprehensive SNN Compression Using ADMM Optimization and Activity Regularization》。这篇文章是清华李国齐组、UCSB谢源老师组、李鹏组做的。第一作者是UCSB的博士后Lei Deng。

这篇论文使用量化、剪枝和抑制Activity对SNN做压缩。量化和剪枝用的是ADMM,抑制Activity用的是加regularizaiton。直接在SNN上进行训练。

方法

剪枝

  • ADMM解带损失函数的sparse weight的问题。
  • 先进行ADMM重新训练、再进行Hard-pruning重训练
  • 训练采用STBP(AAAI 19)

量化

  • ADMM解带损失函数的对称quantization问题
  • 训练过程同剪枝

Activity Regularization

  • $\lambda R$作为正则化项,其中R是firing ratio

三种方法同时使用

  • 先ADMM剪枝的重训练
  • 再 ADMM 剪枝和量化的重训练
  • 最后 Hard-pruning-quantization 重训练

实验

  • 由于使用了STBP,在timesteps=10左右的时候效果都非常不错,CIFAR10在5层conv上能达到89%左右的top1
  • 效果好,4bit量化下基本保持精度 1bit(+1 -1) 2bit下CIFAR10掉不超过1个点
  • 提出了评价的不精确地Metric:剩余计算量$R_ops$
    • $R_ops=(1-s)b/B r/R = R_mem R_s$
    • b是bitwidth
    • s是sparsity
    • r是firing ratio
  • SNN在quantization上面,能比pruning降低更多计算量
  • 对于event-driven的N-MNIST来说,对于这些Compression更加敏感
    • 原因可能是信息分布到了哥哥time-step里面,由于内部稀疏的features的敏感性,时序分布的信息导致了准确率下降。(完全不懂在说什么)

评价

我想做的几个东西:activity regularization还有量化的优化,其实已经有人做好了。现在想来,这更像是工程的实现问题。至于需要研究的东西,比如event-driven的数据集为什么这么不中用、量化剪枝等方法为什么要这样融合、activity regularization如何给网络带来影响的(或者说firing ratio的影响),需要接下来的工作解释清楚。我想可以把着力点放在这些问题上面,对SNN有怀疑,那就通过科学的研究来杀死它;对SNN抱有希望,那就提出新的方法来超越原来的方法。

论文笔记: Loihi: a Neuromorphic Manycore Processor with On-Chip Learning

读了论文发表于18年IEEE MICRO(期刊,不是MICRO会议)的论文《Loihi: a Neuromorphic Manycore Processor with On-Chip Learning》,这篇文章是Intel做的Loihi芯片的论文,第一作者是Mike Davies, Director, Neuromorphic Computing Lab, Intel. 第二作者是Narayan Srinivasa, Director, Machine Intelligence Research Programs at Intel Labs. 第三作者是Tsung-Han Lin,Research Scientist at Intel Labs.

这篇论文讲了Intel的Loihi芯片的特性,包括层级化的连接、突触延时、学习算法等。还展示了Loihi芯片在解LASSO问题的EDP(能量-延迟积)小的算法,为反对SNN怀疑论者提供了一个论据。

设计

Loihi采用的是异构设计,一片60mm^2的Chip(14nm)由128个Neuromorphic Core、3个嵌入式X86核、片下通信接口组成。一个Chip上的Core可以更多,多个Chip也可以组成更大的network,其mesh protocal最多支持4096 on-chip cores,最多16384个chips。

计算Core

  • 每个核心可以支持1024个neuron(文章里叫compartments,理解成可以重复使用(类似于卷积kernel)的单元),这些neuron被组织成一些包含多个Neuron的树。
  • 每个neuron都有输入Axon(fan-in)和输出(fan-out)的连接
  • neuron共享10个体系结构意义上的存储器,这些存储器保存了share configuration and state variables
  • 每个SNN时间步(time-steps)这些neuron流水式的进行计算、更新存储器
  • 当膜电位超过阈值,产生spike,这些spike被传输到目的cores的一系列fan-out模块上
  • 每个Core包含一个学习模块,可以使用local记录的spike train + 传递的reward spiking来调整权重(算法可编程)

计算Core的特殊设计

  • Sparse network compression
    • 支持三种压缩模型
    • fan-out neuron indices,index state被存在突触的状态变量里面
  • Core-to-core multicast.
    • direct a single spike to any number of destination cores
  • Variable synaptic formats
    • 权重可以1-9bit量化(signed或者un-signed),还可以不同neuron不同bitwidth,非常灵活
  • Population-based hierarchical connectivity
    • 使用connectivity templates(一个weight-sharing机制)
    • 可以很好支持卷积,大幅度reduce a network’s required connectivity resources

NoC

  • 异步NoC进行Core间通信
  • 支持核心控制以及x86-x86信息的:写、读请求、读response信息
  • 支持spiking信息的传递
  • 支持为支持Cores时间同步的barrier message的传递

评价

不愧是Intel,Loihi的架构设计应该是非常成熟了,很多最关键的问题(比如权重复用和解决高度sparse的异步计算问题)都考虑到了。相对于ANN的加速器起来说,为什么一定要设计成把每个Neuron分配到Core上面去这种形式?其实值得商榷,可能有很多数据搬运的问题,是不是有文章探讨这个问题呢?但是SNN最大的问题还是应用,文章使用的解LASSO的算法,我甚至觉得有点心疼,只能比EDP这种东西,根本上算法性能比不过,非常尴尬。文章说:”its flexibility might go too far, while in others, not far enough.”。作者的想法是:看到ANN有了大的算力,才有产生质的突破;SNN会不会是这样呢?那就先把芯片造出来!也许科学研究就是这样,大部分都不会成功,但是必须边走边看吧,无数失败的东西里面总会有成功的一个。不喊加油了,就只是祈望这条路是可行的。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×