I'm making LLMs work on small and old devices
github.com
github.com
So to get any model working on $OLD_HARDWARE, the hardest part of the task is now sourcing the hardware itself and giving the agent ssh access -- a modern agent will be able to source a compiler, write the implementation, optimize it, test in qemu (or any other simulator) and push it onto the device.
Example prompt: "write an inference engine for qwen3 0.6b in pure assembly that runs on this device. Write a script to attach the weights to the resulting binary. Prefix is supplied as a stream of u32 token IDs on stdin. The engine streams u32 token IDs on stdout."
I'm treating it as a search algorithm project, where I develop the methdology and search for pushing the limit of devices and searching in a big space of possible kernels and so for what works for a specific hardware.
so I'm looking at it from a different prespective, it takes a lot of brute forcing, and claude can do this well, the whole game (to me) is which directions you push the model into to reduce the search space. and how that learning from very small and tight devices you can scale these techniques.
But in essence, I don't disagree with your sentiment - the goal is not 0.6B models, these are extremely trivial as you mentioned and as I showed in the experiments, the goal is 16B+ models, and this as far as I've seen, requires smart methods to search for optimizations and customizations both to the model and inference engines.
When you find two sants in the kitchen, you are certain to find more sants. Won't fool ME.
"claudia slop me up some 600m, commit, push, make 500 pages of slopped README.md, github stars+++"
great, you should definitely do this, there will be absolutely no problems whatsoever and it'll also run at peak speeds while of course being completely unusable because who wants to run a slopped 600m
t. at 1200+ commits on my "oneshot"
It's fun times actually. And I think such experiments and others posted are both showcasing the limits people are pushing.
Now Reached 16B models running on iPad Air 1st gen and xiaomi tv box, both have less than 1GB of usable memory, and reached some decent speeds given the hardware.
I'm open sourcing the effort done, kernels developed and results for everyone to re-produce and push more, also the modified models are on hugging face : https://huggingface.co/hyperionaidev
I want a more challenging device, what do you think?
Once that's done it means people(or startups) can get an edge LLM subsystem on their projects for the zero or boards with more ram.
A Playdate
I hold A to speak. B to cancel. Turn the crank really fast and really slow → send the prompt!
I still do use it sometimes.
The app talks via serial and WiFi.
Perhaps the real value with AI is going to come from...surprise here...a whole bunch of different low resource AIs networked together living and working and yes playing thru a networked "society"
Sounds kinda familiar doesn't it?
I'd thought of the ESP32 devices but their RAM is too small
It also runs on MS-DOS 80386 2MB RAM, so...
And iPhone 1. And Digital UNIX.
I think realistically smth around 5tok/sec is possible with them for 2B models or so if you provided enough ram for streaming. worth a shot
Even a Pi 3 is a no-go for any model of consequence. At the very least get a Pi 4 or old ARM phones with NEON.
Have you got a write up for it?
https://www.mikeayles.com/blog/on-chip-llm-kv260/
Its right up against the wall of DDR bandwidth, so I'm trying every trick in the book to get the speed up
One of those vapes with a screen on it.
They have a color LCD display that looks unnecessarily good considering what it does. You can see an example of one of the animations at the 52s mark in this video https://www.youtube.com/watch?v=peNyiLt5SKk&t=52s
I've got no idea what's inside of it yet but I'm open to tinkering if someone can walk me through it
I doubt any vape is powerful enough to run any LLM on its own, but idk if it's possible to run one on a cluster of vapes.
Between the VUs, the R5900's SIMD (MMI), the GS and the I/O buses (FireWire, Ethernet, IDE, Memory Cards...) to stream model weights, the smallest Bonsai models (or aggressively quantized Qwen3.5-0.8B) and some really cursed programming might just eke out something the PlayStation 2 has no business running.
I’ve been working on small local models and it’s amazing how fast the tech has progressed
A year ago, I was creating conversational characters by finetuning a qwen 2.5 0.5b param model, and it worked pretty well. But no reasoning or math capabilities, and still required some decent specs to run; could maybe do well enough in a beefy raspberry pi
But now, I have a locally trained 6.5M param model that does reasoning, solves multi-step math problems, does simple physics problem simulation, tool calling, RAG and conversational chat. Total size about 30MB packaged for ONNX, and runs with <10ms latency in the browser
I believe in a 6-8 months it will get even better and my TV will be happy.
I didn't try fine tuning so small models honestly but looks interesitng to try.
I've been surprised myself. For reference, it gets better ppl (and with faster training), than the nanogpt model from Karpathy's tinyshakespeare tutorial, at smaller size (nanogpt is 10M params)
Trained entirely from scratch. Which gets it pretty far in terms of basic conversational skills, especially when also trained on chat conversations
The training sources are:
1. Google Synthetic PersonaChat
2. DailyDialog
3. SODA conversational data
4. Hand-written model-personality conversations, repeated during training
5. Identity-corrected conversations—rewritten names, human-life claims, and hobby responses
6. 960 synthetic recovery conversations, teaching it to admit ignorance after user push-back
The final set contains 23,270 conversations
However, the chain reasoning and math problem solving skills, I was only able to add recently, by grafting certain parts from a 1B model, then doing space-weight programming, and finally finetuning/training to get the model to "get used to" reasoning. The "full model" is more of a harness + model:
* Frozen base model to interpret questions
* Additional trained heads to select question types, evidence, and follow-up behavior
* A library tool for retrieving facts
* Working memory and internal script language execution for arithmetic, conversions, and comparisons across answers. For example, it can retrieve a building’s height, remember that number, then execute “half of that”
* Identity extraction and physical simulation, so you can do thing like - User: "Ben has the ball", User: "Who has the ball", Model: "Ben", User: "Ben gave the ball to Sally", User: "Who has the ball now?", Model: "Sally"
It's relatively easy adding skills either via its internal scripting language, grafting+weight programming, fine-tuning and/or training it to use a new skill. The main limitation right now seems to be just quality data and proper supervision, ie. someone to talk to the model, flag issues, fix them, then re-test. This is kinda tedious, but I've found that even the best frontier model is kinda lacking in quality when producing synthetic conversational data, and most datasets out there have a lot of cruft. So I get better results just manually producing the data and iterating, than feeding it GBs of public datasets (even famous datasets have a quite a bit of un-reviewed data, as well as errors, which aren't even published)
Creating and training this model has been a lot of fun. Since it's so tiny, it's easy to experiment with and try a lot of different things. Most training I can just do in a few minutes locally
It's all quite clearly collusion among a few dozen, hundred. No way their education/experience or data analysis engines have not made them aware.
They’re just used to Boomer and Silent Generation politicians blithely enabling them cause line go up for them when they do!
Curious to see how well it works on Millennials and GenZ; the elders were educated before STEM education had matured in a lot of ways. Younger generations have not had debunked fantasy rammed down their throat as scientific fact; Nostradmus types of the mid-late 1900s pointing at some ignorant math assuming it's true because it's written in a scientific notation! Duh!
Science education of the past gave rise to thinkers like the Oceangate CEO. Nihilists who figure there's no such thing as forever and we all die anyway; so YOLO no matter who I take down with me.
It went all downhill from there. In the 70s and 80s experimental physics got a bad rap and I think this mindset trickled down to education. The turning point for me was the 1993 cancellation of the Superconducting Super Collider, where this tendency must have become obvious to everyone.
Not sure about your other points and what you conclude from a perceived improvement of STEM education, but I am convinced boomers and Gen-X enjoyed more solid scientific training than later generations.
In these settings, data is insanely messy beyond your wildest nightmares and hidden away in free-text fields that small models like this are great at cleaning up, normalizing, parsing, categorizing, etc
(In another comment you mention being involved in finance and healthcare)
By that I mean, have you found a case where a fine-tuned, small model is outperformed by stuffing a heavily tuned larger model in its place?
where can I read up on that?
This alone is quite useful in small/limited devices/contexts.
Realtime log parsing and summarization is another application I've seen for little LLM's..
Basically, anywhere you'd use an LLM, but at much, much smaller scales of ontology.
On other notes : there is no free lunch, you have to sacrifice something for the other
https://github.com/slvDev/esp32-ai
It shows using Per Layer Embeddings to run models that normally take 100s of MB of ram run efficiently in just a few KB of ram and keeps most of the model on disk. It’s somewhat similar to MoE so it doesn’t stream in the whole model from flash for every token, but takes it even farther. If some of these devices have 1GB of ram and a few GB of disk there might be some interesting options here.
I’ve been investigating getting something like that running on the Wii too, though I haven’t made much progress in a while. Some basic calculations says a 1B model might be possible, at least a few hundred M
Qwen3.6-35B-A3B at 4.9-5.7 tok/s Qwen3-Next-80B-A3B at 2.8 tok/s
And targeting 10 tok/s for both, 35B modified is on hugging face and 80B is uploading..
I'm excited to see what we can squeeze out of older hardware, in the same spirit of demoscene or "will it run DOOM?".
Especially timely given current hardware scarcity. Will be watching this space.
and the new thing will be "will it run qwen" :D
I'd be interested in seeing some older flag ship mobile devices
The more I learn about my HVAC systems, the more I think that area is ripe for technical disruption
Whoah!! A tv has almost 2GB of ram?! Does it need it to run Chrome or Electron? /s Ouch
https://github.com/hyperionaidev/smolmaxxing/blob/main/EXPER...
Not my site, but same idea: https://www.parkytowers.me.uk/thin/
All this old/obsolete gear is plenty capable when used with the right software.
I did get Qwen3.5 0.8B working at 5 tokens per second on the iGPU of a Dell Wyse 7020. I mostly use it to complain to; I have not yet found an agentic task for it. But also the CPU does plenty of small services and terraria servers and such.
https://nortyspock.github.io/blog/running-a-language-model-o...
It makes more practical sense today to just go into 4gb GPUs and many people are working on this already.. on my side of things, it's more on the exploration side for now, until we see what good models get released that can use this capability.
There are many people on github and x running decent models especally MoE models on older GPUs and it's doing nice, I'm personally tinkering with this at home.
mrashad74 3 minutes ago | parent | next [–]
most of the problem is actually brute forcing, so I'm using a brute forcing machine and just giving it pointers to reduce the size of search space for tricks, still fun, nothing frontier I know, but it's nice to see what we can do with our little brute forcing machines.
reply
mrashad74 4 minutes ago | parent | prev | next [–]
well, yes claude is doing that, and I'm directing it and building the experiments and direction only, I didn't hide it at all :)
Everyone is using LLMs now, so it's acceptable to use it for a fun experiment too I believe.
reply
Everyone is using LLMs now, so it's acceptable to use it for a fun experiment too I believe.
Thanks for the pointer!