Running a 28.9M parameter LLM on an $8 microcontroller

(github.com)

54 points | by boveyking 6 hours ago ago

6 comments

  • rao-v 39 minutes ago

    This is a really neat use of the per-layer embedding trick. It's also worth noting that there viable TTS models that are ~20-30M param, so it might mean you can have a ESP32 with no network access read stuff out to you in near real time!

    • Lerc 6 minutes ago

      One of the things I have been wanting to try for a while now is something like this with a layer per MCU. I have some crazy ideas with RP2350's talking to each other with dedicated lines fed by PIO going through a combination of interpolators and dual multiply instructions.

      PSRAM, Flash, and even SD cards may not have the best bandwidth individually, but they can reach quite impressive rates when you have a shitton of them running all at the same time.

      The large scale dedicated hardware systems will still have the edge for performance per watt, but the low entry level and slow incline does make these things quite appealing.

  • smy20011 6 minutes ago

    Super cool, thank you for sharing!

  • chrishynes 36 minutes ago

    Why can't this scale to run much larger models on CPU backed by flash with good access patterns?

  • althea_tx an hour ago

    This is a really cool project. Thanks for sharing!

  • cr125rider an hour ago

    9.7 tokens/sec actually seems like a lot! That’s fun!