用于大型语言模型中旋转位置嵌入的随机计算硬件加速器

《Integration》:A stochastic-computing hardware accelerator for rotary position embedding in large language models

【字体: 大 中 小 】 时间:2026年10月28日 来源:Integration 2.5

编辑推荐:

  •首个用于旋转位置编码(RoPE)的随机计算(SC)加速器。 •共享Sobol源、64项cos/sin查找表以及公共移位Q5.8归一化。 •相比五次迭代的CORDIC,节省58.8%面积、88.3%功耗和86.2%峰值功耗。 •实测成本:每次旋转92.9倍实时延迟和30.2倍能量

  •首个用于旋转位置编码(RoPE)的随机计算(SC)加速器。
•共享Sobol源、64项cos/sin查找表以及公共移位Q5.8归一化。
•相比五次迭代的CORDIC,节省58.8%面积、88.3%功耗和86.2%峰值功耗。
•实测成本:每次旋转92.9倍实时延迟和30.2倍能量。
•在N=256时,困惑度分别增加0.37%(TinyLlama-1.1B)和1.80%(Qwen2.5-0.5B)。

引言

近年来,基于Transformer的大型语言模型(LLMs)在自然语言处理、代码生成、多模态理解及相关领域取得了快速进展。主流模型如LLaMA [1]、PaLM [2]、Qwen [3]和DeepSeek [4]普遍采用旋转位置编码(RoPE)[5]作为将位置信息注入注意力模块的机制。通过对查询和键向量施加依赖于位置的旋转矩阵,RoPE使得注意力分数仅通过相对偏移依赖于令牌位置,并且无需增加可训练参数。

然而,从硬件实现的角度来看,RoPE是LLM推理流水线中一个不可忽视的算子。对于具有上下文长度Nseq和头维度2D的LLM,每个令牌的每个查询/键向量都必须执行D次二维旋转,这涉及大量sin/cos计算和乘累加操作。例如,在LLaMA2-7B中,仅查询就需要每个注意力头进行64次二维旋转;对于32个头和32层,这相当于每个令牌的查询需要64×32×32=65,536次旋转,键也需要同样多的旋转,因此RoPE的面积和功耗开销不可忽略。对扩散类生成模型(如Flux [6])的分析表明,RoPE相关计算约占总向量运算成本的44%,成为注意力流水线之外的主要性能瓶颈之一。

Li等人[7]在IEEE JETCAS 2025上提出了首个专用于RoPE的硬件设计。其核心思想是利用CORDIC(坐标旋转数字计算机)算法的迭代向量旋转特性来近似RoPE,并将量化缩放因子与CORDIC缩放因子融合以消除乘法。然而,CORDIC方案存在两个局限性。第一,在P=32的并行阵列中,纯组合逻辑展开的CORDIC单元(UCU)会导致数千比特同时翻转,产生较大的每周期功耗峰值。第二,CORDIC在旋转模式下的收敛角域固定为约±1.74弧度,而累积的RoPE角度可达数千弧度,必须配备辅助象限折叠和预旋转电路;同时,较小的迭代次数(如I=5)会留下最大达arctan(2^?(I?1))=arctan(2^?4)≈3.6°的残余角度误差,因此需要更深的迭代来保证精度。这两个局限性使得CORDIC-RoPE不适合具有严格峰值功耗预算的部署场景,例如边缘和可穿戴设备。

随机计算(SC)[8], [9]是一种非常规计算范式,将值编码为0和1的随机比特流,其中值由整个比特流中观察到1的概率表示。由于其面积小、抗干扰能力强和每周期翻转次数低,随机计算已广泛应用于神经网络、信号处理和图像处理[10], [11], [12]。在SC中,乘法仅需一个与门(AND)或同或门(XNOR),而加法可以用多路选择器、T触发器或累加并行计数器(APC)实现。最近,[13]中提出的分段多驱动多维有限状态机(SMM-FSM)将分段引入SC有限状态机框架,使得任意非线性函数(包括复杂非单调函数)的近似精度能够收敛到任意期望水平;TriSC [14]则利用准随机比特流构建低成本三角函数电路,显著优于使用伪随机比特流的传统设计。

受上述工作启发,本文提出了一种基于SC的RoPE硬件加速器架构。主要贡献如下:

1. 架构。据我们所知,我们首次将随机计算引入RoPE硬件。所提出的处理单元(PE)基于共享Sobol源、64项cos/sin查找表(LUT)和APC累加器构建。它在显式符号控制下使用全单极与门进行乘法,避免了如SMM-FSM [13]等基于FSM的非线性逼近器的状态查找和离线参数拟合,并通过公共动态移位将宽Q5.8输入范围[?32,32)映射到SC域[0,1),该移位将一对操作数归一化到相同尺度,并在累加器输出处恢复。

