加载中...
SRAM verilog behavior model写法
以https://github.com/arktur04/SRAM提供的SRAM行为模型为例。下图展示了它的仿真结果。该SRAM不涉及时钟其端口定义如下图所示
VLSI2024-功耗事件监测的TinyML SoC
A Heterogeneous TinyML SoC with Energy-Event-Performance-Aware Management and Compute-in-Memory Two-Stage Event-Driven Wakeup对各个异构的模块进行最低能耗点minimum energy point(MEP)搜索。 从上图可见,整个系统架构包含always-on的Cortex-M0 CPU与DNN accelerator用于进行KWS的inference。In-house DSP用于进行声音信号的处理以及一个Cortex-M4 CPU用于进行回声消除。ULL SRAM用于存储always-on模块所必须的数据。 它们设计的Energy-Event-Performance-Aware Manage可用于实时监测系统功耗。根据检测到的电压,运行时间以及关键信号toggle数目来估测整个系统的功耗,准确率大于95%。 该工作的hierarchical voltage regulation由一个全局的switched capacitor voltage regulato ...
CVPR2024 异质联邦学习中从server到client的高效知识传输模式
An Upload-Efficient Scheme for Transferring Knowledge From a Server-side Pre-trained Generator to Clients in Heterogeneous Federated Learning作者来自上海交大 首先说一下联邦学习 (Federated Learning)的优势,以mobile device为训练核,直接从real world data训练,而不是从网上随便就能找到的proxy data进行训练。 异质联邦学习(heterogenous Federated Learning)中,每一个client都拥有不同的网络结构,甚至于执行不同的任务。怎样在这些不同的client之间进行knowledge sharing成为了一个巨大的挑战。作者遍提出了一个upload-efficient knowledge transfer scheme —— Federated Knowledge-Transfer Loop(FedKTL)。 Federated Learning发展脉络: 最早期:Tra ...
ISAMSR论文整理
2024HPCA——BeaconGNN
BeaconGNN: Large-Scale GNN Acceleration with Out-of-Order Streaming In-Storage Computing该篇文章由UCLA与北京大学联合发表,主要介绍了一种名为 BeaconGNN 的新型计算架构设计,旨在加速大规模图神经网络(GNN)的处理。该设计利用存内计算(In-storage Computing, ISC),并针对 GNN 的特定需求进行了优化,以提高吞吐量和能效,也是从三个层面优化I/O access:controller,channel和die。 研究背景图神经网络(GNN)在复杂关系和依赖性分析中表现出色,但数据准备阶段(如图采样和特征表查询)会导致大量数据在存储和处理器之间传输,带来巨大 I/O 带宽压力。现有的 ISC 解决方案在处理 GNN 任务时存在一些问题,如严格顺序的邻居采样、与闪存访问粒度不匹配的 I/O 请求大小以及依赖固件处理导致的 I/O 限制。 研究目标提出一种能充分利用闪存内部并行性的 ISC 设计,以支持大规模 GNN 的数据结构和特征表。解决现有 ISC 设计在处理 GNN ...
Diffusion model on the edge
ACCV2024 G. Kim etc. Diffusion Model Compression for Image-to-Image Translation提到压缩模型的办法主要可以分为:1. 减少denoising iteration的次数 2. 降低model footprint 这里的model footprint作何解释?后文提到:larger models demand larger GPU and more computation during inference, limit deployment on smaller computation platforms, and substantially increase the carbon footprint.故这里的model footprint主要的意思是模型运行的开销。 CVPR2024: DeepCache目标:在去噪过程中的每一步中减少模型的大小。之前的work涉及到对模型的重新训练,会让整个压缩过程开销较高。 利用了去噪过程中模型深层特征的相似性,通过缓存(Cache)来避免重新计算网络中的深层特征,仅 ...
DAC2024_11_HybLearn
浮点数处理技术
浮点数处理技术当mantissa为0, exponents不为0时,浮点数表示什么?Status信号通常用于表示运算过程中的状态或异常情况 具体解释如下| Bit 名称 | 含义解释 || —————— | ———————————————————————————————————- || zero | 结果为零。表示浮点运算结果是精确的 ±0,可能是因为下溢、抵消或特定计算结果。例如:1e-200 * 1e-200 → 0 || Infinity | 结果为正无穷或负无穷。通常是除以零或溢出导致的。例如:1.0 / 0.0 → ∞,或某些过大的乘法结果 || Invalid | 无效操作。表示非法的浮点操作,如 0/0、∞ - ∞、sqrt(-1),或 NaN 传播等 || Tiny | 下溢(subnormal)。表示运算结果非常接近于零,精度不够而进入非正规数范围( ...
你只需要加法——用整数加法运算逼近浮点数乘法
你只需要加法——用整数加法运算逼近浮点数乘法本文由加州的BitEnergy AI公司提出文章名为:Addition is All You Need for Energy-Efficient Language Models 首先抛出一个论点:用Int32加法操作来预测Fp32浮点数操作仅仅消耗原来的2.7%的功耗。 作者的实验很有说服力,把transformer-based LLMs中的乘法操作全部替换为L-Mul,几乎不产生精度损失。 其将标准的浮点数乘法:替换为: 实际部署时,需要额外用于加l(m)的加法器,和处理偏置f1和f2的加法器。 问:该方法和adderNet有什么区别
数字设计中的一些小tips
数字设计中的一些小tipsCKMUX与MUX的区别在哪?CKMUX专门用于时钟信号的选通,以TSMC 28nm下CKMUX2D0BWP12T30P140器件为例,其具体参数如下:standard cell高度为1.2$\mu m$,器件宽度:0.98$\mu m$average leakage power为4.7nW. 驱动一个小于$8.1fF$的负载时从低电平到高电平:从端口I0到端口Z的Propagation Delay为:$0.017+3.290\times C{load}$ ns.相应的功耗为:$0.81+11\times C{load}$ fJ.从高电平到低电平:Propagation Delay为:$0.0186+3.718\times C{load}$ ns.功耗为:$1.4+9.1\times C{load}$ fJ. 对比MUX2D0BWP12T30P140器件:standard cell高度为1.2$\mu m$,器件宽度:0.98$\mu m$average leakage power为4.7nW. 驱动一个小于$1.21fF$的负载时从低电平到高电平:从端口I0 ...
ISSCC2024_302_SNN存内计算与time_step_first数据流
ISSCC2024 30.2 SSN,存内计算与time step first数据流提出的Comprehensively Data-Stationary(CDS)包含四个sparsity-aware IMC核。他们的sparsity-aware核可以根据input spike sparsity动态地调整功耗和计算时间。第三个创新点为multi-level clock gating与异步时序电路协议——用于减少dark silicon的功耗。
反向传播需要的内存统计
反向传播需要的内存统计考虑三层的全连接层: 输出节点数为$K$,输出$o^k=[o_1^k,o_2^k,o_3^k,…,o_k^k]$倒数第二层节点数为$J$,输出为$o^J=[o_1^J,o_2^J,o_3^J,…,o_J^J]$倒数第三层节点数为$I$,输出为$o^I=[o_1^I,o_2^I,o_3^I,…,o_I^I]$ $t_1$到$t_K$为真实标签。 loss计算为$\delta=\sum \limits_{k}(o_k-t_k)^2$ 之后取均方误差$L=\delta^2/2$ 求导后得,因为$w_{jk}$只与$o_k$有关,所以上面的求和符号可以去掉。 \frac{\partial L}{\partial w_{jk}}=(o_k-t_k)\frac{\partial o_k}{\partial w_{jk}}代入$o_k=\sigma(z_k)$,Sigmoid函数的倒数为$\sigma’=\sigma(1-\sigma)$,最终可得 \frac{\partial L}{\partial w_{jk}}=(o_k-t_k)o_k(1-o_k)\cdot ...
公告
欢迎来到我的博客,这里会定期更新有关神经网络算法与芯片设计技术相关的内容,希望你能得到收获\\\x7e ☀️### 公告