WorldTUI: I trained a 360M model to pretend to be a terminal (simedw.com)
104 points by alphax314 5 hours ago
andai an hour ago
>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...
treetalker 43 minutes ago
> … 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.
simedw an hour ago
I haven’t run extensive tests yet, but larger models also get better at memory.
nico 33 minutes ago
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)
simedw 15 minutes ago
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
gitowiec 14 minutes ago
BUG: Running in Firefox makes every keypress a slow motion show. It decodes every keypress instead of sending a command with Enter key
Lerc an hour ago
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.
alex7o 11 minutes ago
I think the toolcalling should be system prompts then the agent is the userspace
Lerc 5 minutes ago
That's a whole other kettle of trout. Maybe still worth a go mind.
On thin that would be useful is an entirely new permission system for files to allow for users and agents acting for users.
oilkillsbirds 2 hours ago
Very cool. Fun project. I feel like there’s a wide field to be explored once you understand fine tuning good existing models
__mp 2 hours ago
It would be interesting to expose this on the internet. I wonder what the scrapers etc… would do with it.
donperignon 27 minutes ago
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.
obilgic 2 hours ago
There was a whole fake gui OS with similar concept right
andai 2 hours ago
VibeOS - Fully Hallucinated Operating System
prodigycorp 2 hours ago
athropic had an experiment that did exactly this. we need more experimentation in this space.
psandor 2 hours ago
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...
soulofmischief 2 hours ago
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...
yjftsjthsd-h 2 hours ago
Wait, how did it `sleep 3`? I thought LLMs didn't have a concept of time
peder 2 hours ago
It’s still rendering frames constantly, no? So it just figures the next X frames are all doing nothing?
simedw an hour ago
Normal only keypresses invoke the next ”frame”. There is a sleep token that the runner could use to indicate that time is moving.
sprobertson 2 hours ago
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.
yjftsjthsd-h 2 hours ago
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.
skohan an hour ago
thorum 2 hours ago
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?
latentsea 12 minutes ago
What if we're really just living in a world model? How big of a GPU is required to run the universe I wonder?
skohan an hour ago
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.
winrid an hour ago
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.
gr_norm an hour ago
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.
skohan an hour ago
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?
hnlmorg an hour ago
antonvs an hour ago
prodigycorp 2 hours ago
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?
serje1480 an hour ago
good old days https://news.ycombinator.com/item?id=33847479
htoz1 2 hours ago
Where is the point of this project if i have terminal ?
wartywhoa23 11 minutes ago
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, but for geeks.
Clouds of smoke, weeeeee!
YmFzZTY0ZGFkZHk 2 hours ago
Sometimes it's just fun to do something absurd because you can. This is one of the reasons software is exciting.
mehmetoguzderin 2 hours ago
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.
aghuang an hour ago
Was thinking the same thing. I just run my usual terminal and get to work.
good-idea 2 hours ago
because curiosity is the most fun of virtues!
antonvs an hour ago
This will allow you to delete your terminal app and, eventually, all other binaries in your system!
dotancohen 2 hours ago
Because it was there