Milestones Of Creating Artificial Minds

:date: 2025-02-18 12:35 :tags:

Just as a little test, I gave my Meilleur Ami Robot this prompt:

Can you give me a list of words where the 5th letter is X?

I was surprised to get this nonsense.

Worked for 18.9s

It seems that I'm unable to download the necessary dataset to find
words where the 5th letter is "X" due to a temporary network issue.
Let's try an alternative approach by using a predefined list of common
English words.

Ok, so much for multimodal approaches right now. Recognizing its failure it carried on, presumably using its real language model.

Worked for 9.9s

The word "affix" has the 5th letter as 'X'. This list is based on a
small sample of common English words. If you have a specific
dictionary or larger word list in mind, feel free to share it!

What a weird answer. That's it  —  nothing else. It did think of one, but why only one? That's certainly not a list. And those run times  —  yikes!

Compare that with a very different approach.

grep ^....x $WORDS

On my computer, that produced words like these: admixture, annex, beaux, bisexual, borax, calyx, codex, deluxe, detox, detoxification, galaxy, helix (helixes too which is actually in M-W), inbox, index, infix, intoxicant, intoxicate, latex, Linux, monoxide, nonexempt, nonexistence, nonexistent, obnoxious, paroxysm, peroxide, phlox, preexist, relax, relaxant, relaxation, relax, telex, and, yes, affix was there too.

In all, with variants for plurals and adverbs etc, the Unix Way™ generated 145 words in 16.4 milliseconds. Another important distinction between the approaches is that if there is correct word in my word list (e.g. WORDS="/usr/share/dict/words"), this command will find it with reliability you can bet your life on. I did get some spurious Roman numbers (hallucinations?) but that's on me and my corpus, not the algorithm.

The point of today's sermon isn't to laugh at the fail cases of the hyped LLM AIs. I actually think we're at the end of the era where a query like this will fail. I have already seen multimodal approaches do a very credible job of producing a satisfactory answer.

What I really want to focus on is where we're at in history and how to put modern chatbots into proper perspective. To do that, let's look at another word grep found  —  and used  —  regexp.

This is short for "regular expression". Wikipedia says this about the motivation for regular expressions:

Regular expressions originated in 1951, when mathematician Stephen Cole Kleene described regular languages using his mathematical notation called regular events. These arose in theoretical computer science, in the subfields of automata theory (models of computation) and the description and classification of formal languages, motivated by Kleene's attempt to describe early artificial neural networks.