2. 多个工作点的硬件表征。我们在相同的SMIC 55 nm工艺下,将1×32 PE阵列与[7]中的CORDIC基线进行比较。比较涵盖动态功耗、漏电功耗和总功耗,每个设计的实测最高频率及其实时(不仅仅是周期计数)延迟,门级测量的每周期功耗波形(而非从平均值推断),以及扫描CORDIC迭代次数I和SC比特流长度N,其中每个点的成本和精度均基于其自身RTL。SC设计在面积和峰值功耗上优于CORDIC(I=5),但代价是更高的每样本能量,使其在功耗和吞吐量之间处于不同的权衡点。

3. 精度和可靠性。在三个输入范围[?1,1]、[?5,5]和[?10,10]上,每个范围4096个样本、十次运行,SC在每个范围上具有更低的平均误差(均方误差(MSE)比I=5的CORDIC低1.8–2.4倍),而CORDIC在两个较宽范围上具有更小的最大误差;这两个观察结果都追溯到它们的误差机制。我们还界定了通常归功于SC的抗干扰能力:它适用于随机数据路径,其中翻转最多造成一个累加器最低有效位(LSB)的误差,但不适用于角度查找表或二进制域控制状态,其中翻转会被放大,这种不对称性直接导致针对性的加固方案。

4. 端到端评估。在两个真实的基于RoPE的LLM上,TinyLlama-1.1B [15]和Qwen2.5-0.5B [3],一个精确复现RTL输出字位的比特级数据路径模型量化了N对困惑度和输出分布保真度的影响。研究表明,在N=256时仍存在较小但可测量的质量损失,识别出8位源和64项角度查找表(而非比特流长度)是较大N下精度的下限,并发现控制Q5.8饱和的查询/键动态范围取决于模型,并且由查询/键异常值强制进行的预缩放对SC精度的损失大于CORDIC,因为对于小操作数,SC误差接近绝对下限。这些发现共同指导了实践中N和定点格式的选择。

本文的其余部分组织如下:第2节回顾了RoPE和SC的基础知识及相关工作;第3节详细阐述了所提出的SC-RoPE架构;第4节呈现实验结果和比较分析;第5节总结论文并讨论未来工作。

章节摘录

旋转位置编码(RoPE)

RoPE的核心思想是应用仅依赖于绝对位置的旋转变换,使得任意两个位置向量的内积仅依赖于它们的相对位置差。设令牌位置m处子空间i的二维子向量为(x_even, x_odd);其RoPE变换后的输出为
y_even = x_even cos(mθ_i) ? x_odd sin(mθ_i),
y_odd = x_even sin(mθ_i) + x_odd cos(mθ_i),
其中θ_i = b^(?i/D) 是依赖于子空间的角频率常数,b通常设为10,000,i∈{0,…,D?1}。

整体架构

图1展示了所提出的SC-RoPE加速器的整体架构。加速器由T×P个处理单元(PE)组成,其中T表示并发处理的令牌数,P表示并发处理的二维子空间数(每个PE处理一对(x_even, x_odd))。我们采用T=1和P=32作为典型配置,对应于维度64的单个注意力头内的全维度并行,如第4.12节中评估的两个模型;头部实验设置

我们在SystemVerilog中实现了所提出的SC-RoPE和作为比较的CORDIC-RoPE(I=5次迭代,包括[7]中提出的预旋转)。两个设计均配置为T=1和P=32,CORDIC设计使用BUFFER_DEPTH=2(第3.2节);输入查询/键向量使用Q5.8 14位有符号定点格式(动态范围[?32,32)),SC比特流长度为N_BITS=256。

功能仿真在Vivado 2018.3 XSim平台上进行,以黄金参考为基准。

结论和未来工作

针对大型语言模型广泛采用的旋转位置编码(RoPE),本文提出了据我们所知首个基于随机计算(SC)的RoPE硬件加速器架构。该架构用共享Sobol序列驱动的64项cos/sin查找表替代CORDIC的迭代旋转,在随机域中由单极与门乘法和APC累加器构建乘累加内核,并覆盖了

利益冲突声明

作者声明,他们不存在已知的竞争经济利益或个人关系,这些可能影响本文报告的工作。

张晓宇|王亮|肖立民
相关新闻
生物通微信公众号
微信
新浪微博
  • 搜索
  • 国际
  • 国内
  • 人物
  • 产业
  • 热点
  • 科普

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号