跳转到主要内容

一枚国产 FPGA,跑通了一个“会认字”的神经网络

京微齐力 HME-P3 芯片神经网络推理演示纪实

从一张手写数字开始

在手机上手写一个歪歪扭扭的"8",拍照上传——几毫秒之后,芯片给出了答案:识别结果:“8”。 

这不是云端大模型的功劳,而是发生在一枚国产 FPGA 芯片内部的真实计算。

近日,京微齐力产品部基于 HME-P3P100 FPGA 完成了神经网络推理演示(Demo):在芯片内实现了一个完整的 INT8 量化神经网络推理引擎,通过串口与 PC 上位机联动,端到端完成手写数字识别。

500张测试图片,与参考模型逐位一致(bit-exact),单次推理仅65.75微秒。

这个 Demo 里有什么?

别看演示的对象只是识别0~9十个手写数字,麻雀虽小,五脏俱全。整个演示系统包含了 AI 推理落地所需的全部要素:

  [ 一个真实训练 + 量化的神经网络 ] 

  • 模型:MNIST 手写数字识别 MLP(784-128-10),10.2万参数
  • 精度:FP32 97.07% → INT8 量化后96.81%,精度损失仅0.26个百分点
  • 全流程自主完成:numpy 训练 → 逐层 per-tensor 对称量化 → 权重固化到片上存储

  [ 一个纯 RTL 手写的推理引擎 ] 

  • 16路 INT8 MAC 阵列,充分映射到 P3 DSP 资源的10×10拆分模式
  • 8192×128bit 权重 ROM,一字128bit恰好覆盖16路 lane,一拍供满全部乘加
  • 自研 FSM 分层调度:L1 层8组×784拍流水累加 → 移位重校准 → ReLU → L2 层 → argmax,全程硬件自动完成,无需 CPU 干预

  [ 一条完整的上位机链路 ] 

  • UART 115200-8N1 串口协议,5条精简命令(装载图像/启动/查状态/回读/取结果)
  • PC 端图形化上位机软件:拍照图片自动灰度化、反色检测、裁剪、质心居中、量化——手机随手拍的照片也能直接识别
  • 支持单图模式与批量模式,批量测试时自动统计正确率

  [ 一套无硬件也能玩的虚拟联调环境 ] 

  • 提供虚拟 FPGA 端模拟器,在虚拟串口上以 numpy 逐位复现 RTL 量化语义
  • 软硬件协议完全一致,客户与合作伙伴没有板卡也能完成全部软件开发与回归

亮眼的成绩单

单张照片端到端约230ms,其中绝大部分是 PC 侧图像预处理与串口传输时间,芯片内的纯推理耗时只有约66微秒——这就是硬件加速的威力。

为什么说这小小一步意义重大?

熟悉大模型推理的朋友一眼就能看懂:这个 Demo 的核心数据通路是GEMV(矩阵-向量乘)——这正是所有 LLM 推理 decode 阶段的本计算子。大模型每生成一个 token,本质上就是对着全部权重矩阵做一遍 GEMV。

因此,这个演示虽然小,验证点却与当前业界最受关注的 FPGA LLM 加速方案逐项对应:

P3 的 DSP 数量与业界论文中的 LLM 加速器几乎一一对应。瓶颈不在算力,而在 DDR 带宽——这一关键结论已经为下一代产品的规划指明了方向。

演进路线:三步走向边缘大模型

Demo 只是起点,我们的路线图清晰而坚定:

Step 1(本Demo)✅ 已完成 INT8 GEMV 引擎 + 单层 MLP,完成 DSP 链路、EMB初始化与工具链的实战验证。

Step 2(进行中)GPTQ 4bit 权重解包 + DSP 级联累加,扩展至 Transformer 单层 GEMV,目标 Qwen3-1.7B 单层精度对齐与带宽利用率测试。

Step 3(目标)完整复现业界前沿的三模块加速架构(VPU/SPU/MMU)+ DDR 权重分页,面向 Qwen3-1.7B 8~10 tokens/s 的边缘大模型部署能力。

写在最后

从识别一个手写的"8",到在边缘设备上跑起一个 7B 参数的大模型,中间隔着的是工程化的千山万水——量化语义、存储带宽、硬件调度、工具链……而 HME-P3 的这个 Demo,把每一块基石都踏实地铺下了。

用一颗国产FPGA,验证一条通向边缘大模型的路。

这,就是京微齐力的答案。

文章来源:京微齐力