首页 时政热点 科技头条 智能AI 安全攻防 数码硬件 开发者生态 汽车 游戏 社会热点 开源推荐 医疗健康 归档 标签 关于

在 8 美元的 ESP32-S3 上训练的 SLM

2026-08-05 1 阅读 约5分钟阅读 pavelai
分享:
字号:
这篇文章是在人工智能的帮助下编写的。小心:帮助并不意味着人工智能写了它。这意味着它对某些部分进行了更正、审查和填充,但作者是人类(或者我相信是这样)。这是在 8 块 ESP32-S3 上从头开始训练变压器的方法。 (克林贡)GPT 没有人要求,但每个人都需要。为什么我们需要它?因为我们理所当然地认为训练模型需要 GPU 或数据中心。并非总是如此:有时像八块钱的微型计算机这样小而便宜的东西就足以从头开始训练。再读一遍:训练。从头开始。不运行预煮模型。火车。芯片内部的前向传播、反向传播和权重更新。边缘人工智能并不是什么新鲜事。 TinyML 多年来一直在微控制器上进行推理,llama2.c(Andrej Karpathy 的极简项目)的社区端口在 ESP32 上放置了约 26 万参数的变压器,最近一个出色的项目在 8 美元的 ESP32-S3 上运行了一个包含近 2900 万个参数的模型。它们是出色的作品,尽管它们恰好与这个实验在时间上重叠,但它们不是我们遵循的模型。 Slava S. (slvDev) 的 esp32-ai 项目以及其他类似项目都有一个共同点:它们都是推理。该模型诞生于其他地方——GPU、数据中心——对其数据进行训练、量化,然后才加载到芯片上以便运行。大脑在外面煮熟并放在芯片上。我们问自己一个不同的问题:当模型无法在外部诞生时会发生什么?当它无法预先训练时会发生什么——因为它需要学习的数据在设备就位之前并不存在——无法携带该数据,并且没有互联网可以下载它?我们知道您在想什么:“好吧,但是……为什么有人需要在 ESP32 上训练变压器?”这是一个公平的问题。也许答案是“根本没有理由”。但是……如果我们要发挥创意,想象一下:一个传感器用螺栓固定在田地中央的一台农业机械上,它必须学习该特定机器(与世界上任何其他机器不同)的正常振动,以发现何时出现问题并在故障发生之前安排维护(不,你不会发现我的:我说没有互联网,但是……LoRa?;)。或者想象一下,在一块土地上安装一个传感器,它可以了解特定土壤的干燥情况(土壤、阳光、排水系统),并在植物受损之前预测何时需要浇水。在这些情况下(以及我们能想到的其他情况),在安装设备之前数据并不存在:没有人可以对其进行预先训练。芯片必须在其所处位置上独立地动态学习。我们没有可供试验的农业机械。因此,为了测试 ESP32 的真正学习能力,我们围绕我们唯一拥有的东西设计了实验:语言。在没有任何人帮助的情况下从头开始学习语言,一块八美元的芯片能走多远?微型培训到底意味着什么?在八美元的微型计算机内进行训练强加了数据中心所没有的游戏规则。这些规则决定了其他一切:再次,记忆规则。 ESP32-S3 具有几 MB 的 RAM/PSRAM,而不是 GB。这限制了模型的大小:我们这里谈论的是数十万个参数,而不是数百万个。 “适合”芯片并在芯片上进行训练的模型必然很小。小模型决定了任务。这种大小的模型可以学习语言的结构(单词是如何构建的、语音策略、一些语法),但不能学习整个舌头的深层语义。任务必须根据模型的大小进行调整。语料库决定结果。对于小型模型,您不需要千兆字节的文本。您需要一个紧凑、干净且结构化的语料库。而且,如果您要发布它,您需要它没有版权问题。将这三个约束放在一起——小模型、狭窄的任务、干净紧凑的语料库——问题就变得具体了:哪种语言同时满足所有这些条件?我可以告诉你,我们进行了一次头脑风暴会议来决定在第一阶段尝试哪种语言,但有时最好坚持古老的“第一个想法通常是好的”……在这种特殊情况下,第一个想到的语言……是克林贡语。是的,克林贡语。星际迷航战士的语言。如果你继续阅读,你会发现这个选择中的书呆子成分更少,而工程师的成分比看起来更多。克林贡语并不是那种发出外星人声音的胡言乱语,然后就到此为止了。它是由语言学家Marc Okrand于1984年创建的,是一种具有系统音系、语法和词法的建构语言:它有不寻常的词序(宾语-动词-主语)和有严格规则的词法。换句话说:它具有真正的学习结构,这正是小模型所需要的,以证明它确实在学习,而不仅仅是记住噪音。它符合我们的约束:结构丰富,有界
这篇文章对您有帮助吗?

订阅66必读

每日精选科技资讯,直达你的邮箱