返回

文章详情

使用 8 美元 ESP32-S3 训练 SLM

Hacker News2026年8月5日 04:07

这段文字是在 AI 的帮助下撰写的。小心:帮助并不意味着 AI 写了它。它是指 AI 纠正、审阅并补充了一些部分,但作者是人类(或者我相信如此)。用西班牙语读我 Qapla' 项目 这就是如何在八美元的 ESP32-S3 上从头开始训练变压器。 (克林贡语) GPT,没有人想要但每个人都需要。我们为什么需要它?因为我们理所当然地认为训练模型需要 GPU 或数据中心。不总是:有时像八美元的微型芯片那么小且便宜的东西就足以从头开始训练一个模型。再读一遍:训练。从头开始。不是运行一个预先处理的模型。训练。前向传播、反向传播和权重更新,在芯片内部。什么是 Qapla'? 边缘 AI 并不是什么新鲜事。TinyML 已经在微控制器上进行推理多年,社区版本的 llama2.c——Andrej Karpathy 的极简主义项目——在 ESP32 上运行了约 260K 参数的变压器,而最近,一个精彩的项目在 8 美元的 ESP32-S3 上运行了将近 2900 万参数的模型。这些都是很出色的作品,尽管它们与这个实验恰巧重叠,但它们并不是我们所追随的模型。Slava S. (slvDev) 的 esp32-ai 项目等其他类似项目都有一个共同点:它们是推理。该模型是在其他地方诞生的——GPU、数据中心——以其数据进行训练、量化,然后再加载到芯片上以便它能运行。大脑在外部被加工后再送至芯片上。我们问自己一个不同的问题:当模型无法在外部出生时会发生什么?当它无法预先训练——因为它需要学习的数据在设备就位之前并不存在——无法随身携带这些数据,并且没有互联网下载它时,会发生什么?我们知道你在想什么:“好吧,但是…为什么任何人需要在 ESP32 上训练一个变压器?”这是一个合理的问题。也许答案是“根本没有理由”。但是…如果我们要发挥创造力,想象一下:一个传感器固定在一台农用机械中,在田野中,它必须学习那台特定机器的正常振动(与世界上任何其他机器都不同),以便在出现故障时发现并在其损坏之前安排维护(不,我不会被你逮到:我说过没有互联网,但… LoRa? ;)。或者想象一个传感器在一块土地上学习那特定土壤的干燥情况——它的土壤、阳光和排水——并预测何时需要浇水,以防植物遭受损害。在这些情况下(以及我们能想到的其他情况)数据在设备安装之前并不存在:没有人能够预先训练它。芯片必须在现场、独自学习。我们没有农用机械可以用来进行实验。因此,为了测试 ESP32 的真实学习能力,我们围绕唯一拥有的东西设计了实验:语言。一个八美元的芯片能够多远,在没有任何人的帮助下,从零开始学习一门语言?在微型设备上进行训练实际上意味着什么? 在八美元的微型设备上进行训练施加了数据中心所没有的游戏规则。这些规则决定了一切:再一次,内存规则。ESP32-S3 只有几 MB 的 RAM/PSRAM,而不是以 GB 为单位。这限制了模型的大小:我们谈论的是数十万个参数,而不是数百万个。在芯片上“适应”和训练的模型必然是小型的。小模型主宰任务。这个大小的模型可以学习语言的结构(单词是如何构建的、语音学、一部分语法),但无法深入了解整个语言的深层语义。任务必须与模型的大小相匹配。而语料库则决定了结果。使用小模型您不需要 GB 的文本。您需要的是紧凑、清晰和结构化的语料库。此外,如果您要发布它,您需要确保没有版权烦恼。将三个约束结合在一起——小模型、狭窄任务、清晰紧凑的语料库——问题变得具体化:哪种语言同时满足所有这些?我可以告诉你我们进行了头脑风暴会议来决定在这一阶段实验哪种语言,但有时最好遵循古老的“第一个想法通常是好的”……在这个特定的案例中,第一个想到的语言是……克林贡语。克林贡语 是的,克林贡语。星际迷航战士的语言。如果你继续阅读,你会发现这个选择似乎更像是工程师而非书呆子。克林贡语并不是发出外星噪音的无意义语言。它是由语言学家 Marc Okrand 于 1984 年创作的,是一种具有系统音韵学、语法和形态学的构造语言:它有一种不同寻常的词序(宾语-动词-主语)和严格的形态学规则。换句话说:它有实际的结构可以学习,这正是小模型需要的,以证明它真正在学习而不仅仅是记忆噪音。

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