Hacker News new | ask | show | jobs
by ilaksh 1364 days ago
The thing is, computing has been getting steadily faster, just not at quite the pace it was before and in a different way.

With GPUs we have proven that parallelism can be just as good or even better than speed increases in enhancing computation. And there again have been speed increases trickling in.

I don't think it's realistic to say that more speed advances are unlikely. We have already been through many different paradigm shifts in computing, from mechanical to nanoscale. There are new paradigms coming up such as memristors and optical computing.

It seems like 1000x will make Stable Diffusion-style video generation feasible.

We will be able to use larger, currently slow AI models in realtime for things like streaming compression or games.

Real global illumination in graphics could become standard.

Much more realistic virtual reality. For example, imagine a realistic forest stream that your avatar is wading through, with realtime accurate simulation of the water, and complex models for animal cognition of the birds and squirrels around you.

I think with this type of speed increase we will see fairly general purpose AI, since it will allow average programmers to easily and inexpensively experiment with combining many, many different AI models together to handle broader sets of tasks and eventually find better paradigms.

It also could allow for emphasis on iteration in AI, and that could move the focus away from parallel-specific types of computation back to more programmer-friendly imperative styles, for example if combined with many smaller neural networks to enable program synthesis, testing and refinement in real time.

Here's a weird one: imagine something like emojis in VR, but in 3d, animated, and customized on the fly for the context of what you are discussing, automatically based on an AI you have given permission to.

Or, hook the AI directly into your neocortex. Hook it into several people's neocortices and then train an animated AI 3d scene generation system to respond to their collective thoughts and visualizations. You could make serialized communication almost obsolete.

2 comments

However, 1000x is really not very much. With a 1000x uplift, we could certainly get better weather predictions, but not necessarily paradigm-altering improvement. In a real sense, we already have 1000x speedup and its what you get in a contemporary "supercomputer", whatever that is in a given market at a given point in history.

Let's say we had perfect 1000x improvement in compute, storage, and IO such that everything remains balanced. A fluid-dynamics or atmospheric simulation can only increase resolution by about 10x if a 3D volumetric grid is refined uniformly, or only about 5x if we spread it uniformly over 4D to also improve temporal resolution. Or maybe you decide to increase the 2D geographic reach of a model by 30x and leave the height and temporal resolution alone. These growth factors are not life-changing unless you happen to be close to a non-linear boundary where you cross a threshold from impractical to practical.

I'm not sure we can say how much a video game would improve. There are so many "dimensions" that are currently limited and it's hard to say where that extra resource budget should go. Maybe you currently can simulate a dozen interesting NPCs and now you could have a crowd of 10,000 of them. But you still couldn't handle a full stadium full of these interesting behaviors without another 10x of resources...

I work on an open source multiplayer game that's limited by single thread CPU speed so I can give a perspective of what would improve for us at least.

The fastest thing to change is we'd increase player limits per server, per player CPU costs are significant and we could bring the player limits to maybe 500 before network speeds start being a consideration. Certain ai improvements that are currently not viable like goal oriented ai design and pathfinding improvements could be added that would make new kinds of gameplay possible. Hell with even just 10x I would be very tempted to try unifying our atmospheric and chemistry simulations so they use the same data structures, thus allowing chemical reactions between gases that aren't basically masses of nonstandard performance hacks on the back end.

In short though, even minor performance improvements would vastly change what we could accomplish. 1000x is extreme and you would see very different games that could make use of techniques that today are mostly relegated to games built around them as a gimmick that they make sacrifices for.

>With GPUs we have proven that parallelism can be just as good or even better than speed increases in enhancing computation.

Not really, no. It's just that certain classes of problems can be very readily parallelized and it's relatively easy to figure out how to do something 1000x in parallel compared to figuring out how to achieve a 1000x single thread speedup.

>Much more realistic virtual reality. For example, imagine a realistic forest stream that your avatar is wading through, with realtime accurate simulation of the water, and complex models for animal cognition of the birds and squirrels around you.

I'm not sure 1000x would do much more than scratch the surface of that, especially if you're already tying a lot of it up with higher fidelity rendering.