By modern standards things were in the early stages, but make no mistake, back in the middle of the 20th century those early computer science pioneers were absolutely thinking of how they could replicate a human mind. (Read Vonnegut's 1952 book Player Piano which is a banger, as is my review).

But the human mind is a pretty big topic. In 1951 computer scientists were wondering what miracles could they squeeze out of a machine if they just added a thousand more vacuum tubes (here is an example).

They're called "computers" because the first really good party trick the "thinking" machines did was "to compute" things. But giving that some thought, people like Alan Turing realized that computing things was quite a powerful trick indeed, one which could generalize to all kinds of mischief.

Just the ability to add numbers together was a huge relief for the technical people whose uniquely human brains were needed to "do math". What regular expressions were useful for was to match strings of text. While the ability to match strings may seem mundane and uninteresting today, it was another huge step in giving machines abilities that previously only human minds had. The labor that pattern matching has eliminated (which took the form of manually filing physical paper in physical furniture called filing cabinets, and everything even remotely like that) has been profound.

Serious pattern matching came along right around the time that "modern" programming did which also allowed a lot of work involving complex decision trees and repetitive actions to be completely automated with all errors eliminated when they were attributable to human inattention and fatigue. Compilers were profoundly important to getting machines to do things that only human minds formerly did.

I think that programming in general adequately covers "expert systems" which were hyped as AI but, come on, they were just programming. Or worse, just hype  —  an important cautionary lesson!

I feel like the next really serious thing to hit was machine learning. A good way to think of what that (technically) means is to imagine a computer program so complicated that you need a computer's help to work on it. You're kind of writing a simple little program which will be able to crunch a lot of numbers and automatically generate a more complicated program that does what you really want. Once people got their head around machine learning, all kinds of creative approaches were tried with sporadic enough success to keep the hype level high and the funding flowing.

I feel like the next big development in getting computers to do stuff that only human thinking could do came from games. No, not chess. Chess was just a flashy example of good programming that made people stop and think about what stopping and thinking really meant.

kasparov.jpg

(One of these is a computer and one is a human  —  can you tell the difference? Of course you can.)

It was increasing graphics demands for video games that led to dedicated hardware that didn't care about anything but generating pretty pixels. There were a lot of pixels and they were relatively independent of each other. The big computer science development here was parallelization. Sure, everybody knew that parallelizing things was a pretty good algorithmic trick, but only with dedicated hardware did people really get serious about it. It is probably the most gruesome and difficult area of computer science.

Parallelization is also evident in another very big development which allowed evidence of all human thought to be rounded up and effectively collected in one place  —  the internet. Without web crawling I don't think we'd have the kind of informational mass needed to create the simulation of a well informed human mind. How much data can be used, should be used, and is used to simulate a human mind is a totally different big and interesting question.

All the great hardware meant to render great games provided massive opportunities for efficient computational parallelism. It was discovered that neural networks could take advantage of this parallelism quite nicely. Neural nets also turned out to be a strangely effective algorithm. Being named for something in human brains probably gave this math nerd technique an AI hype boost too. Almost everybody studying AI quickly dropped the machine learning approach they'd been working on and jumped on the neural network bandwagon which was turning out to be a real winner.

With all those super smart CS nerds working furiously on trying everything possible with neural networks, we finally get to the current miracle of how good large language models are (or as Andrej Karpathy wrote in 2015 The Unreasonable Effectiveness of Recurrent Neural Networks; in 2017 I wrote about it too). Today modern LLMs extend that work and have produced results that have rightly astonished people with their extreme literacy.

But is extreme literacy really the correct measure of our species' glory? Or even more ridiculous, is extreme literacy the apotheosis of "intelligence"? Intelligence, you'll do well to recall, is a concept we invented, but badly enough that we can't even properly define it. Pretty sus.

I think it's valuable to look at the true major developments that have transformed machines from clockworks to possessing very eerie abilities to impersonate human minds. It reminds us that there is not a magic heaven called "intelligence" and that maximizing it leads to utopia. Human intelligence turned out to be more than arithmetic; it was not looking something up in a card catalog, not playing checkers, not even playing chess, not following a set of rules, nor is it putting a bunch of tokens together in a startlingly plausible sequence of what appears to be human text.

I'm sure LLMs will contribute to the philosophical discussion of what it means to be human, conscious, sentient, and other words like that that LLMs could come up with better than I could (extending a text sequence is literally its one hit song). But for now it is sufficient to understand that LLMs are not "human level intelligence" any more than the one who beat Kasperov at chess was. They're doing some very remarkable parlor tricks to be sure, but not losing sight of the big picture will help us make good use of this miraculous new tool.

If you can do that, then you might better understand the value of going back in time to really shine a light on the true milestones of computing machinery doing its best to "think" like a human. When using computers today, if you know the answer you seek was considered a harbinger of "AI" back when it was completely solved in 1952 (after which everyone forgot how hard and special that skill used to be), well, you can put that to use. You can ask modern LLMs to do things like generate a regular expression for you, to use that old technology with knowledge and cleverness you probably don't really have. It's like using an LLM to teach you valid chess rules but using a chess engine to actually evaluate good moves or solve chess puzzles.

This is what is meant by the "multimodal" approach where these LLMs are summoning outside help. In my example, the LLM was (I asked it) actually writing a little Python program in the background instead of using regular expressions. It turns out that in this case, not only did I know the methodology/syntax for the superior solution, but I knew to use that solution, even when it wasn't being taken advantage of by this particular LLM today. It turns out that I can be multimodal too!

That's an example of human skill that's still competitive at some technical things. I suspect a lot of that will be fading but I do think it's valuable, maybe more than ever, to learn something about some of the overly complicated "good" technology of the past (regular expressions, unix, assembly language programming, C programming, etc.) because today if you know "enough to be dangerous", with LLM help, that may be enough for success!