在微控制器上运行DCGAN推理:1260万参数,512KB SRAM,26秒生成,纯C实现 [P]
摘要
演示在低成本RISC-V微控制器(CH32H417)上运行具有1260万int8量化参数的DCGAN,使用纯C推理和量子熵采样,在26秒内生成64x64的猫脸图像。
分享一个进展:我在双核RISC-V微控制器CH32H417上运行了DCGAN,生成了64x64的猫脸图像。这是一款新型RISC-V MCU,没有TFLite、CMSIS NN和外部内存。它采用纯C推理引擎,输出与PyTorch参考结果比特完全一致。模型具有1260万参数,采用int8每通道量化。中间激活存储在DTCM中,层权重从SD卡通过双缓冲流式传输,当前层计算的同时下一层加载。总可用SRAM为512KB,由两个核心和推理引擎共享,生成一张图像的时间为26秒——实际上可以更快,但SD卡访问速度是瓶颈而非计算。z向量从200字节的量子随机数据(ANU QRNG真空涨落源)中播种,通过Box-Muller变换生成潜在向量。这对图像质量并非严格必要,但作为艺术装置项目的有趣约束。生成的猫根据单个量子比特被分类为“有动力”或“无动力”,从包含四个片段槽的短语库中选择,组合成131,072种可能的语音判决之一,通过板载DAC输出……据我所知,还没有人在这些低成本RISC-V微控制器上运行GAN推理,因为ARM有CMSIS NN生态系统支持这类任务,但RISC-V MCU(尤其是CH32系列)完全没有此类支持,因此整个推理引擎是从零编写的。论文:[TinyGAN: Generative Image Synthesis on a RISC-V Microcontroller with Quantum Entropy Sampling](https://zenodo.org/records/20371371)
相似文章
在12GB显存预算下实现真正的本地代理编码。
本文描述了一个实用的设置,用于在12GB显存GPU上运行本地代理编码,使用量化后的Qwen 3.8 27B模型,并通过OpenCode和Magic Context等工具进行上下文管理,实现高效性能。
训练了一个在264KB RAM上运行的扩散模型 [P]
一个人训练了一个扩散模型,在只有264KB RAM的Shrike lite微控制器上生成32x32像素的图像,尝试了FPGA加速但遇到了内存瓶颈,导致输出有时是噪声但有时很有趣。
我在一个 RP2350 微控制器上实现了一个非常小的图像生成模型(潜在流动变换器)——它可以生成 128x128 的人脸图像 [P]
一个具有 2.4-4 百万参数的小型潜在流动变换器,量化到 int8,在 RP2350 微控制器上实现,可在大约 20 秒内生成 128x128 的人脸图像。
@bkdgiffug:一个拥有 2.78 万亿参数的模型,居然能在 8GB 内存上运行?听起来荒谬,但这个项目确实在折腾……
该项目展示了一个拥有 2.78 万亿参数的模型,仅用 8GB 内存即可运行——采用纯 C99 编写的推理引擎,不依赖 BLAS、任何框架或 GPU,以速度换取极致的内存效率(8GB 内存下约 26.5 秒/token,128GB 以上约 5.6 秒/token)。
在微控制器上运行13M参数的ASR Conformer模型
详细介绍了一种在微控制器上直接运行拥有13M参数的ASR Conformer模型的方法,突出了边缘AI部署的进步。