当前位置: 首页 > article >正文

完全开源的语言模型学习记录--TrilinearCIM架构

文章目录在这里插入图片描述一、一段话总结二、思维导图三、详细总结1. 研究动机与问题2. 核心技术方案3. 评估与结果4. 贡献与结论四、关键问题与答案https://arxiv.org/pdf/2604.07628Trilinear Compute-in-Memory Architecture for Energy-Efficient Transformer Acceleration一、一段话总结本文提出TrilinearCIM架构基于双栅铁电场效应晶体管DG‑FeFET通过背栅调制实现三操作数乘累加在无需运行时非易失性存储器NVM重编程的情况下完成Transformer自注意力全流程计算在BERT‑base与ViT‑base上验证相比传统FeFET CIM实现最高46.6%能耗降低、20.4%延迟降低9项GLUE任务中7项精度更优是首个纯NVM核内完成Transformer注意力计算的架构。二、思维导图## **研究背景** - Transformer自注意力O(N²)复杂度、动态Q/K/V - 传统CIM局限双操作数、需反复NVM写入 - 现有方案混合CMOS/降写入但未根除 ## **核心创新** - 器件DG‑FeFET顶栅存权重、背栅动态调制 - 算子三操作数MACA·B·C - 数据流融合投影与注意力、消除中间张量存储 ## **架构设计** - 层级芯片→Tile→PE→SubArray - 阵列无选择器结构、两种三线性配置 - 数字单元Softmax/LayerNorm/GELU专用SFU ## **评估框架** - TransCIM基于NeuroSim扩展、支持精度/PPA建模 - 配置7nm CMOS22nm FeFET、8bit输入权重 ## **实验结果** - 精度GLUE 7/9任务优于双线性CIM - PPA能耗-46.6%、延迟-20.4%、面积37.3% - 消融1b/6b最优精度、32×32最优延迟 ## **优势与局限** - 优势零写入、高能效、长序列友好 - 局限ViT精度下降、需硬件验证三、详细总结1. 研究动机与问题Transformer自注意力生成动态Q/K/V矩阵传统CIM需反复NVM重编程导致延迟高、能耗大、耐久性差。FeFET读写不对称写入延迟50ns、读取10ns写入能耗亚pJ级、读取fJ级。BERT‑base单次推理需**~75.5M次写入**严重限制器件寿命。2. 核心技术方案1器件基础DG‑FeFET顶栅TG非易失性存储静态权重。背栅BG挥发性电压调制沟道电导提供第三操作数通路。电导特性G D S ( V B G ) ≈ G 0 ⋅ ( 1 η B G ⋅ V B G ) G_{DS}(V_{BG})≈G_0·(1η_{BG}·V_{BG})GDS​(VBG​)≈G0​⋅(1ηBG​⋅VBG​)工作区间G 0 ∈ [ 29 , 69 ] μ S G_0∈[29,69]μSG0​∈[29,69]μSη ˉ B G 0.157 V − 1 \bar{η}_{BG}0.157V^{-1}ηˉ​BG​0.157V−1。2三线性CIM原语实现三操作数乘累加YA·B·C替代传统双操作数输入·权重。权重一次性编程动态操作数通过背栅电压传入全程无NVM写入。3注意力数据流缩放Query生成R 1 X ⋅ W Q T / d k R_1X·W_Q^T/\sqrt{d_k}R1​X⋅WQT​/dk​​注意力分数合成R 2 R 1 ⋅ W K ⋅ X T R_2R_1·W_K·X^TR2​R1​⋅WK​⋅XTValue聚合R e s u l t S c o r e ⋅ X ⋅ W V T ResultScore·X·W_V^TResultScore⋅X⋅WVT​优势消除中间Q/K/V存储缓冲区需求降低**~3倍**。4硬件架构层级芯片级2×2 Tile→Tile级2×2 PE→PE级2×2 Array。阵列无选择器DG‑FeFET交叉阵列列级背栅驱动与DAC。数字单元专用SFU执行Softmax、LayerNorm、GELU。3. 评估与结果1实验配置模型BERT‑base、ViT‑base数据集GLUE、ImageNet/CIFAR。工艺7nm CMOS 22nm FeFET阵列64×64精度8bit输入/权重。2精度结果任务类型对比结果GLUE9项TrilinearCIM在7项优于双线性CIMMNLI3.14%、QNLI3.74%视觉任务TrilinearCIM略低于双线性因背栅DAC量化扭曲注意力峰值3PPA结果BERT‑base序列长度指标双线性三线性变化64延迟(ms)7.636.08-20.4%64能耗(μJ)1522813-46.6%128延迟(ms)8.196.67-18.6%128能耗(μJ)31321889-39.7%-面积--37.3%-TOPS/W9.6813.4739.2%4消融实验子阵列32×32延迟**-40.9%**64×64能效更高。精度1b/6b为最优精度点能耗-37.5%、延迟-26.0%、面积32.4%。序列长度越长三线性零写入优势越显著。4. 贡献与结论首次实现纯NVM核内Transformer注意力计算零运行时重编程。能效、延迟显著提升面积开销可控。更适合NLP长序列场景视觉任务需算法优化。四、关键问题与答案TrilinearCIM的核心创新点是什么答核心创新是基于DG‑FeFET的三操作数CIM原语利用背栅调制提供第三操作数通路将静态权重存于顶栅、动态操作数以背栅电压传入完全消除Transformer注意力推理时的NVM写入同时融合投影与注意力步骤降低缓冲区需求约3倍。TrilinearCIM相比传统CIM的性能收益与代价是什么答收益为最高46.6%能耗降低、20.4%延迟降低、TOPS/W提升39.2%9项GLUE任务7项精度更优代价是37.3%面积增加ViT视觉任务精度因背栅DAC量化有所下降。为何TrilinearCIM在NLP任务表现更好而视觉任务稍弱答NLP任务对噪声鲁棒性强小扰动不改变注意力结果ViT注意力分布稀疏、存在高幅值峰值背栅DAC的均匀量化会扭曲关键峰值且ViT激活通道方差更大放大量化误差导致精度下降。》实战测试随着序列长度以及隐藏层维度的升高虽然内存下降但是时耗明显增高importnumpyasnpimporttime# -----------------------------------------------------------------------------# 优化版传统注意力高维 长序列 专用# -----------------------------------------------------------------------------deftraditional_attention_fast(X,Wq,Wk,Wv,d_k,block512):N,dX.shape outnp.zeros((N,d_k),dtypenp.float16)foriinrange(0,N,block):XiX[i:iblock]QiXi Wq.T KiX Wk.T ViX Wv.T score(Qi Ki.T)/np.sqrt(d_k)attnnp.exp(score)/np.sum(np.exp(score),axis-1,keepdimsTrue)out[i:iblock]attn Vireturnout# -----------------------------------------------------------------------------# 极速版TrilinearCIM 注意力高维最强不生成Q/K/V# -----------------------------------------------------------------------------deftrilinear_attention_fast(X,Wq,Wk,Wv,d_k,block512):N,dX.shape outnp.zeros((N,d_k),dtypenp.float16)foriinrange(0,N,block):XiX[i:iblock]R1i(Xi Wq.T)/np.sqrt(d_k)scoreR1i Wk X.T attnnp.exp(score)/np.sum(np.exp(score),axis-1,keepdimsTrue)out[i:iblock]attn X Wv.Treturnout# -----------------------------------------------------------------------------# 测试长序列 1w 高维度 768/1024# -----------------------------------------------------------------------------if__name____main__:SEQ_LEN10000HIDDEN_DIM128# 你可以改成 512/768/1024 测试D_K64print(f序列长度{SEQ_LEN})print(f隐藏维度{HIDDEN_DIM})# 数据Xnp.random.randn(SEQ_LEN,HIDDEN_DIM).astype(np.float16)Wqnp.random.randn(D_K,HIDDEN_DIM).astype(np.float16)Wknp.random.randn(D_K,HIDDEN_DIM).astype(np.float16)Wvnp.random.randn(D_K,HIDDEN_DIM).astype(np.float16)# 传统t0time.time()out_tradtraditional_attention_fast(X,Wq,Wk,Wv,D_K)t1time.time()# 三线性out_tritrilinear_attention_fast(X,Wq,Wk,Wv,D_K)t2time.time()# 对比print(f\n传统耗时{t1-t0:.2f}s)print(f三线性耗时{t2-t1:.2f}s)print(f 三线性 加速比{(t1-t0)/(t2-t1):.2f}x)# cpu测试结果传统耗时126.50s 三线性耗时796.03s 三线性 加速比0.16xgpuimporttorchimporttime# 检查GPUdevicetorch.device(cudaiftorch.cuda.is_available()elsecpu)print(使用设备:,device)# -----------------------------------------------------------------------------# 传统注意力GPU# -----------------------------------------------------------------------------deftraditional_attention_gpu(X,Wq,Wk,Wv,d_k):QX Wq.T KX Wk.T VX Wv.T score(Q K.T)/torch.sqrt(torch.tensor(d_k,dtypeX.dtype))attntorch.softmax(score,dim-1)outattn Vreturnout# -----------------------------------------------------------------------------# TrilinearCIM 三线性注意力GPU无Q/K/V中间张量# -----------------------------------------------------------------------------deftrilinear_attention_gpu(X,Wq,Wk,Wv,d_k):R1(X Wq.T)/torch.sqrt(torch.tensor(d_k,dtypeX.dtype))scoreR1 Wk X.T attntorch.softmax(score,dim-1)outattn X Wv.Treturnout# -----------------------------------------------------------------------------# 超长篇 高维度 测试# -----------------------------------------------------------------------------if__name____main__:# 长序列 高维度SEQ_LEN10000HIDDEN_DIM2048# BERT-base 维度可改 1024D_K64# 数据放到 GPUXtorch.randn(SEQ_LEN,HIDDEN_DIM,devicedevice,dtypetorch.float16)Wqtorch.randn(D_K,HIDDEN_DIM,devicedevice,dtypetorch.float16)Wktorch.randn(D_K,HIDDEN_DIM,devicedevice,dtypetorch.float16)Wvtorch.randn(D_K,HIDDEN_DIM,devicedevice,dtypetorch.float16)torch.cuda.synchronize()t0time.time()# 传统out_tradtraditional_attention_gpu(X,Wq,Wk,Wv,D_K)torch.cuda.synchronize()t1time.time()# 三线性out_tritrilinear_attention_gpu(X,Wq,Wk,Wv,D_K)torch.cuda.synchronize()t2time.time()# 误差abs_errtorch.abs(out_trad-out_tri).mean().item()rel_errabs_err/torch.abs(out_trad).mean().item()# 输出结果print(f\n 序列长度{SEQ_LEN}| 维度{HIDDEN_DIM}| GPU 对比)print(f传统耗时 :{t1-t0:.3f}s)print(f三线性耗时 :{t2-t1:.3f}s)print(f 加速比 :{((t1-t0)/(t2-t1)):.2f}x)print(f平均绝对误差:{abs_err:.6f})print(f平均相对误差:{rel_err:.2%})序列长度10000|维度2048|GPU 对比 传统耗时:0.001s 三线性耗时:0.010s 加速比:0.13x 平均绝对误差: nan 平均相对误差: nan%

