EdgeCortix Dynamic Neural Accelerator(DNA):面向Edge AI/端侧AI的运行时可重构数据流架构

在Edge AI芯片领域,一个常见误区是:只要TOPS足够高,AI推理性能就一定高。 实际情况并非如此。尤其是在机器人、无人机、工业设备、机器视觉和航空航天等端侧场景中,真正决定性能的往往不是峰值算力,而是计算单元利用率、片上数据搬运效率、内存带宽、Batch=1延迟以及功耗。

EdgeCortix开发的 Dynamic Neural Accelerator,简称DNA,正是针对这些问题设计的一种神经网络加速器架构。它最核心的特点可以概括为:

通过运行时可重构的计算资源和数据互连,让同一套AI硬件根据不同神经网络、不同网络层的计算特点动态改变组织方式。

目前的第二代架构 DNA-II 已经应用于EdgeCortix的SAKURA-II AI加速器,同时也可以作为IP Core集成到ASIC、SoC或FPGA中。EdgeCortix官方将DNA-II定位为一种可扩展、模块化、低延迟的神经网络计算架构,并强调其同时支持卷积网络和Transformer。(EdgeCortix)

EdgeCortix Dynamic Neural Accelerator(DNA)

一、DNA首先解决的是“峰值算力利用不起来”的问题

现代神经网络并不是由完全相同的计算组成。

一套视觉或多模态模型中,可能同时存在:

卷积、矩阵乘法、注意力机制、激活函数、归一化、Tensor变换以及各种不同尺寸的网络层。

而不同层的计算形态差别非常大。

例如,一个卷积层可能具有很多输出通道,非常适合让大量计算单元分别处理不同Filter;另一个层可能输出通道不多,但输入Feature Map很大,更适合把一张Feature Map切成多个Tile并行处理。

Transformer又有所不同,其主要计算负载通常集中在较大的矩阵乘法和Attention相关运算。

如果NPU内部计算阵列和数据路径高度固定,就可能出现:

某些网络层能够把全部计算单元吃满,而换到另一种尺寸的网络层以后,大量MAC闲置。

因此,“60 TOPS芯片”在实际模型运行过程中,并不意味着每一时刻都能够发挥60 TOPS。

EdgeCortix早期就把这种 低计算利用率 视为端侧AI的核心问题之一,并特别指出小Batch以及Batch=1推理更容易遇到这一问题。(EdgeCortix)

DNA的设计目标,本质上就是:

根据当前需要计算的网络层,重新组织硬件资源,尽可能让更多计算单元保持有效工作。


二、DNA最核心的概念:Dynamic Grouping

DNA并不是简单地增加更多MAC。

它更重要的设计思想是 Dynamic Grouping——动态分组

可以假设芯片中存在很多个DNA Compute Engine:

E1、E2、E3、E4……

如果当前卷积层拥有大量输出通道,计算资源可以按照输出Filter进行并行:

E1 → Filter 1
E2 → Filter 2
E3 → Filter 3
E4 → Filter 4

但如果下一层输出通道较少,而单个输出需要处理大量输入通道,计算资源则可以重新组合,例如:

E1 + E2 + E3 + E4 → 共同计算一个输出。

如果需要处理一个很大的Tensor,还可以按照空间Tile拆分:

E1 → Tile A
E2 → Tile B
E3 → Tile C
E4 → Tile D

到了Transformer矩阵计算阶段,则可以重新按照矩阵块组织硬件。

所以DNA真正可以动态改变的是:

Filter并行、Channel并行、Tile并行以及不同计算任务之间的资源分配。

EdgeCortix将这种根据网络结构重新组合计算资源的能力称为动态分组,并认为这是提升实际计算利用率的重要机制。(EdgeCortix)

可以把这种架构理解成一个柔性制造工厂

传统固定式NPU像一条高度优化的汽车流水线:

生产指定车型时效率极高。

但换一种产品以后,一些工位可能没有工作。

DNA更像柔性生产线:

今天8个工位组成8条小生产线,明天4个工位组成一条大生产线,后天又可以重新分成2+2+4。

真正的硬件计算单元没有改变,但组织方式发生了改变


三、真正关键的技术不是“算”,而是“数据怎么走”

DNA架构最值得注意的技术之一,是其 运行时可重构互连网络

AI计算芯片的一个重要现实是:

数据搬运往往比乘法运算本身更加耗能。

