TinyML
0.1 Hi there!
This is a graduation project titled System-Level Co-Design and AI-EDA of RISC-V Accelerators for TinyML at the Edge under my supervisor LIYUN. His PhD student Jintao Li also helps me greatly. This is a place where I record my learning journey into TinyML and RISC-V accelerators – from scratch. The contents are actively updating. Some of the content may be too basic or even technically incorrect up to now, but they are, hopefully, informative and motivation-boosting. The pure English documentation will be available soon.
Correctness is the enemy of progress. – Myself
本项目有关的代码主要存放在两个仓库:
0.2 Motivation 动机
大量应用程序都配备了图像处理的深度学习算法 (如 Animoji), 若想要利用服务器的算力资源, 则每秒至少需要输入 \(30\) 帧图片到网络当中, 对于 ResNet-50 这种小网络, 模型运行时也需要占用 \(3\text{ GB/s}\) 的带宽 [1]. 因此, 需要 将云端的一部分计算任务下放到端设备, 以减轻云端和网络带宽的压力. 然而端设备大多采用嵌入式处理器 —— 嵌入式处理器受到功耗、体积、散热等多方客观因素的限制, 其性能远不如桌面平台. 我们可以利用 FPGA、ASIC 等 低功耗、高能效 的器件, 为相应的应用场景定制该领域所专用的加速器 [2].
0.3 Change Logs 更新日志
- 2025-06-29: Initial commit.
- 2025-07-06: 尝试在 MacOS 上原生搭建和用 Docker 搭建, 无果, 遂改用 Parallel Desktop 上安装 Ubuntu 24.04.
- 2025-07-07: 发现在 M 芯片 MacOS 上无法安装
linux-64
架构, 改用 Docker 搭建环境成功 … 了一半, 最后因为 Docker 无法连接访问 MacOS 连接的 USB 而构建实例工程失败. - 2025-07-08: 喜提新 Thinkbook, 由于显卡和网卡驱动找不到安装 Debian 失败特别狂躁, Tonic 上报复性狂练 3 小时降 E 大调音阶. 后来安装 Ubuntu 24.04 实体机成功编译. btw, Spark 推荐的 AtlasOS 太好用啦, Synergy 同步 Win, Mac, IOS, Linux 剪切板太方便啦 (就是没有安卓hh)
- 2025-07-09: 在 Ubuntu 24.04 上成功构建
CFU-Playground
的/proj/proj_template
实例工程. 并且发现 MacOS 上也可以用 Docker 成功生成比特流文件. - 2025-07-10: 在 Ubuntu 24.04 和 MacOS 上成功搭建 iCESugar-UP5K 开发环境, 并成功烧录! 完善了教程内容, 建立了 My TinyML Repo 用来存放 iCESugar-UP5K 开发板的例子代码和 ML 加速器的代码.
- 2025-07-11: 大致了解了各大 submodule 的功能.
- 2025-07-12: 成功将 CFU-playground 的
proj_template
烧到 Arty 开发板上. 认识到开发环境的搭建和理解是一项较大的工程, 但是实际有用的信息并不多, 所以打算并行地学习环境的搭建和 CPU、GPU、Cuda 的知识.