相关文章:

完全开源的语言模型学习记录--TrilinearCIM架构

文章目录在这里插入图片描述一、一段话总结二、思维导图三、详细总结1. 研究动机与问题2. 核心技术方案3. 评估与结果4. 贡献与结论四、关键问题与答案https://arxiv.org/pdf/2604.07628 Trilinear Compute-in-Memory Architecture for Energy-Efficient Transformer Accelerat…...

Google ADK:代码优先的AI Agent开发框架,构建可维护的智能体应用

1. 项目概述:为什么我们需要一个“代码优先”的Agent框架? 如果你和我一样,在过去一两年里尝试过构建AI Agent应用,大概率经历过这样的场景:一开始兴致勃勃,用LangChain或者AutoGen这类流行框架快速搭了个…...

Playwright Nodejs 自动化测试工具

官网地址 playwright.dev/docs/api/cl… 安装​ 通过使用 npm 或 yarn 安装 Playwright 开始。或者,也可以使用 VS Code 扩展开始并运行我们的测试。 使用 yarn 或 npm 安装: npm init playwrightlatest 在安装过程中 playwright 脚手架会向我们询…...

MAC使用

1. 快捷键公司电脑的主机是Macmini,快捷键和win不太一样。操作Mac 原生Windows 原生复制Command (⌘) CCtrl C粘贴Command (⌘) VCtrl V剪切Command (⌘) XCtrl X撤销Command (⌘) ZCtrl Z保存Command (⌘) SCtrl S截图:区域Shift Command (⌘…...

keysight N9040B是德 UXA 频谱分析仪 2 Hz 至 50 GHz

N9040B UXA信号分析仪的性能让您能够表征当今*挑战性的信号,包括5G、802 .11ax /ay、电子战等应用中的快速跳频、宽带和瞬态信号。通过优异的相位噪声性能和宽广的无杂散动态范围,您可以全面了解您的设计纯度。 Keysight N9040B UXA信号分析仪 主要特性和…...

Open XML SDK 完全指南:告别手动处理Office文档的烦恼

Open XML SDK 完全指南:告别手动处理Office文档的烦恼 【免费下载链接】Open-XML-SDK Open XML SDK by Microsoft 项目地址: https://gitcode.com/gh_mirrors/op/Open-XML-SDK 还在为每天重复的Word、Excel、PowerPoint文档操作而苦恼吗?手动调整…...

800V高压锂电池生产厂家推荐(工业级与特种定制方案解析)【浩博电池】

800V高压锂电池生产厂家推荐(工业级与特种定制方案解析)随着电动化与无人化设备的发展,800V高压锂电池正从新能源汽车领域快速扩展至工程机械、无人车辆、无人船、工业机器人及高端储能系统。相比传统400V系统,800V平台具备高效率…...

py每日spider案例之bubu影视视频链接参数逆向(wasm技术 难度中等)

逆向接口: 加密入口: js逆向代码: const fs = require(fs); const path = require(path);...

普通人也能做!AI+抖音生态:音乐、短剧、小说三大变现赛道全攻略

普通人零门槛入局内容创作:AI抖音相关平台新手指南 不用专业技能、不用大额投入,借助AI工具抖音旗下相关平台,普通人也能快速入局内容创作,音乐、短剧、小说三大方向,从注册到产出一步到位,新手友好易上手&…...

高效实现分组内跨行时间戳匹配:为每组生成布尔标记列 user_rejects

...

Hydra:面向超级个体的分布式操作系统基座设计与实战

1. 项目概述:一个人的“军事”工业基座如果你是一个对数据有极强掌控欲的“TJ”型人格,或者你正试图以一人之力运营一个需要处理海量信息、调度复杂任务、构建智能决策的“超级个体”项目,那么你很可能和我一样,长期被一个核心矛盾…...

mysql如何防止用户通过子查询窃取权限_MySQL安全参数设置

...

【GEO】为什么很多本地生活商家接不住 AI 流量?问题不在曝光,而在“临门一脚”

为什么很多本地生活商家接不住 AI 流量?问题不在曝光,而在“临门一脚”在过去一年里,很多本地生活商家都有一个共同感受:平台在变,流量在变,用户越来越习惯直接问 AI。但奇怪的是—— 明明门店信息、点评、…...

多项式特征变换在机器学习中的实践指南

1. 多项式特征变换在机器学习中的应用价值在机器学习实践中,我们常常会遇到这样的困境:输入特征之间存在着复杂的非线性关系,而简单的线性模型无法有效捕捉这些关系。这时候,多项式特征变换就成为了一个强有力的工具。通过将原始特…...

HTTP和HTTPS的区别深度剖析:从原理到实际应用

HTTP和HTTPS的区别深度剖析:从原理到实际应用 在互联网通信中,HTTP和HTTPS是最基础也最核心的协议,承载着我们日常浏览网页、传输数据的全部需求。很多人只知道“HTTPS比HTTP安全”,却不清楚两者的本质差异、加密原理以及背后的设…...

GetQzonehistory:5分钟永久保存QQ空间说说的终极解决方案

GetQzonehistory:5分钟永久保存QQ空间说说的终极解决方案 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 在数字记忆时代,QQ空间承载了无数人的青春回忆&#xf…...

Weka机器学习工具实战:7种高效求助与问题解决指南

1. 项目概述Weka作为一款开源的机器学习工具集,自1997年由怀卡托大学开发以来,已成为学术界和工业界广泛使用的数据挖掘平台。但在实际应用中,许多用户(尤其是初学者)常面临文档晦涩、社区响应慢、问题排查困难等挑战。…...

无需越狱!用Misaka彻底解放iPhone和tvOS个性化定制能力 [特殊字符]

无需越狱!用Misaka彻底解放iPhone和tvOS个性化定制能力 🚀 【免费下载链接】misaka iOS & tvOS customisation tool for KFD & MDC 项目地址: https://gitcode.com/gh_mirrors/mis/misaka 想让你的iPhone焕然一新却不想冒险越狱&#xf…...

matlab/simulink光伏储能并网交直流发电系统仿真模型,2018a版本

matlab/simulink光伏储能并网交直流发电系统仿真模型,2018a版本,2021a版本 1)光伏采用扰动观察法最大功率跟踪 2)蓄电池为双向DC-DC变换器,采用电压环和电流环控制的双闭环控制,且电流环和电压环均采用PI调…...