例如一个卷积输出可能需要多个计算单元分别计算部分和:Y=P1+P2+P3+P4Y = P_1 + P_2 + P_3 + P_4

其中每一个 PiP_i 都是一个计算单元产生的部分结果。

在一种比较简单的硬件架构中,可能需要:

计算P1 → 写入片上内存

计算P2 → 写入片上内存

然后:

读取P1和P2 → 做累加 → 再写回内存。

如果这种过程大量出现,就会形成:

计算 → 写SRAM → 读SRAM → 累加 → 再写SRAM。

计算本身可能非常快,真正消耗带宽和功耗的反而是这些中间结果搬运。

EdgeCortix的相关专利提出了一个重要结构:

Reduction Interconnect——归约互连网络。

它位于计算模块和片上内存之间,可以把多个计算单元输出的部分结果直接在互连路径中进行归约和累加,而不一定要先写回片上内存。(EdgeCortix)

简单来说,传统方式可能是:

计算单元A → SRAM → 读取 → 加法器

而DNA可以变成:

计算单元A ─┐
计算单元B ─┼→ Reduction Interconnect → 累加结果
计算单元C ─┤
计算单元D ─┘

这样做的直接好处是减少:

片上SRAM访问、数据复制、存储带宽占用和等待时间。

因此,DNA提升能效的关键并不只是“计算器更快”,还包括:

尽量减少数据在芯片内部无意义地搬来搬去。


四、所谓“运行时可重构”,到底重构了什么?

这里很容易和FPGA混淆。

DNA的Runtime Reconfigurability并不是说:

每运行一个网络层,就重新配置晶体管逻辑。

它不像FPGA那样重新生成整个硬件电路Bitstream。

更准确地说,DNA会利用控制逻辑改变已有计算模块之间的连接状态。

其专利描述的基本结构包括:

多个计算模块
多个加法/归约模块
片上Accumulation Memory
可重构Reduction Interconnect
Interconnect Control Module
Sequencer。
(Justia Patents)

控制模块能够决定:

哪个计算模块连接哪个加法器;
哪个结果直接进入Accumulation Memory;
哪些计算单元共同组成一组;
哪些模块暂时不用;
多个部分结果在哪里汇总。

因此,可以把DNA的运行时重构理解成:

通过快速改变Switch和数据路由配置,让物理上固定存在的计算单元形成不同的逻辑计算结构。

这种方式在思想上更接近:

Dataflow Architecture + Reconfigurable Interconnect

而不是传统意义上的完全固定式SIMD阵列。


五、输入侧同样存在可重构的数据流

DNA的专利不仅涉及输出端的Reduction Interconnect,还描述了输入数据路径、Line Buffer以及可配置的输入连接关系。

例如卷积计算经常需要不断滑动一个卷积窗口:3×3,5×53 \times 3,\quad 5 \times 5

如果每移动一次卷积窗口都重新从外部DRAM读取全部输入数据,功耗和带宽成本都会非常高。

因此神经网络加速器通常会使用:

Line Buffer + On-chip Memory

尽量重复利用已经读取的数据。

EdgeCortix的相关设计允许不同Line Buffer位置与不同计算模块动态连接,使同一批计算单元可以根据:

卷积核尺寸、Stride、Dilation、Tile尺寸

改变输入数据分配方式。(Justia Patents)

其本质仍然没有改变:

计算资源不仅能够重新分组,数据供应方式也能够随模型结构改变。

这也是为什么仅仅描述DNA为“一个可重构NPU”并不够准确。

它更接近一个:

计算、互连、存储协同重构的数据流处理器。


六、MERA编译器实际上是DNA架构不可分割的一半

DNA硬件本身不会自动分析PyTorch模型然后决定:

“这四个Engine应该组合在一起。”

真正完成这种映射的,是EdgeCortix的软件栈 MERA

EdgeCortix从一开始采取的就是 software-first / hardware-software co-design 路线。

整个过程大致可以理解为:

PyTorch / TensorFlow / ONNX模型

MERA导入计算图

分析:

Tensor尺寸
计算量
网络层拓扑
内存需求
数据依赖
可利用并行度

完成:

Graph Optimization
Quantization
Operator Scheduling
Tiling
Resource Allocation
Memory Planning

生成:

DNA执行代码 + 数据调度方案 + 互连配置

DNA硬件执行。

MERA目前利用Apache TVM、MLIR等技术,并支持AMD、Intel、Arm和RISC-V等异构主处理器。(EdgeCortix)

