Remix.run Logo
▲ pbohun 4 hours ago

>Overall, nesformer runs 150–290× slower than the real console.

I like these kinds of projects because it helps to show the massive compute requirement between LLMs and ordinary programs.

A while back I saw some people saying we would just have LMMs hallucinate an entire operating system every single frame. I guess technically it's now proven to be technically possible, but it would be thousands of times slower while requiring thousands of times more compute (a multi-million x difference from an ordinary OS!).

▲flockonus 17 minutes ago | parent | next [-]

> have LMMs hallucinate an entire operating system (...) technically it's now proven to be technically possible

You're comparing apples to oranges there!

To hallucinate is arbitrary, you can use a 2B image param model, it will hallucinate an OS no problem* running real time!

What this post is about is completely different, which is actually emulating the complete system in an LLM - that is hundreds (or more) times slower.

*absulutely crappy quality tho, unusable OS in practice

▲jedbrooke 3 hours ago | parent | prev | next [-]

This is a bit different though. It’s using transformer architecture to emulate almost at the circuit level. It’s probably even more inefficient than something that was trained to emulate a cpu, but with the advantage of actually being an exact emulation rather than learned approximation.

It’s a bit like when a human brain remembers facts, if you sat down and computed the hash values of the thing you were trying to remember, and traced out a DB lookup in your mind, it’d be a lot slower than just “oh yeah I remember that”.

▲btown 3 hours ago | parent [-]

We're in a really interesting world where "anything can run anything." Like, in theory, you could get Doom to run on a Cerebras that's specifically laid out for $specific_model architecture, by swapping the weights it holds in SRAM. Just like we're currently running $specific_model on GPUs that were designed for games in the first place.

To misquote a certain YouTuber: LLMs are just games, unlimited games, but no games.

▲acedTrex 3 hours ago | parent [-]

How accurate is that run of doom i wonder is it lossy in any sense

▲ben_w 3 hours ago | parent | prev | next [-]

> A while back I saw some people saying we would just have LMMs hallucinate an entire operating system every single frame. I guess technically it's now proven to be technically possible, but it would be thousands of times slower while requiring thousands of times more compute (a multi-million x difference from an ordinary OS!).

Gosh. That would be a very silly use of an LLM.

Bad use of any AI, even image/video models which are certainly less wrong than this. Stuff like DLSS show we're getting stuff that could generate a game's graphics frame-by-frame, but even though it's possible to have an entire game environment (not just graphics, everything) done by an AI, such things demo better than they play due to temporal coherency.

That said, having an AI make the code for each thing as you need it, might work somewhat OK eventually. Wouldn't trust it today (security, data integrity, and a tendency to cheat on tests), but eventually it could happen.

▲StilesCrisis 2 hours ago | parent | next [-]

VibeOS? It's been done! It's hilarious: https://youtu.be/7NfyZhV1dKM?is=Y8LwTbY_stLPilqR

▲Conscat 2 hours ago | parent | prev [-]

> Stuff like DLSS show we're getting stuff that could generate a game's graphics frame-by-frame

A key point of DLSS (5) is that it is significantly guided by ground truth rasterization or raytracing info. It's not intended to replace graphics pipelines, it augments them to produce more detailed surfaces and interpolate frames more efficiently than calculating all of it traditionally is. But you have to calculate some of it to get these results, it can't be a purely AI solution without looking incoherent.

▲woah 3 hours ago | parent | prev | next [-]

This is exactly like if someone implemented a CPU using nothing but CSS animations. Maybe a fun way to teach about turing completeness, but pretty meaningless otherwise.

▲touristshaun 3 hours ago | parent | next [-]

Hard disagree on it being meaningless. Just showing that this is now possible and providing the details on how it was accomplished makes it invaluable to builders.

▲not_a9 3 hours ago | parent | prev | next [-]

https://lyra.horse/x86css/

▲donaldjbiden 3 hours ago | parent | prev [-]

[dead]

▲augment_me 3 hours ago | parent | prev | next [-]

Let's say you are developing a product, choose 1:

