openTPU:一款由 AI 开发的开源推理加速器
AI 驱动的推理硬件设计
openTPU 是一款开源 AI 加速器,旨在证明 AI 智能体能够处理硬件设计并构建运行自身推理所需的芯片。该项目在单个代码仓库中提供了一个完整的垂直技术栈,包括硬件设计 (SystemVerilog)、指令集架构 (ISA)、位精确模拟器、带有编译器的内核语言,以及驱动物理 PCIe 卡所需的主机软件。
据项目作者称,开发过程采用了递归自我改进循环。在最初使用 AI 开发 RISC-V CPU 内核后,该技术被应用于 openTPU,使加速器在小型模型上的推理速度从每秒仅几个 token 提升到了每秒超过 80 个 token。
硬件规格与实现
openTPU 在 Inspur YPCB-00338 卡上实现,该卡配备了 Xilinx Kintex-7 xc7k480t FPGA 和两个 DDR3 通道(DDR3-1066,峰值带宽为 17.1 GB/s)。系统运行在 133.33 MHz 的时钟频率下。
架构组件
- 定序器 (Sequencer): 每个周期向各个功能单元发出一条指令。
- DMA: 处理数据移动。
- 矩阵单元 (Matrix Unit): 一个四列脉动矩阵单元,用于对从 DRAM 流式传输的 int8 权重进行乘法运算。
- 向量单元 (Vector Unit): 执行 FP32 数学运算。
- 量化器 (Quantizer): 将结果转换回 int8。
- LiteDRAM 控制器: 由内存核心内的内部 CPU 进行校准,使该卡能够在 12 秒内完成两个 DDR3 通道的校准,无需主机干预。
该架构专为简洁和透明而设计;没有缓存或隐藏的调度机制。每一次数据移动都是一条显式指令,允许通过随附的 "Lens" 分析器进行精确的性能分析,该分析器提供硬件利用率的屋顶线 (roofline) 和时间线视图。
性能基准测试
openTPU 支持多种现代模型,包括 Qwen3、Qwen3.5、LFM2.5、Gemma 4、SmolLM3 和 Phi-4-mini。该设计实现了物理 FPGA 卡与基于 Python 的 ISA 模拟器之间的逐位对等。
解码与预填充性能
性能因模型大小和量化级别(int8 与 4-bit)而异。
| 模型 | 权重 | 解码 (设备) | 预填充 (设备) | DRAM 带宽 |
|---|---|---|---|---|
| LFM2.5-230M | 4-bit, int8 head | 85.8 tok/s | 335.4 tok/s | 14.1 GB/s (82% peak) |
| Qwen3-0.6B | 4-bit, int8 head | 31.3 tok/s | 103.4 tok/s | 13.9 GB/s (82% peak) |
| Qwen3.5-0.8B | 4-bit, int8 head | 24.5 tok/s | 23.3 tok/s | 66.7 tok/s |
| LFM2-2.6B | 4-bit, int8 head | 10.96 tok/s | 10.93 tok/s | 20.6 tok/s |
| Phi-4-mini (3.8B) | 4-bit, int8 head | 6.56 tok/s | 15.0 tok/s | 15.8 GB/s (92% peak) |
| Qwen3.5-4B | 4-bit, int8 head | 5.88 tok/s | 12.9 tok/s | 15.7 GB/s (92% peak) |
内存管理与量化
- 4-bit 量化: 使用带有两级块缩放的 FP4 值(每个权重 4.25 位),同时保持 LM head 为 int8。这使每个 token 的字节数减少了约三分之一,并将解码速度提高了 40% 到 45%。
- 专家卸载 (Expert Offloading): 对于超过该卡 4 GiB 容量的混合专家模型 (MoE),专家数据会从主机存储中流式传输。例如,Qwen3.5-35B-A3B 达到了 3.95 tok/s,其中 62% 的专家使用命中了本地 DRAM 插槽,通过 PCIe 以 1.41 GB/s 的速度每 token 流式传输 153 MB 数据。
软件栈与工具
该项目使用一种自定义内核语言 (ol) 和一个 JIT 编译器,将高级操作(如 ol.dot 和 ol.quantize)转换为 32 位字长的 ISA。
工具套件
otpu-chat:使用 ISA 模拟器或物理板与支持的模型进行对话的接口。otpu-smi:用于监控温度、功耗、DRAM 带宽和单元利用率的系统管理接口。otpu-lens:一个基于浏览器的分析器,记录来自 RTL、模拟器或卡的运行情况,以分析逐周期的执行过程。
社区观点
虽然该项目展示了一个功能性的 AI 设计加速器,但 Hacker News 上的社区讨论引发了关于“AI 开发的硬件”定义的争论。
"AI 现在有能力开发自己的推理硬件了。不,它没有。是一个人类提示 LLM 构建了一个用于硬件设计的软件模拟环境,使得 LLM 在人类的提示下,能够在模拟中针对约束条件优化硬件设计。" — @handle
其他贡献者指出了该项目开源性质的教育价值,它允许用户追踪从 Python 代码到 FPGA 物理线路的矩阵乘法过程。
Sources
相关
- 项目
- Dispatch
- 项目
- Dispatch
- Dispatch