所以EdgeCortix整个技术逻辑实际上是:

Compiler决定怎样重新组织硬件,DNA按照这个组织方式高效运行。

这是一种典型的:

Compiler-driven Architecture。

因此讨论DNA技术,如果只研究芯片结构,而忽略MERA,是不完整的。


七、为什么DNA特别强调Batch=1?

Batch=1是理解DNA设计思路的另一个关键。

在云端数据中心运行AI模型时,可以一次处理:

32张、64张甚至更多图片。

这样GPU拥有大量独立任务,很容易把数千个计算单元填满。

但Edge AI完全不同。

例如机器人摄像头:

第1帧到达
→ AI推理
→ 输出结果
→ 控制机器人

然后才处理下一帧。

它不能为了提高吞吐量,说:

“等32帧收齐以后一起算。”

因为机器人需要立即反应。

这就是典型的:

Batch = 1。

工业机器视觉、无人机、自动驾驶同样大量存在这种情况。

Batch=1时,可以利用的“样本级并行”非常少,因此芯片必须不断从:

Channel、Filter、Tile、Tensor以及不同Operator

内部寻找并行机会。

DNA的动态分组机制正是针对这一问题。

EdgeCortix也明确把SAKURA-II定位为面向 real-time Batch=1 inference 的AI加速器。(EdgeCortix)

因此DNA追求的主要不是数据中心式:

最大Throughput。

而是:

在单个任务上同时实现高硬件利用率和低Latency。

这对于Physical AI非常重要。


八、从CNN到Transformer:DNA-II为什么需要升级?

最早一代DNA主要针对CNN。

但今天的Edge AI工作负载已经明显改变:

过去:

ResNet
MobileNet
YOLO

现在越来越多:

Vision Transformer
DETR
VLM
LLM
Multimodal Model
Robot Foundation Model。

这些模型大量依赖:

GEMM矩阵乘法、Attention、不同尺寸Tensor以及混合精度计算。

因此EdgeCortix在DNA-II中进一步强化了对Transformer和生成式AI的支持。官方明确表示DNA-II同时支持卷积网络和Transformer,而SAKURA-II就是基于这一代DNA架构构建。(EdgeCortix)

SAKURA-II公开性能包括:

INT8:最高60 TOPS

BF16:最高30 TFLOPS

并支持Mixed Precision。(EdgeCortix)

更值得注意的并不是60 TOPS本身,而是EdgeCortix试图让同一套DNA资源同时适应:

传统视觉模型 + Transformer + Generative AI。

这种灵活性对于Edge AI芯片尤其重要,因为边缘设备生命周期可能达到:

5年、10年甚至更长。

芯片部署时使用YOLO,并不意味着五年后还是YOLO。

因此硬件必须具有一定程度的算法适应能力。


九、DNA与GPU、传统NPU、FPGA有什么区别?

可以用一个简化的比较来理解。

架构灵活性能效运行时可变性典型优势
CPU很高较低很高通用控制、复杂逻辑
GPU中等大规模并行、生态成熟
固定式NPU中等很高较低已知AI算子高效推理
FPGA很高较高很高电路级可配置
DNAAI数据流动态重构

需要注意,这只是架构层面的概念比较,不意味着DNA在所有工作负载上都一定优于GPU或其他NPU。

DNA的独特位置在于:

试图在固定ASIC的高效率和可编程架构的灵活性之间找到一个平衡点。

它不像GPU那样追求完全通用,也不像某些NPU那样把数据流完全写死。

而是:

计算单元本身专用

但:

计算单元的组合方式和数据流相对灵活。


十、DNA为什么特别适合Physical AI?

机器人和Physical AI对AI芯片有一个很特殊的要求:

不仅要算得快,还必须:

延迟低
功耗低
体积小
散热有限
Batch=1
长时间连续工作。

例如机器人可能同时运行:

目标检测
深度估计
姿态识别
语义分割
VLM
VLA。

这些模型的计算形态完全不同。

如果每一种模型都配置不同的专用加速器,会导致系统复杂度迅速上升。

DNA则希望:

一套可重构AI计算资源,根据当前模型动态分配。

例如:

摄像头视觉阶段:

更多计算资源分给CNN / ViT

进入机器人动作规划阶段:

资源重新分配给Transformer / VLA

随后执行一个小模型异常检测:

