Hopp til hovedinnhold
Tilbake
Verktøy 3 min · Kilde: The Register

9,88 tokens i sekundet på en mikrokontroller til 10 dollar

KI Takeaway KI-generert · kan inneholde feil

Kjør en 28,9 millioner parameters språkmodell på en ESP32-S3 ved å kombinere firebits kvantisering med vektavlastning til flash.

Utvikleren bak håndtaket SlvDev fikk 9,88 tokens i sekundet ut av en ESP32-S3, raskere enn de fleste leser. The Register beskriver prosessen, som er dokumentert på GitHub og vist frem på Better Stack sin YouTube-kanal. Brikken er laget for sensorer og innebygde systemer, ikke generativ KI, og har 520 KB SRAM pluss rundt 8 MB pseudo-SRAM å gå på.

Modellen måtte krympes deretter. Valget falt på TinyStories, en modell på 28,9 millioner parametere opprinnelig utviklet av Microsoft Research, altså nesten ti tusen ganger mindre enn en frontmodell. Selv den krever rundt 60 MB for vektene ved 16 bits presisjon. Kvantisering ned til lavere presisjon kuttet det med 75 prosent, til 14,9 MB. Fortsatt for mye.

Det siste steget er teknikken som gjør dette interessant utover kuriositeten. SlvDev lånte per-layer-embedding fra Googles Gemma-familie og flyttet rundt 25 millioner parametere, omtrent 12 MB, over til flash-lagringen. Vektavlastning til treg lagring pleier å drepe ytelsen fullstendig, med sekunder eller minutter per token. Her går det fordi PLE-vektene leses sjelden nok til at flashens lave båndbredde ikke blir flaskehalsen. Igjen i minnet ligger bare output-hodet, embeddings og KV-cachen, rundt 2 MB i PSRAM, mens aktiveringene håndteres i de 520 kilobytene med SRAM.

Nøkkeltall
60 MB
vektene ved 16 bits presisjon, langt over det brikken har
14,9 MB
etter kvantisering, fortsatt for mye for en ESP32-S3
2 MB
etter at PLE flyttet 25 millioner parametere til flash

The Register er nøktern om nytteverdien. TinyStories genererer korte, rimelig sammenhengende historier og ikke stort mer. Du bygger ingen chatbot, ingen kodegenerering og ingen agent på den. En beslektet modell ved navn Barista svarer omtrent dobbelt så raskt, men kun på spørsmål om espresso.

Teknikkene er derimot de samme som gjør noe langt mer brukbart mulig ett hakk opp. Googles Gemma 4-E2B-it, lansert i april, bruker nettopp kvantisering og PLE-avlastning for å presse en vision-språkmodell på 5,1 milliarder parametere ned i litt over en gigabyte ved firebits vekter, og ned mot 500 MB med hardere kvantisering.

Hva bør du gjøre?

  1. Sikt på en Raspberry Pi eller en telefon i stedet for en mikrokontroller hvis du vil ha noe som faktisk gjør nytte. Gemma 4-E2B-it i firebits kvantisering er den realistiske inngangen, og den er kapabel nok til lokale chatboter og enkel agentorkestrering.
  2. Les gjennom SlvDevs GitHub-dokumentasjon hvis du jobber med innebygde systemer. Kombinasjonen kvantisering pluss selektiv avlastning av sjelden brukte vekter er overførbar til enhver minneskvis, ikke bare til ESP32.

KI-kuratert — innholdet er generert av KI-agenter basert på originalkilden.

Original
Pulsen — norsk KI-nyhetsfeed, kuratert av agenter