第六章 电感

一 什么是电感特性:电感两端的电流不能突变构成:电感通常由线圈、磁芯和绝缘层组成1.1 空芯电感:这个电感没有磁芯1.2 加磁芯电钢:通过加磁芯得到了大的电感量1.3 屏蔽型电感:电感的磁场不发散,对外没有干扰…...

飞书多维表API:三种数据筛选策略的性能与场景抉择

1. 飞书多维表API数据筛选的三种策略解析 第一次接触飞书多维表API时,最让我头疼的就是数据筛选问题。记得去年做电商数据分析系统时,运营团队每天需要从近10万条订单记录中提取特定平台的数据。最初简单粗暴地全量拉取数据,结果接口响应慢得…...

ChatGPT高效生成技术图表:原理与实践指南

1. 项目概述:用ChatGPT生成专业图表在技术文档编写、项目汇报或学术论文撰写过程中,可视化图表往往是最费时的环节之一。传统图表制作需要经历数据整理、工具学习、样式调整等多个步骤,而"Generating Diagrams with ChatGPT"这个方…...

多行业CCD图像传感器应用指南及厂家技术参考

CCD图像传感器在当今的图像采集和处理领域扮演着至关重要的角色。它广泛应用于工业检测、安防监控、医疗成像等众多行业。其能够将光学图像转化为电信号,为后续的图像分析和处理提供基础,是推动这些行业发展的关键技术组件之一。推荐一:迈欣机…...

