1.58-Bit (BitNet) Dil Modeli Çalıştıran ESP32-S3 Kümesi
İçindekiler
Genel Bakış
ESP32s3-LLM-Cluster projesi, 1.58-bit (BitNet) üçlü kuantizasyon (ternary quantization) tekniğini kullanarak 0.5B parametreli bir büyük dil modelini (LLM) 7 adet ESP32-S3 mikrodenetleyiciden oluşan bir küme üzerinde dağıtık ardışık düzen (pipeline inference) ile çalıştıran açık kaynaklı bir donanım/yazılım uygulamasıdır.
Mimari (Architecture)
Proje, dil modelini dilimleyerek (sliced LLM) 7 adet ESP32-S3 kartı arasına dağıtır. Kartlardan biri Master (yönetici), diğer altısı ise Compute Node (hesaplama düğümü) olarak yapılandırılmıştır. Düğümler arası iletişim yüksek hızlı SPI Daisy-Chain hattı üzerinden gerçekleştirilir:
- Master Düğüm (Giriş Aşaması): BPE Tokenizer ile kullanıcı istemini işler ve INT4 formatındaki (~14MB Flash) Token Embedding katmanını çalıştırır. Ürettiği FP32 gizli durum vektörünü (Hidden State Vector) SPI Kanal A üzerinden 1. Hesaplama Düğümüne iletir.
- Hesaplama Düğümleri (Node 1 - Node 6): Modelin Transformer bloklarını sırayla yürütür (her düğüm 4 katman üstlenir; örneğin Node 1 Katman 0–3, Node 6 Katman 20–23):
- RMSNorm: FP16'dan FP32'ye ölçeklenir.
- 1.58-bit Attention: Q, K, V, O projeksiyonları ve RoPE desteği.
- KV Cache: PSRAM üzerinde saklanır.
- 1.58-bit MLP: Gate, Up ve Down projeksiyonları.
- Master Düğüm (Çıkış Aşaması): Node 6'dan dönen veriyi SPI Kanal B üzerinden teslim alır. 'fnorm' bölümündeki (64KB, FP16) Final RMS Norm katmanını uygular, INT4 embedding tablosuna bağlı LM Head üzerinden Greedy Sampling yürüterek bir sonraki token ID'sini üretir.
Başlarken (Getting Started)
Projeyi başlatmak, donanım kablolamasını yapmak ve modeli derleyip kartlara flaşlamak için adım adım yönergeler sunan workflow.md rehberi takip edilmelidir.
Proje Yapısı (Project Structure)
- README.md: Genel proje dokümantasyonu ve mimari açıklamaları.
- workflow.md: Adım adım flaşlama, model hazırlığı ve bağlantı rehberi.
- .gitignore: Derleme dosyaları ve ikili çıktılar için Git yoksayma kuralları.
- docs/images/: Mimari diyagramları ve donanım bağlantı fotoğrafları.
- master_board/: Master düğümün ESP-IDF ürün yazılımı (
main.cpp,embedding.cpp,lm_head.cpp,spi_bus.cpp). - partitions.csv: Flash için özel bellek bölümleme tablosu (token, model, fnorm).
Yazılım Geliştirme ve Öğrenme Çıkarımları
Uç cihazlarda (Edge AI) yapay zeka modelleri çalıştırmak isteyen geliştiriciler için bu mimari şu pratik kazanımları sağlar:
- Ternary Kuantizasyon: BitNet (-1, 0, 1) ağırlıkları bellek kullanımını dramatik biçimde düşürür ve yoğun matris çarpımlarını basit toplama/çıkarma işlemlerine dönüştürerek mikrodenetleyicilerde LLM çıkarımını uygulanabilir kılar.
- Boru Hattı Paralelliği (Pipeline Parallelism): Büyük bir modeli tek bir çipe sığdırmak yerine ardışık SPI bağlantısıyla katmanlara bölmek, düşük maliyetli donanımlarla yatay ölçekleme yapmanın verimli bir yoludur.
- Bellek Hiyerarşisi Yönetimi: Flash bölümleri ile harici PSRAM'in doğru ayrıştırılması, gömülü sistemlerde KV Cache darboğazlarını aşmanın temel anahtarıdır.
[Orijinal kaynağa buradan ulaşabilirsiniz.](https://github.com/Low-Zi-Hong/ESP32s3-LLM-Cluster)
Bu konuyu derinlemesine öğrenmek isterseniz: Edge Runtime ve Production Optimizasyonu modülüne göz atın.
Bu konuyu daha derinlemesine öğrenmek ister misin?
Edumints'teki ücretsiz kursları incele ve bugün başla.
Kurslara Göz At →