我一直在留意嵌入式圈子里头关于“树莓派被FPGA降维打击”这种讨论说实话每次看到都挺想插几句。标题里那几句话看着像挑事其实背后是整个边缘计算在LLM浪潮下的一次重新洗牌。我用FPGA做图像采集和信号处理有些年头了身边也有拿树莓派跑YOLO的朋友拿STM32做语音唤醒的同行这群人不是谁淘汰谁的关系而是各自的赛道根本不重叠。今天就把这件事掰开揉碎聊一下。1. 先别急着站队这次“降维打击”到底打击的是谁1.1 10倍能效不是空话但也不要被数字带偏先说标题里最刺激人的那一句大模型推理能效超GPU 10倍。这个数据在一些特定条件下是能复现的但它有非常严格的限定条件模型经过高倍量化INT8甚至INT4、算子完全固定、使用特化的数据通路、并且把内存带宽吃满。如果拿一块中高端FPGA和一块数据中心级GPU比“单卡跑Llama-7B的能耗”FPGA确实能在功耗只有几十瓦的情况下提供每瓦特数倍于GPU的有效推理吞吐。但如果比断言的灵活性、比大规模并行吞吐率、比跑一个刚发布还没优化过的模型FPGA会被GPU按在地上摩擦。这里头最容易被误解的点在于GPU是为“通用矩阵乘法”设计的它要应对各种算子组合所以堆了海量的CUDA核心和极高的显存带宽FPGA则是“按需定制电路”你给它一个卷积算子它就真的在硬件里搭建一条专用于这个卷积的数据流水线。流水线上没有指令取指、没有分支预测、没有缓存未命中每个时钟周期都在干实活。所以能效比高是结构优势不是什么魔法。1.2 树莓派到底“输”在哪树莓派受害最深的地方是“标签内卷”。一个跑Linux、带GPU、能接摄像头、能装Docker、还能做桌面系统的小板子在传统印象里已经算是“AI开发利器”了。但真拿它跑大模型推理问题就很具体内存太小。树莓派5即使配到8GB跑一个量化后的7B模型也要费尽周折推理速度基本在每秒几个token以下用来做聊天机器人演示可以做实际产品没戏。再加上CPU的算力天花板摆在那里NPU也要靠PCIe外挂加速卡来实现整体功耗和体积的优势就被削弱了。所以与其说FPGA“降维打击”树莓派不如说是树莓派在LLM推理这个具体任务上本来就没有位置。树莓派擅长的是轻量级Python项目、GPIO控制的物联网小系统、MXNet跑个小分类模型这类事情到了大模型推理它更多是作为一个“管理壳”存在真正干活的处理器是外接的TPU、NPU或者FPGA加速卡。换个角度说树莓派被打击的不是它的能力而是它承载的“什么都能干”的想象空间。1.3 STM32和ESP32的AI定位本来就不在云端STM32和ESP32被卷进这个话题往往是因为热词列表里同时出现了它们和“大模型”。实际上以STM32H7为代表的MCU跑个TinyML关键词唤醒、跑个传感器异常检测、跑个轻量级人体活动识别都是很合理的场景要让它去跑Transformer哪怕是蒸馏过的TinyBERT也不是完全不可能但那是用算力和内存堆出来的极限操作实际产品不会这么干。ESP32带Wi-Fi适合做端侧采集加云侧推理的中间节点把音频、IMU数据、图像缩略图上传然后接收云端下发的推理结果。它们的位置不是“AI计算节点”而是“AI系统的触手”。FPGA在物联网终端里确实能承接一部分原本属于MCU的工作比如高速ADC数据采集、LVDS接口解码、传感器融合预处理这些都是FPGA的传统优势区。但拿FPGA和STM32比成本、比开发效率、比功耗那是拿牛刀杀鸡完全没有必要。STM32能以一个极低的物料成本完成确定性实时控制这是FPGA做不到的性价比级别。2. FPGA在AI推理中的真正底牌能效比的来源2.1 从“万能工具”讲到定制数据通路把FPGA理解成“万能工具”会低估它把它理解成“高级单片机”又会高估它。FPGA内部是一大片可编程逻辑单元LUT、触发器、DSP切片、块RAM和高速收发器。你写的Verilog或VHDL本质是描述一套硬件电路工具链会把这段描述映射成实际上电运行的电路结构。这就是为什么FPGA的编译器不叫“编译”而叫“综合”它不是在生成机器指令而是在生成门级网表。对于AI推理来说这套机制的价值在于你可以把模型的计算图拆成一系列定制电路。比如一个3x3卷积层普通CPU是循环读取像素并执行乘加指令FPGA的做法是在硬件里布置一整条乘法器和加法器链数据从一侧流入卷积结果从另一侧连续流出。没有指令读取开销没有流水线停顿连数据格式都可以按需定制——比如把普通INT8改成每通道单独量化的自定义定点格式。结构上它更像一个ASIC但保留了可重构的能力这在模型迭代速度快的时候特别值钱。2.2 INT8/INT4量化算力才是压箱底的东西GPU在FP16和FP32精度上有着无可撼动的算力优势但一旦进入低比特整数推理情况就开始有意思了。主流FPGA的DSP切片支持INT8乘加运算算力密度远高于同功耗下的CPU而支持INT4甚至混合精度的设计可以通过把两个INT4运算打包进一个DSP切片的方式让有效算力翻倍。大模型推理经过PTQ或QAT量化之后权重的分布已经足以让INT4精度跑出接近FP16的效果。这个时候FPGA的能效优势就被放大了。举一个实际数字作为参考一块中等规模的中端FPGA在INT8卷积密集任务里可以做到每瓦特几百GOPS级别的有效算力同功耗等级的Jetson Nano大概在每瓦特几十GOPS到一百出头。这里头的差距不是一两倍而是量级上的。当然FPGA能跑到这个数据的前提是设计者对算子做了深度优化包括数据复用、乒乓缓存、脉动阵列结构。用HLS随便写一段浮点卷积就拿来比功耗那是自欺欺人。2.3 稀疏性和“几乎不耗电的乘法”很多人忽略的另一项关键能力是稀疏计算支持。大模型经过剪枝之后权重矩阵里可能有大量零值。GPU虽然也有稀疏张量核心但通常要求2:4结构化稀疏才能发挥效率FPGA没有这个限制。你可以在硬件里加入“零值跳过”逻辑当检测到输入数据或权重为零时直接跳过该次乘加同时微调累加路径。这类定制逻辑在GPU上很难做到因为它要平衡成千上万个线程的同步但在FPGA上你可以针对特定模型结构逐一设计。这些花活的核心意义归结起来就是一句话GPU花钱养了一大批可能用不上的通用能力FPGA则只为自己要跑的模型买单。这也是为什么在“专用模型固定输入尺寸量产”的场景里FPGA经常能做出让GPU团队惊讶的功耗账。3. 树莓派、STM32/ESP32各自的AI实战边界3.1 树莓派最适合跑大模型也最容易被瓶颈卡死在单板电脑里树莓派5绝对算得上性能担当但放在大模型推理面前内存和带宽的瓶颈是硬杠杆。量化后的7B模型大概需要4GB内存树莓派5要分出这么多内存给推理进程基本就告别其他应用了。推理速度方面用llama.cpp跑Q4_K_M量化的Llama-2-7B在树莓派5上的生成速度大概只有2~5 token/s这就是能听个响的水平。当然也不是没有变通方案树莓派板载PCIe接口可以外接Google Coral TPU或者自制的FPGA PCIe加速卡把树莓派当作宿主机具体接口走UART或者SPI也可以就是速率上不去。实战中我见过一种很务实的做法树莓派负责跑语音识别前端和TTS输出真正的大模型推理丢给局域网里一台带GPU的服务器两边用MQTT或者WebSocket通信。树莓派在这里的价值是生态、网口、GPIO和开发速度而不是算力本身。还要提一句树莓派在传统视觉领域的优势仍然牢固。接上OV5647摄像头模块、跑OpenCV和简单的分类模型开发体验依然远优于FPGA。它的痛点在于模型稍大一点就无法本地化推理而这恰好是FPGA的甜区——如果FPGA设计者愿意付出足够的开发时间的话。3.2 STM32/ESP32TinyML的小而美场景STM32能做的典型AI任务包括关键词唤醒KWS、异常声音检测、振动故障预判、基于IMU的人体姿态识别以及简单的边缘图像分类。以STM32H743为例CMSIS-NN库加持下跑一个MobileNetV1输入尺寸96x96量化后INT8推理时间大约在100ms级别这在很多交互场景里是能接受的。ESP32-S3带向量指令和更多内存跑同样的网络会稍快一些而且内置Wi-Fi可以直接上报结果。不过MCU级AI有个硬性的技术约束内存。STM32的SRAM通常只有几百KB到1MB出头就算用外部PSRAM带宽也受限。所以模型必须经过深度剪枝和蒸馏而且要非常克制地设计特征维度和中间层数量。我一个朋友在STM32上跑过一个小型Transformer用于语音命令分类大约几十KB模型效果尚可但再往上加参数量就力不从心了。话说回来这类小模型在全天候电池供电的场景里几乎是不可替代的因为FPGA和GPU的待机功耗都压不到MCU的水平。在更实际的IoT系统里STM32/ESP32的角色往往是“数据采集轻量预处理通信”真正费算力的推理要么上FPGA要么上云。所以“STM32靠边站”这个说法并不公平它们只是被安排在了不同的生产线上。4. 用FPGA做边缘AI推理的实操路线4.1 开发板和工具链怎么选真想在AI推理这个方向上玩一玩FPGA选型很关键。市面主流的几档选择大概是这样入门学习Altera/Intel Cyclone 10 LP、Xilinx Artix-7系列价格便宜资料多但资源量跑不了太大的AI模型。进阶实战AMD/Xilinx KV260Zynq UltraScale MPSoC、Altera DE10-Nano前者带四核A53既跑Linux又能用PL端加速是性价比很高的选择后者FPGA逻辑资源也不错适合做图像类AI加速。高性能边缘Alveo V70、Versal AI Edge系列这些是正经的AI加速方案规格高价格也高适合产品预研。工具链方面Xilinx/AMD阵营推荐Vivado搭配Vitis AIIntel阵营对应Quartus和OpenVINO的FPGA插件。Vitis AI的好处是官方提供一整套从TensorFlow/PyTorch模型到DPU指令集的转换工具你不需要手写太多RTL坏处是DPU是个通用架构不一定吃满FPGA的全部能力针对特定模型优化时还是要回到RTL或HLS。如果完全没有FPGA基础建议先别碰AI。老老实实从LED闪烁、UART回环、按键消抖开始把时序约束和引脚分配的概念建立起来。跑AI加速需要你对DSP切片、BRAM带宽和流水线设计有直觉这些不是看几篇博客就能速成的。4.2 从频率测量到图像接口先把基本功打牢很多初学者都想一步到位实现一个图像识别加速器但现实是FPGA的学习曲线非常陡峭。我会建议按照“频率计 → 串口通信 → I2C/SPI控制器 → HDMI/LVDS/MIPI接口 → 简单图像预处理 → 卷积IP集成”这个顺序走一遍。热词里出现的“FPGA实现频率测量”、“FPGA实现串口发送ASCII字符串”、“FPGA的LVDS接收”、“FPGA实现MIPI”其实都是这条学习路径上的典型里程碑。拿频率测量来说它训练的是对时钟域和计数器资源的使用直觉用高频基准时钟对被测信号计数通过闸门时间换算频率。这个项目虽小却涉及跨时钟域处理、数值显示、接口时序对接为之后处理模型推理中的“Ping-Pong缓存”打下了基础。LVDS接收和MIPI解码则更偏高速接口需要真正理解源同步接口、位对齐和训练序列往深了说就是FPGA做视觉AI系统的物理层基本功。这些基础项目做完了再去看Vitis AI的DPU IP集成或者HLS生成的卷积加速器绘图就能顺畅很多。否则一上来就搬运一份MXNet转DPU的教程改一个参数就报错报错信息里全是时序收敛问题很容易劝退。4.3 HLS是不是捷径我的一些亲身体会用Vivado HLS/Vitis HLS写C语言然后综合成硬件的确能减少RTL编码量比如实现一个卷积层、一个池化层、一个矩阵乘模块HLS能在很短时间内出一个可用的设计。但HLS也不是银弹。在流水线冲突处理、数组分区、数据位宽优化这些方面HLS的优化指令pipeline、array_partition、dataflow写不好综合出来的硬件效率可能只有手写RTL的十分之一。换句话说HLS让你写C的时间短了却把性能的锅留给了后面的调优阶段。我个人的做法是控制逻辑和接口用RTL写计算密集型模块卷积、矩阵乘、激活函数用HLS快速迭代版本在性能不达标时再回到RTL定向优化。这样的混合流程既保证了开发效率又能真正压榨FPGA的算力。还有一点值得注意FPGA上的“ram”是非常宝贵的并发带宽资源一个卷积层的性能瓶颈往往不在DSP数量而在片内Block RAM的读写冲突。理解了这一点你就会明白为什么所有正经的FPGA AI加速方案都在强调数据复用和脉动阵列。5. 选型决策什么场景该用谁的答案5.1 一张表看清四个平台的定位平台优势劣势典型AI应用GPU高吞吐、生态成熟、模型通用性强功耗高、发热大、供应链成本高云端大模型推理、训练、文生图FPGA能效比高、可定制、接口灵活、低延迟开发周期长、工具链学习曲线陡工业视觉、边缘大模型INT4/INT8推理、雷达信号处理树莓派生态完善、Linux友好、外设丰富算力低、内存小、不适合满载推理智能家居原型、视觉演示、嵌入式AI网关STM32/ESP32成本极低、功耗极低、实时性好模型规模受限、算力有限关键词唤醒、传感器异常检测、TinyML分类这张表能直接回答标题里的问题没有“降维打击”只有“任务匹配”。GPU是在通用大规模AI计算上做到极致FPGA是在专用固定模型推理上做到极致树莓派是在原型开发速度上做到极致STM32/ESP32则是在成本功耗剪刀差的悬崖边做到极致。5.2 预算、量产成本与功耗的三个关键问题实际做产品选型的时候我会先问三个问题第一你的设备供电是什么如果是电池FPGA的功耗几瓦到十几瓦会是一个巨大的压力STM32和ESP32的低功耗模式几乎就是为这种场景准备的。第二你的模型是固定的还是需要OTA迭代FPGA的比特流可以动态重配置但每次模型升级都要重新综合、布局布线并验证时序几天开发周期跑不掉树莓派上放Python脚本十分钟就能灰度更新。第三你的量产数量是多少FPGA芯片单价高还要算上外挂DDR、Flash和电源芯片的成本如果年出货量只有几百台MCU覆盖不了性能需求的话用FPGA完全合理如果年出货量在万级以上认真评估一下ASIC或者成熟的NPU方案可能是更经济的路线。5.3 我最后想说的经验之谈我实际用过FPGA跑过边缘端的图像识别也拿树莓派做过语音交互系统还给STM32写过非常痛苦的定点化推理代码。不知不觉有些体会真正决定项目成败的往往不是算力数字而是开发时间表和团队的技术栈。如果你已经会用PyTorch和OpenCV树莓派能让你在三天之内跑通一个像模像样的AI演示如果你有数字电路和Verilog基础FPGA能让你在三个月之后做出一个低功耗且稳定的产品。STM32则永远是那个“稳稳当当干脏活”的角色它不会给你惊喜的算力但能在零下四十度和七十度的环境里按周期精确地干活。所以看到“树莓派被降维打击”这类标题我的建议是少看情绪多看约束条件。大模型的彼岸不是单一芯片能抵达的真正聪明的方法是让每种处理器都只做自己最擅长的那一段。FPGA杀回AI战场这件事是真的但它的战场从来不是树莓派和STM32脚下的这片热土而是“从原型到产品”那段充满功耗、延迟和成本细节的漫长隧道。