只使用部分DNA Engine,其余资源可以服务其他网络。

EdgeCortix称DNA架构还可以支持多个神经网络模型并发运行。(EdgeCortix)

这对机器人非常有吸引力,因为真实机器人通常从来不是只运行一个AI模型。


十一、DNA真正追求的指标并不是TOPS,而是“有效TOPS”

理解DNA最重要的一点,是区分:

Peak TOPS

和:

Effective Compute Utilization。

假设两颗芯片都标称:

60 TOPS。

芯片A运行某模型时计算资源平均利用率只有40%,理论上真正有效使用的大致算力只有:60×40%=24 TOPS60 \times 40\% = 24\text{ TOPS}

芯片B如果能够保持80%的有效利用率,则相当于:60×80%=48 TOPS60 \times 80\% = 48\text{ TOPS}

这里只是用于说明原理,并不是EdgeCortix实际Benchmark结果。

但它很好地解释了DNA的设计思想:

与其不断堆更高峰值TOPS,不如让已有TOPS更多时间真正参与计算。

对于功耗受限的Edge AI而言,这往往比峰值算力更加重要。


十二、DNA技术的潜在局限

DNA的思路很有吸引力,但也不能因此把它理解成“万能AI架构”。

首先,可重构性本身有成本

互连网络、控制逻辑、配置寄存器都会占用:

芯片面积、功耗和设计复杂度。

如果某种模型结构非常固定,一颗针对该模型高度定制的专用ASIC理论上仍可能比DNA更加高效。

其次,DNA非常依赖编译器。

硬件理论上拥有很多可能的资源组合,但如果MERA无法找到足够好的:

Tiling、Scheduling、Memory Layout和Engine Mapping

那么硬件能力无法真正发挥。

因此DNA竞争力实际上等于:

DNA Architecture × MERA Compiler。

第三,EdgeCortix是一家相对较小的公司,其软件生态规模还不能和:

CUDA、TensorRT、Qualcomm AI Stack

等成熟平台相提并论。

第四,很多性能和能效指标目前主要来自EdgeCortix自身公开资料,因此在评价DNA与其他NPU、GPU的实际竞争力时,仍应结合:

同一模型、同一精度、同一Batch、相同功耗测量条件

进行第三方Benchmark。


十三、从架构角度看,DNA最重要的价值是什么?

DNA最值得关注的地方其实并不是某一项单独的乘法器设计,而是一种越来越重要的AI芯片设计哲学:

AI算法变化得非常快,硬件不能完全固定;但Edge AI又不能像GPU那样为通用性付出过高的功耗成本。

因此需要一种中间路线:

计算单元保持AI专用化

互连和数据流保持一定程度的可重构

由编译器根据具体模型自动完成配置。

可以把这种思路简化成:

Fixed Compute

Flexible Dataflow

Intelligent Compiler。

这就是Dynamic Neural Accelerator最核心的技术思想。


结语:DNA其实是在解决“AI芯片如何适应不断变化的AI”

如果只看参数,SAKURA-II是一颗60 TOPS级Edge AI加速器。

但如果从架构层面看,它真正有意思的地方并不在这里。

DNA试图解决的问题是:

如何让有限的端侧计算资源,在面对不同网络、不同网络层和不断变化的AI模型时,仍然保持较高利用率和较低的数据搬运成本。

实现这一目标的三个核心机制是:

动态计算资源分组

运行时可重构互连

MERA编译器驱动的数据流与资源调度。

所以,更准确地给DNA下一个定义,可以是:

EdgeCortix Dynamic Neural Accelerator是一种由编译器驱动的运行时可重构AI数据流处理架构。它通过动态改变计算资源分组、数据路径和结果归约方式,在不同神经网络层之间重新组织硬件,从而提高Batch=1场景下的计算利用率、降低片上内存带宽需求,并兼顾CNN、Transformer和生成式AI等不同类型模型。

从更大的产业背景看,这种思路尤其适合未来的 机器人、无人机、机器视觉、工业AI以及Physical AI:这些系统没有数据中心那样充裕的电力和散热,却越来越需要运行复杂的多模态模型。

因此,DNA所代表的并不仅是一种NPU设计,而是一种更值得长期观察的方向:

未来Edge AI竞争的重点,可能不再是谁拥有最高TOPS,而是谁能在有限功耗下,把每一个TOPS真正利用起来。 (EdgeCortix)

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

Are you human? Please solve:Captcha