Chuyển đến nội dung
tinAI
Quay lại

Chạy LLM 28,9M tham số trên microcontroller ESP32 giá 8 USD

github.com · Loại nguồn: GitHub 2026-07-26T08:30:41.451Z
Bản dịch tiếng Việt của tinAI · Từ Running a 28.9M parameter LLM on an $8 microcontroller (github.com) · Ngày gốc: · Dịch ngày:

và giữ bối cảnh từ bản tin tinAI đã giới thiệu bài này .

Bài gốc: Running a 28.9M parameter LLM on an $8 microcontroller (github.com)

Tác giả: slvDev

Ngày đăng: Dịch ngày:

TL;DR

Repo esp32-ai trình diễn một model 28,9M tham số chạy trực tiếp trên ESP32-S3, không cần server, với tốc độ khoảng 9,5 token/giây. Chất lượng text còn hẹp vì train trên TinyStories, nhưng kỹ thuật đặt embedding lớn trong flash cho thấy một hướng thú vị cho edge AI offline.

Ước tính đọc: 3 phút

Giới thiệu

Repo esp32-ai trình diễn một language model 28,9 triệu tham số chạy trực tiếp trên ESP32-S3, một microcontroller giá khoảng 8 USD. Model sinh text trên chip, không gửi dữ liệu lên server, và ghi từng từ ra màn hình nhỏ nối với chip với tốc độ khoảng 9 token/giây.

Điểm chính không nằm ở chất lượng văn bản. Model được train trên TinyStories nên chỉ viết được truyện ngắn đơn giản. Thành tựu nằm ở cách nhét một model lớn hơn trước rất nhiều vào phần cứng cực nhỏ.

Con số chính

Model trước đây chạy trên loại chip tương tự chỉ có khoảng 260 nghìn tham số. Bản này lớn hơn khoảng 100 lần nhờ đổi cách đặt weights trong bộ nhớ.

Vì sao khó

Microcontroller có rất ít fast memory. ESP32-S3 chỉ có 512KB SRAM, trong khi mô hình ngôn ngữ bình thường cần truy cập một lượng lớn tham số thường xuyên. Nếu phải giữ toàn bộ model trong memory nhanh, bạn bị kẹt với model cực nhỏ.

Repo này dùng ý tưởng Per-Layer Embeddings từ các model Gemma của Google. Phần lớn tham số của model nằm trong embedding table. Thay vì đưa toàn bộ table vào fast memory, hệ thống để 25M tham số trong flash chậm hơn và chỉ đọc vài row cần thiết cho mỗi token, khoảng 450 byte. Phần “core” xử lý thường xuyên nằm trong SRAM, còn output head và working memory dùng PSRAM.

Sơ đồ bộ nhớ có thể hiểu đơn giản như sau:

SRAM  (nhanh, rất nhỏ)  -> core chạy mỗi token
PSRAM (trung bình)      -> output head và working memory
FLASH (lớn, chậm)       -> table 25M tham số, đọc vài row mỗi token

Model làm được gì

Model viết được các câu chuyện ngắn, đơn giản và phần lớn vẫn giữ mạch. Nó không phải assistant đa năng: không trả lời câu hỏi tốt, không follow instruction, không viết code, không có kiến thức sự kiện.

Giới hạn này đến từ phần reasoning core rất nhỏ. Memory trick giúp chứa nhiều tham số hơn, nhưng không biến microcontroller thành GPU. Giá trị của demo là kiến trúc: chứng minh một cách layout model có thể đưa LLM nhỏ ra thiết bị offline cực rẻ.

Chạy thử

Firmware, wiring và bước flash nằm trong firmware/esp32_llm/README.md của repo. Code training, ablation và quantization nằm trong src/experiments/. Phần đo đạc on-chip và giải thích phương pháp nằm trong RESULTS.md.

Nếu bạn làm embedded hoặc edge AI, repo này đáng đọc theo hướng kỹ thuật hệ thống: cách chọn phần nào ở SRAM, PSRAM, flash; cách quantize; và cách đo tốc độ thật trên thiết bị. Đừng kỳ vọng chatbot, hãy nhìn nó như một prototype cho model offline siêu nhỏ.


Đường dẫn nguồn

tinAI dịch bài này sang tiếng Việt từ Running a 28.9M parameter LLM on an $8 microcontroller (github.com) · Loại nguồn: GitHub và giữ bối cảnh từ bản tin tinAI đã giới thiệu bài này .

Bản tin này có 3 bài dịch liên quan từ cùng bản tin.

Đọc tiếp từ đây

Bạn có thể quay lại bản tin nguồn hoặc mở kho bài dịch để đọc tiếp.

Các bài bên dưới cùng xuất hiện trong bản tin nguồn, nên giữ chung bối cảnh đọc với bài này.

Các bài liên quan trong cùng bản tin trải trên 2 loại nguồn (2 bài). Loại nguồn: công ty/blog 1 Loại nguồn: web 1