Project Architecture
面向 YOLO 图像智能识别的低功耗智能处理器设计
这里固定表达项目目标、规划、总体方案、模块分解、资料体系、技术细节方案与总体进展。进展类数据放到“进展”页,通过 JSON 自动更新。
项目目标
本项目目标是设计一款面向图像智能识别的低功耗智能处理器,以 YOLO 系列算法、640 x 512 输入图像、最高 FPS/最低功耗为主要评价标准,推动从“人工选型加经验优化”向“资料搜索、算法分析、架构生成、编译映射、评估优化”闭环自动化的工程范式转变。
总体规划
- 搜索图书、论文、开源项目中的 AI 加速器、NPU、GPGPU 和边缘推理处理器资料,提取技术点、适用场景、单元结构、数据流、存储层次和 IPO。
- 以 YOLO 图像识别为第一应用域,解析 YOLO 源码、模型结构和算子需求,形成算子 IPO、形状、带宽、片上缓存、访存和控制需求。
- 自动组合硬件先进技术,生成智能芯片结构、指令集、数据通路和存储结构候选,逐步扩展到 100 种可比较架构。
- 设计与指令集对应的编译器和中间表示,把 YOLO 算子图映射到候选硬件结构。
- 搭建最小可行系统,用解析模型、仿真模型和后续 RTL/原型数据迭代评估 FPS、功耗、面积和带宽瓶颈。
- 以持续自动化方式推进:每小时记录进展,每日总结,每周归纳技术路线和架构候选变化。
总体方案
总体架构分为四个闭环:资料闭环、算法闭环、架构闭环、评估闭环。
资料闭环负责把论文、芯片手册、开源硬件和编译器项目转成统一技术点库。每个技术点都必须说明来源、适用场景、输入、处理过程、输出、硬件代价、优势、风险和可组合边界。
算法闭环负责把 YOLO 源码和模型文件转成算子图、张量形状、MAC 数、激活读写量、权重规模、访存复用机会和特殊控制流。第一阶段基线为 YOLOv5s,后续扩展 YOLOv8、YOLOv10、YOLOv11 或其他更适合边缘推理的变体。
架构闭环负责从算子需求反推处理器结构,包括 MAC 阵列、SIMD/GPGPU 风格执行单元、NPU 数据流阵列、片上 SRAM、DMA、NoC、压缩/稀疏单元、量化单元、后处理单元和主控指令系统。
评估闭环负责用同一套输入模型比较架构候选。评价指标包括 640 x 512 图像下的 FPS、功耗代理指标、片外带宽、片上 SRAM 压力、面积代理指标、编译复杂度和工程实现风险。
分解模块
- 资料搜索模块:维护资料源、技术点、适用场景和 IPO 抽取模板。
- YOLO 分析模块:解析模型结构、源码路径、算子需求、张量形状和资源估算。
- 架构搜索模块:组合候选单元、数据流、存储层次和并行策略。
- 指令集与编译器模块:定义 ISA、IR、调度策略、内存规划和算子 lowering。
- 最小系统与评估模块:实现解析估算器、行为仿真器、性能模型和功耗代理模型。
- 协同与日志模块:由 Codex 主导研发判断,Hermes/Kimi 执行资料和网站辅助任务,Kimi Code 负责日志网站表达和更新。
已搜索资料
当前资料库已经纳入 Eyeriss、NVDLA、VTA、Gemmini、YOLOv5、YOLOv8 等起始资料,并通过 Hermes 扩展到更多 AI 加速器和开源硬件来源。后续资料库不只记录“有什么”,还要记录“它解决哪个瓶颈、在哪些场景有效、和 YOLO 工作负载的关系是什么”。
技术细节方案
第一阶段重点不是直接写 RTL,而是建立可比较的技术空间。每个候选架构至少要明确:
- 计算单元:MAC 阵列、SIMD、张量核、向量单元或混合结构。
- 数据流:weight stationary、output stationary、row stationary、tile-based、streaming 或混合数据流。
- 存储层次:寄存器文件、PE 本地缓存、共享 SRAM、片外 DDR、DMA 双缓冲。
- 控制方式:固定功能流水、微码、VLIW、RISC 控制核、GPGPU warp 风格调度。
- 编译映射:算子切分、张量布局、访存调度、融合策略、量化策略。
- 评估指标:FPS、功耗代理、片外带宽、SRAM 容量、利用率、面积风险、实现复杂度。
当前总体进展
当前已经完成项目工作区、协同协议、每日备份、小时进展自动化、资料源初始库、YOLOv5s 源码基线、静态算子清单、进展网站和 Cloudflare Pages 发布链路。第一阶段已进一步完成 20 条资料源、12 条技术点、15 个架构候选、YOLOv5s 25 层结构解析、640 x 512 形状表、MAC/权重/激活字节估算表、ISA v0、Model IR v0、Tile IR v0、Memory IR v0 和解析评估器输入 schema。评估器 v1 已输出前 12 个架构候选的 FPS、功耗代理、compute/memory 分项和每层瓶颈分类。当前最高 FPS 代理候选为 ARCH-0005,低功耗重点候选为 ARCH-0007,软件定义扩展候选为 ARCH-0010。下一步主线是执行 PyTorch/ONNX 形状验证并把评估器从代理模型推进到可校准模型。