当所有人都在追逐云端大模型的时候,有人把生成式AI塞进了一枚小小的单片机里。不是那种动辄千亿参数的庞然大物,而是一块售价几十块钱的开发板。听起来像天方夜谭,但确实有人做到了。

这位动手能力极强的开发者,在RP2350微控制器上跑起了一个图像生成扩散模型。你没看错,就是那种需要显卡、需要大显存、需要云端算力的AI绘画,被压缩到了单片机的世界里。虽然它的能力有限——分辨率只有128×128,只能生成人脸图像,每张图需要大约二十秒——但考虑到它运行的硬件,这已经足够让人惊讶了。

打开网易新闻 查看精彩图片

为什么有人要在单片机上跑AI?

驱动这件事的,是对隐私、定制化和更低成本的渴望。越来越多的人开始关注能在本地硬件上运行的AI模型,而不是把所有数据都交给云端。毕竟,谁愿意把自己的照片、自己的喜好、自己的数据,都送到别人的服务器上去呢?本地运行意味着数据不出设备,意味着你可以完全掌控模型的行为,也意味着——不用为每一次调用付费。

这套系统运行在一块Waveshare RP2350开发板上,生成的结果可以通过USB输出,也可以借助VGA转接板直接显示在屏幕上。想象一下,一个小小的开发板,接上显示器,就能自己"画"出一张人脸——这种体验,和你在网页上输入提示词等待云端返回,是完全不同的感觉。

它到底是怎么工作的?

这个生成模型并不直接"画"出图像。它的工作方式更像是在一个压缩的"潜空间"里做文章。简单来说,它先生成一个潜空间中的分布,然后由一个变分自编码器的解码器部分,把这个分布翻译成一张可见的图像。

这个自编码器分两步训练:先用编码器把图像转换成潜空间的分布,再用解码器把分布还原成图像。训练完成后,编码器就被"退休"了,实际运行时只需要解码器出场。这种设计大大降低了运行时的计算负担,让单片机也能扛得住。

生成部分用的是一种叫做"潜流扩散Transformer"的架构。它从一个噪声开始,然后通过迭代预测,一步步把噪声推向目标图像。更有意思的是,它还能接收一个输出类别作为引导——比如你想让它生成一张"微笑的脸",它就会朝着那个方向去调整。这种可控性,让这个小小的模型多了不少可玩性。

两个模型,塞进4MB闪存

开发者训练了两个模型:一个更大但更慢,一个更小但更快。两个模型的权重都被量化成了8位整数,以压缩体积。最终,两个模型连同推理程序一起,全部塞进了4MB的闪存里。这个体积控制,在AI模型动辄几个GB的今天,显得格外克制。

考虑到模型如此之小,生成结果已经相当不错了。虽然看起来不太自然,但人脸的特征已经相当可辨。你一眼就能看出那是一张脸,甚至能看出表情的倾向——对于一个运行在单片机上的模型来说,这已经超出了很多人的预期。

这件事最让人感慨的地方在于:当大厂们在比拼参数规模、算力消耗的时候,有人在用最朴素的硬件,探索AI的另一种可能性。不是为了取代谁,也不是为了证明什么,只是单纯地想知道——在这么小的芯片上,到底能跑多远。

这种探索本身,就是技术最迷人的地方。它提醒我们,AI不一定是高高在上的云端服务,也可以是你手边一块小小的开发板,安安静静地,画出它眼中的世界。