Yes, LLMs understand things
JoeStrout

JoeStrout @joestrout

About: Creator of the MiniScript programming language and Mini Micro retro-styled virtual computer.

Joined:
Oct 25, 2022

Yes, LLMs understand things

Publish Date: Jun 20
1 0

It's now been three years since OpenAI released ChatGPT, taking the world by storm. Even most AI researchers were shocked at how well it could carry on a conversation, though it made a lot of mistakes and frequently just made stuff up. Subsequent chatbots did even weirder things. But they kept getting smarter and smarter, and today they are capable of doing a wide variety of pretty high-quality work on intellectual tasks.

But you still hear people claiming that LLMs don't understand anything, that they are just "fancy autocorrect" and merely parrot things they have read on the internet.

Hogwash, I say.

See Claude. See Claude understand.

Today I had a fairly straightforward programming task: I was refactoring a set of global methods into a class. I had Claude help me with it, as I often do (because it lets me get a lot more stuff done in a day). Read the chat here, and pay attention to how I described the task, and how Claude described it.

I wrote:

Consider the attached Python SimpleWriter class. Its job is to write files representing a set of annotations. Right now, each of the methods takes all the data it needs as parameters; the class carries no data.
I would like to refactor this so that all the parameters to format_info, as well as a sequence of LineAnnotation objects, are properties of the SimpleWriter object. So usage would be:
Create a SimpleWriter, perhaps providing the dimensions, lower_bound, and upper_bound.
Assign the spatial_specs, property_specs, and relationships (which should all default to empty lists so you can immediately .append to them).
Call a write method, passing in a dir_path parameter.
Other methods are all helper methods that would be called internally.

and then gave a sketch of what that write method would look like. Claude responded:

I'll refactor the SimpleWriter class to make it stateful as you requested. Here's the refactored version.

And then it did the task perfectly. (Even matching my style for function comments, which differs from what Claude does by default.)

Note that I never used the term "stateful." That's exactly the right term for what I described, but I never said that; I just described the particulars of my problem. The particulars are unique; this is all code I wrote myself today, and is unlikely to exist anywhere else on the internet.

So Claude took a detailed breakdown of a task, and understood the big picture. It recognized that those details amount to making the class stateful, and that my task could be described (much more simply) as such.

If that's not understanding, I don't know what is.

But how?!

I think a lot of people still claim computers can't understand things because they can't imagine how they could understand things. After all, aren't they just a giant pile of numbers and math?

Well, they are, but then you and I are just a giant pile of squishy cells ingesting and excreting calcium and other ions. Yet we are able to understand things. How is that possible?

The answer is that the particular values of the numbers in an artificial neural network — or the particular firing rates of neurons in a biological one — means something. It has meaning because, through experience and training, connections have formed that allow certain patterns to represent concepts, and the relationships those concepts have to other concepts. That's what meaning is. When my task description was fed to Claude, it caused high-dimensional vectors (strings of numbers) to form that represented the steps in the task, the details of the code, and so on. Those concepts get combined and manipulated in ways that Claude has been trained to do, ways that contribute to its goal of being a helpful chatbot. And those manipulations link the detailed concepts to higher-level concepts like "make it stateful."

When you have a neural network (of either type) that's big enough, and it's been trained on enough data, it does things that in humans we call "thinking" and "understanding." It's amazing that this works, but it does.

So what now?

Well, it appears that we have, at least in the big picture, cracked the secret of how brains work. We can build machines now that think and understand. Maybe not exactly the same way we do it, but similar enough. That lets us making these amazing helpers, and also helps us understand ourselves a little better.

But just as AIs have gotten a lot smarter since 2022, they are going to continue to get smarter. I keep an eye on the AI research papers coming out all the time, and there is no shortage of improvements in the pipeline. And in fact there are places where AIs are themselves proposing and carrying out research to improve AI. This is a feedback loop that will probably really get into gear in the next year or two.

So we're in for exciting times ahead. Hang on!

Illustration of

HEY! Want to keep your critical thinking skills sharp, despite using chatbots in your work? Learn to code! It's fun and easy. Visit https://introtocomputerprogramming.online/ for a free, friendly book that can get anyone started with programming, even with no prior experience.

Comments 0 total

    Add comment