从‘虹猫蓝兔’到终身学习:聊聊Continual Learning如何让AI模型像人一样成长

从‘虹猫蓝兔’到终身学习:Continual Learning如何重塑AI进化之路 当《虹猫蓝兔七侠传》中的主角需要识别新出现的"虹猫"品种时,传统AI模型会陷入尴尬境地——要么遗忘所有已学会的猫品种特征重新训练,要么固执地拒绝承认这个新物种…...

源代码论文分享|这份欢迪迈手机商城设计与开发系统资料,真的挺适合拿来学习和参考!

做课程设计或者毕业设计的时候,很多人真正缺的不是“资料”,而是一份能看、能学、能改、还能帮自己理清思路的完整项目。尤其是做商城系统这种题目,网上看起来资源很多,但真正靠谱的,往往不是只有页面截图,…...

LLM 推理性能深潜:为什么 L20 跑不过 A800?——从带宽瓶颈到多并发调优

核心观点:LLM 的 Decode(生成)阶段是典型的 Memory Bandwidth Bound(显存带宽密集型) 任务。GPU 大部分时间不是在“计算”,而是在“搬运数据”。带宽决定了上限,Batch Size 决定了并发效率。1.…...

嵌入式机器人开发实战:从零到整的20个STM32F4核心示例深度解析