1) Have a single person vibe together a computationally inefficient solution in 1 month that runs transformers on some backend.

2) Hire a team to work for 2 years to design, perfect, optimize, plan, revise, and architect a solution.

The risk/reward for 1) is extremely better than 2). Given the turnover for entertainment in this day and age it doesn't make sense to do all this complex stuff.

▲pbohun 3 hours ago | parent | next [-]

It would be much better to use LLMs to create ordinary programs than to use an LLM over and over to emulate something that's thousands or millions of times more efficient.

▲dolni 3 hours ago | parent [-]

Thousands or millions of times less energy used is a whole lot better for the environment, too.

▲pasquinelli 3 hours ago | parent | prev | next [-]

> Given the turnover for entertainment in this day and age it doesn't make sense to do all this complex stuff.

are we not talking about the NES?

▲suddenlybananas 3 hours ago | parent | prev | next [-]

You can't generalize and say that 1 is better than 2, it depends entirely on what you are developing, for whom and for what purpose. For a one-off dumb thing for a few people 1 is fine, for anything at scale, 2 is likely better.

▲pfisch 3 hours ago | parent | prev [-]

How do you vibe a transformer solution without the existing real solution, which would be needed to generate the training data.

These are just machines for ripping off existing games/programs with mostly accurate simulations. You can't vibe together a transformer of something that doesn't exist with meaningful control over the results.

▲barelysapient 3 hours ago | parent | prev | next [-]

That's the case right now--but what might a customized model tailored only for a narrow set of OS functions behave like? I suspect its achievable with a lot less compute.

Now is that a desirable product? Would it succeed on the merits in the marketplace? Maybe it would...

▲pbohun 3 hours ago | parent [-]

As an example, is it faster to multiply 2 numbers using a single MUL instruction or multiply matrices with millions (or billions) of elements multiple times? Multiply that overhead by every single thing you do and that's the overhead of using an LLM to emulate a program.

▲im3w1l 4 hours ago | parent | prev | next [-]

These systems in weights are proof of concepts. Surely there is room for optimization in there somewhere.

▲jerf 3 hours ago | parent | next [-]

Yes, there is.

It's called a Nintendo emulator.

That's kind of the point here.

Code isn't going anywhere. It can be literally billions or trillions of times more efficient than an AI, and as AIs scale up that number just continues to grow and can completely plausibly hit quadrillions in our lifetime. What relationships humans have with code is a completely different question, but the idea itself isn't going anywhere. Anyone who thinks otherwise has failed to grasp just what producing a single token from an AI actually entails.

▲pishpash 3 hours ago | parent | prev [-]

It would be baking the model into hardware or FPGA, which ends up building the same thing being emulated. An emulated ALU in hardware is ... the ALU.

▲varispeed 4 hours ago | parent | prev | next [-]

Isn't that the same with e.g. human brain? Computer program can compute billions of equations, whilst human will struggle with just one.

▲krige 4 hours ago | parent | next [-]

Human brain does a lot more at any given time than just whatever you're consciously thinking about.

▲jagaerglad 3 hours ago | parent [-]

The ones we're not thinking about is the computer program abstraction layer in our brains. I think consciously thinking about an equation in our brains is the LLM layer equivalent, we're reasoning about it with language logic or models of our spatial senses (the unconscious calculations)

▲Terr_ 4 hours ago | parent | prev [-]

Perhaps, but it doesn't indicate anything new or interesting about cognition or biology.

For example, Minecraft in Minecraft [0] is (while impressive) slow and inefficient too, but it doesn't tell us much about humans except that some of them are weirdly ambitious in their projects.

[0] https://www.youtube.com/watch?v=-BP7DhHTU-I

▲ant6n 3 hours ago | parent | prev [-]

It would be a natural extension of the current work in software. Every layer of abstraction/web/scripting language adds seemingly 10x in both ram and processing time, undoing the advancement of 1000x faster processors and ram increases.

But at some point we’re hitting a wall here. If we want our software to undo 100,000x more processing powers, we need that llm software emulation layer.