On the Emergence of General Computation from Artificial Intelligence

Stable Diffusion 2 image for the promt “The Emergence of General Computation from Artificial Intelligence”

The emergence of general computation from large language models is a relatively recent development in the field of artificial intelligence. Large language models, such as GPT-3, have demonstrated the ability to perform a wide range of tasks, including language translation, summarization, and even simple problem-solving, by leveraging their vast knowledge of the written word. This ability to perform a wide range of tasks, often without explicit instructions, has led some to believe that these models may be capable of general computation, opening up new possibilities for their use in a variety of applications. Large language have also shown the ability to perform basic mathematical operations and even infer the output of simple programs. This is made possible by the vast amount of text data that these models are trained on, which allows them to learn the rules and patterns of language, including those found in mathematical equations and programming code.

This introductory paragraph was written by ChatGPT when tasked with the topic of this post. Surprisingly, the model’s evaluation of itself is quite modest. In fact, contemporary models are able to not only propose working code snippets but also reason about, and essentially debug, existing programs. Here is an example, generated from an interaction with ChatGPT on December 4, 2022:

“I am going to give you a computer program written in Python. Your job is to tell me if it will end in an infinite loop or not. Ok?”

“Sure, I'd be happy to help you with that. Can you please provide the code so I can take a look at it? […]”

“x = 1
def fun(x):
if x:
fun(x+1)”

“Based on the code you have provided, it is likely that the program will enter into an infinite loop. The function fun calls itself recursively, but it does not have any conditions that would cause the recursion to stop. As a result, the function will continue to call itself indefinitely, leading to an infinite loop.”

We are immediately reminded of the fundamental limits of computation. Granted, Turing showed that there can be no general algorithm that solves the halting problem, not that the halting problem cannot be solved for a specific program like the one described above. Compilers have been able to infer potential deadlocks in programs for a very long time, too. And yet: ChatGPT is doing something here that is a notable step up from previous systems. This goes beyond Minecraft in Minecraft, i.e. exploiting Turing equivalency. Namely, ChatGPT seems to have a consistent, internal model of a specific formal language (Python). Code completion systems like Codex/Copilot had already demonstrated the possibility of such an internal model. The kind of code review that ChatGPT provides, however, goes beyond completion. ChatGPT seems to be able to “step back” and argue from a second-order perspective, which has led, among other things, to a flood of ChatGPT-generated StackOverflow comments.

I think it is thus reasonable to assume that, given further improvements of systems like ChatGPT, in conjunction with research on how do integrate external processing and information retrieval into them (as OpenAI seems to be doing if one believes the base prompt that users have exposed, and demos such as this one), we will soon witness the (re-)emergence of general computation from artificial intelligence. Jonas Degrave recently provided a preview of what this will look like: they instructed ChatGPT to hallucinate a virtual Linux machine, which was then able to “execute” all kinds of commands, culminating in a hallucinated curl request to a hallucinated API endpoint resulting in a hallucinated JSON response from a second, hallucinated AI assistant. To paraphrase Friedrich Kittler’s famous paradigm: there is only software now.

One does not have to focus on ChatGPT exclusively to appreciate this development. The view “downstream” provides ample evidence as well. DeepMind recently utilized their AlphaZero framework to come up with optimized matrix multiplication algorithms, suggesting a future where the notion of algorithm itself becomes meaningless, where specific computation requirements are met with customized algorithms. The call to augment machine learning with precise models of, for instance, mathematics or physics will be finally answered, but without any recourse to “classical” computation.

What does this mean for a critique of computation as a cultural technique? I argue that there are two significant implications that we have to consider.

First, the idea of “the stack” as a framework for analysis is dead. In large-scale contemporary models, where second-order reasoning about formal languages is an emergent effect, nothing of critical value is to be gained from the assumption of hierarchical complexity. This also means that the assessment that such models are “black boxes” is meaningless: it now simply describes computation in general, and not a deviation from the norm.

Second, and on a more positive note: we are entering the age of “humanist” hacking. Testing the limits of models like ChatGPT involves, among other things, an understanding of rhetoric, metalanguage, poetry, and performativity.

What we are witnessing, in other words, is a massive paradigm change. At the end of it, computation, as we know it today, will have significantly changed. For better or worse, it will be more surprising, more opaque, and more exciting.

Next
Next

Ten Years of Image Synthesis