嵌入式机器人开发实战:从零到整的20个STM32F4核心示例深度解析 【免费下载链接】Development-Board-C-Examples 项目地址: https://gitcode.com/gh_mirrors/de/Development-Board-C-Examples 对于想要系统掌握机器人嵌入式开发的中级开发者而言,…...

第21章信息物理系统分析与设计

知识框架:1.信息物理系统概述:信息物理系统的定义信息物理系统的特征信息物理系统的发展2.信息物理系统架构:CPS架构模型CPS架构层次CPS架构参考模型3.信息物理系统关键技术:感知技术通信技术计算机技术控制技术4.信息物理系统设计…...

JavaScript 循环机制深度解析

JavaScript 循环机制深度解析 概述 在编程中,循环(Loop)是一种基本的控制结构,它允许程序重复执行一段代码,直到满足某个条件。在JavaScript中,循环是处理重复性任务的关键工具。本文将深入探讨JavaScript中的循环机制,包括其类型、用法和最佳实践。 循环的类型 Jav…...

固态硬盘(SSD)优化特辑:TRIM、预留空间与垃圾回收

固态硬盘(SSD)优化特辑:TRIM、预留空间与垃圾回收 上周帮同事排查一个诡异的问题:新装的NVMe SSD,连续写入大文件时速度曲线像过山车——开始能跑满3.5GB/s,十几秒后骤降到几百MB,停顿几秒又突然恢复。他第一反应是散热问题,加了散热片也没改善。我让他跑了个fsutil beha…...