>I used Qwen2.5-Coder-0.5B as the starting point. I needed a small model to get close to realtime performance. Being a coding model, it had also already seen plenty of CLI usage.
Interesting. I wanted to ask, how that model compares with the fine-tuned version, but I just saw the author provided benchmarks. Interesting that fine-tuning improved the memory so significantly, wouldn't have expected that.
Though, on second thought, I had an experience where I was able to, as a human, fine-tune my memory beyond what I previously thought was possible!
Reminds me of one of my favorite jokes.
Excuse me, can you tell me how to get to Carnegie Hall?
Very very cool! Impressed that it can be done with only fine tuning
On a very similar theme, I recently built a ālossy gitā, which stores your code by training a neural network, then it generates the code back to you on checkout
The web demo runs entirely on the browser, both the version control and the neural network training/inference. You can commit and checkout both images or code - you can also paste/āuploadā your own images, no server requests (everything clears from the page on reload)
That's very cool project.
I read this blog post a few days ago about one way to look at memory encoding in models https://alexwang.ai/posts/associative-memory/ that you might find relevant
I wonder how much a small model could do if it had a tool calling API for a filesystem, an embedded busybox, and a single output token for 'emit what busybox would do here'. Then presumably the model parameters could learn everything that diverges from what busybox can handle.
I tried it and is not working remotely as close as the demo gif. It keeps telling me that "test1" folder that I want to create already exists (not true), then letting me do "mkdier test2" (sic) but then the folder is not there when ls.
I mean all its expected, this has no state, follow no rules and is making up things from the current context, but is not as "magical" as I thought when watching the demo.
That seems as likely as anything, but that just moves the problem to counting, doesn't it? The model gets the duration, but I was under the impression LLMs struggled with the arithmetic that would make that useful.
Idk about Qwen 2.5 Coder that this is based on, but modern models don't struggle with arithmetic. I see Qwen 3.8 do long-hand math in thinking traces (ie. it outputs 17+35+12=64 in the thinking trace) so I would imagine this is something they train into the model specifically. Sometimes it creates and runs a simple python script to check its work.
I regretfully suspect this actually is the future of UI. You just need smart local models running fast enough to keep the framerate high, but thatās inevitable in the long term, isnāt it?
We had decades to work on making software more performant, but instead most users' space-age 2nm chips spend most of their time running Javascript because it was faster to make software that way.
Why would you do that instead of having the model do the task you're using the UI for? It could generate UI widgets on-the-fly as needed to take richer inputs.
It might be fine for one-off applications, but it's incredibly inefficient for something that has to be done over and over.
Why would you use a GPU and gigabytes of VRAM running a non-deterministic process for something a program can do on the CPU in milliseconds with kilobytes of memory?
The logic here is a bit different. Consumer software is slow because it's the user paying for the compute to run those bloated Electron apps. Unless we're all running local inference in the future, it would be the vendor paying for the compute to run the AI-based UI.
Of course they would pass that along to the consumer, but nobody is going to pay token-based pricing for something that used to be free and ad-supported, or a cheap monthly subscription.
Terminal world models have many applications, but empirical observation of successful pretraining or fine-tuning can be significant for encapsulating from rather expensive Bash traces, such as ones obtained from systems with scarce accelerators, etc.
BUG: Running in Firefox makes every keypress a slow motion show. It decodes every keypress instead of sending a command with Enter key
>I used Qwen2.5-Coder-0.5B as the starting point. I needed a small model to get close to realtime performance. Being a coding model, it had also already seen plenty of CLI usage.
Interesting. I wanted to ask, how that model compares with the fine-tuned version, but I just saw the author provided benchmarks. Interesting that fine-tuning improved the memory so significantly, wouldn't have expected that.
Though, on second thought, I had an experience where I was able to, as a human, fine-tune my memory beyond what I previously thought was possible!
Reminds me of one of my favorite jokes.
Excuse me, can you tell me how to get to Carnegie Hall?
āPractice, man... Practice...
> ⦠I had an experience where I was able to, as a human, fine-tune my memory beyond what I previously thought was possible!
Please elaborate.
I havenāt run extensive tests yet, but larger models also get better at memory.
Very very cool! Impressed that it can be done with only fine tuning
On a very similar theme, I recently built a ālossy gitā, which stores your code by training a neural network, then it generates the code back to you on checkout
* web demo: https://nicobrenner.github.io/lossy-git/demo.html
* cli version: https://nicobrenner.github.io/lossy-git/
The web demo runs entirely on the browser, both the version control and the neural network training/inference. You can commit and checkout both images or code - you can also paste/āuploadā your own images, no server requests (everything clears from the page on reload)
That's very cool project. I read this blog post a few days ago about one way to look at memory encoding in models https://alexwang.ai/posts/associative-memory/ that you might find relevant
I wonder how much a small model could do if it had a tool calling API for a filesystem, an embedded busybox, and a single output token for 'emit what busybox would do here'. Then presumably the model parameters could learn everything that diverges from what busybox can handle.
I think the toolcalling should be system prompts then the agent is the userspace
I tried it and is not working remotely as close as the demo gif. It keeps telling me that "test1" folder that I want to create already exists (not true), then letting me do "mkdier test2" (sic) but then the folder is not there when ls. I mean all its expected, this has no state, follow no rules and is making up things from the current context, but is not as "magical" as I thought when watching the demo.
Very cool. Fun project. I feel like thereās a wide field to be explored once you understand fine tuning good existing models
It would be interesting to expose this on the internet. I wonder what the scrapers etc⦠would do with it.
There was a whole fake gui OS with similar concept right
VibeOS - Fully Hallucinated Operating System
https://www.youtube.com/watch?v=z3pV6FHvcgM
athropic had an experiment that did exactly this. we need more experimentation in this space.
Reminds me of this project from Microsoft. A Quake II āsimulationā model where the whole application was just a model.
https://www.microsoft.com/en-us/research/articles/whamm-real...
These are called world models, which is why the project is called WorldTUI. For another example, take a look at Google's recent Genie models. https://deepmind.google/blog/genie-2-a-large-scale-foundatio...
Wait, how did it `sleep 3`? I thought LLMs didn't have a concept of time
Itās still rendering frames constantly, no? So it just figures the next X frames are all doing nothing?
Normal only keypresses invoke the next āframeā. There is a sleep token that the runner could use to indicate that time is moving.
from the post:
Time is an input too. If nothing is pressed, the model gets a WAIT token with a duration instead of a key, which is how snake keeps moving on its own.
That seems as likely as anything, but that just moves the problem to counting, doesn't it? The model gets the duration, but I was under the impression LLMs struggled with the arithmetic that would make that useful.
Idk about Qwen 2.5 Coder that this is based on, but modern models don't struggle with arithmetic. I see Qwen 3.8 do long-hand math in thinking traces (ie. it outputs 17+35+12=64 in the thinking trace) so I would imagine this is something they train into the model specifically. Sometimes it creates and runs a simple python script to check its work.
I regretfully suspect this actually is the future of UI. You just need smart local models running fast enough to keep the framerate high, but thatās inevitable in the long term, isnāt it?
What if we're really just living in a world model? How big of a GPU is required to run the universe I wonder?
We had decades to work on making software more performant, but instead most users' space-age 2nm chips spend most of their time running Javascript because it was faster to make software that way.
even my ten year old laptop browses the web fine ^_^
If I had to complain about any site/app it'd be datadog... each tab uses like 1gb in firefox.
Why would you do that instead of having the model do the task you're using the UI for? It could generate UI widgets on-the-fly as needed to take richer inputs.
It might be fine for one-off applications, but it's incredibly inefficient for something that has to be done over and over.
Why would you use a GPU and gigabytes of VRAM running a non-deterministic process for something a program can do on the CPU in milliseconds with kilobytes of memory?
Probably for the same reasons most of our desktop applications have become slow Chromium instances consuming multiple GBs of RAM, each:
Itās cheaper to hire developers, and quicker to ship software. The user experience be damned.
The logic here is a bit different. Consumer software is slow because it's the user paying for the compute to run those bloated Electron apps. Unless we're all running local inference in the future, it would be the vendor paying for the compute to run the AI-based UI.
Of course they would pass that along to the consumer, but nobody is going to pay token-based pricing for something that used to be free and ad-supported, or a cheap monthly subscription.
I don't really disagree, but... why do we use Javascript for so many UIs? Badly designed web pages with ads can easily use gigabytes of RAM.
Edit: oh, I saw you wrote a related comment after I posted this. So you already know that direct LLMs for UIs are all but inevitable...
Wow! This this reminds me of when we tried doing this with gpt 3 and.. it worked!
The tmux thing had me confused for a moment until i realized it was emulating tmux. Super fun. Is the model window width aware?
good old days https://news.ycombinator.com/item?id=33847479
Where is the point of this project if i have terminal ?
The point is riding the bandwagon that drags a trailer with a couple of power plants, a small lake of water and a gold reserve in it.
Not unlike that American tractor pulling, geek version.
Sometimes it's just fun to do something absurd because you can. This is one of the reasons software is exciting.
Terminal world models have many applications, but empirical observation of successful pretraining or fine-tuning can be significant for encapsulating from rather expensive Bash traces, such as ones obtained from systems with scarce accelerators, etc.
Was thinking the same thing. I just run my usual terminal and get to work.
because curiosity is the most fun of virtues!
This will allow you to delete your terminal app and, eventually, all other binaries in your system!
Because it was there