Rendered at 14:02:26 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
derefr 13 hours ago [-]
> The model weights and inference code need to be contained within 25KB of user-space memory
Wouldn’t it be era-appropriate to allow relying on banked memory? You’d still need to hold the inference code, but you could effectively stream(ing page) the weights as you compute on them.
But with substantial additional effort, maybe some banked ROMs could be added..?
numpad0 1 hours ago [-]
Banking RAM is most simply done by physically wiring RAMs in parallel and routing Chip Select/Chip Enable pins individually from GPIO. People were doing it in PDAs until late 00s. Also, I/O ports on these old machines and CPUs up until switch to PCI Express were philosophically just DRAM slots in alternate shapes, so RAMs could be more or less simply installed and RAMs on adapter cards just accessed. This is also technically applicable to PCIe from various perspectives other than performance.
forinti 1 hours ago [-]
You could buy a board called Integra-B to expand a model B.
Update: Actually, there were other boards. I remember one particular advert for a board that could handle 256KB of RAM/ROM. I'm now actually curious if adding too many ROMs would make the * commands noticeably slower (the OS would look for the commands in the ROMs, one by one, until it found the code to handle them).
froh 9 hours ago [-]
the banking was done via an external ram controller whose bank control register was mapped to some (unbanked) controller address.
vintermann 8 hours ago [-]
From my experience, modern machine learning models don't scale well down at all, and it's almost certainly better to just use a simple Markov chain variant of some sort - like Niall on the Amiga, or whatever Terry Pratchett used to come up with Foul Ol' Ron's catchphrase, "Millennium hand and shrimp".
bmc7505 15 hours ago [-]
Cool to think this demo would have been possible over fifty years ago. I wonder what someone from 1975 would have said if you had shown this to them back then.
tyromaniac 15 hours ago [-]
This is super cool!
As someone who's worked a little with NES programming and tried out cc65, I'm surprised he didn't just hand write some assembly, he likely couldve saved a lot of space if I had to guess.
actionfromafar 15 hours ago [-]
The 6502 is notoriously unfit for a C compiler, so probably there is room for more performance in the future. :)
torment-nexus 12 hours ago [-]
The biggest win for AI dev efficiency is cutting down what gets loaded into context. Semantically matching tasks to the top tools helps a lot.
toplinesoftsys 15 hours ago [-]
This is amazing project! I hope it will result in real miniaturization of AI - for example, edge LLM inside of glasses. That will be awesome.
Wouldn’t it be era-appropriate to allow relying on banked memory? You’d still need to hold the inference code, but you could effectively stream(ing page) the weights as you compute on them.
But with substantial additional effort, maybe some banked ROMs could be added..?
https://www.youtube.com/watch?v=lT07uPRRPfU
A few games required some extra RAM.
Update: Actually, there were other boards. I remember one particular advert for a board that could handle 256KB of RAM/ROM. I'm now actually curious if adding too many ROMs would make the * commands noticeably slower (the OS would look for the commands in the ROMs, one by one, until it found the code to handle them).