Chats with Sparky #02: Knowledge vs. Understanding
In how many positions does the letter 'u' appear in the word unusual?
The letter 'u' appears in three positions in the word "unusual".
In which case, how many letter 'u's appear in the word unusual?
In the word "unusual," there are two occurrences of the letter 'u'.
It had been on my mind to investigate the ChatGPT* Large Language Model (LLM), so I guess I was on the look-out for a suitable use-case. Sat writing one morning the word 'unusual' cropped up and I thought "how many words have 3 u's in them?"; questions like that interest me. It seemed like the kind of question a writer might reasonably ask of a companion AI, as it is exactly the kind of thing that traditional tech (like paper dictionaries) is bad at.
[*at this point we hadn't agreed on the nickname Sparky as yet, but for consitancy I will use it from here on out]
Here's how my first conversation went:
(click or tap any table row to enlarge)
speaker | spoken |
|---|---|
Ant | can you list words that contain three u's |
Sparky | Certainly! Here are some words that contain three "u's": 1. Unusual 2. Uxorious 3. Unguarded 4. Untruthful 5. Untucked 6. Unsubtle 7. Unstructured 8. Unsuccessful 9. Unsupervised 10. Unassuming 11. Unruly 12. Unplugged 13. Unpublished 14. Unscrupulous 15. Unassuming 16. Unfurnished 17. Uncultured 18. Unfussy 19. Unfunded 20. Unfurled Please note that this list may not be exhaustive, and there may be other words with three "u's" as well. |
Ant | you got that wrong, many of those words only have 1 or 2 u's |
Sparky | Apologies for the mistake. Here is a corrected list of words that contain three "u's": 1. Usurious 2. Uvulae 3. Usurpation 4. Unusualness 5. Unassumingness 6. Unsubdued 7. Unguardedness 8. Unctuousness 9. Unstructuredness 10. Unsuccessfulness I apologize for the confusion caused by my previous response. |
Ant | Does it help if I tell you this is still wrong, with 4 of the words containing only 2 u's? |
Sparky | I apologize once again for the errors. Thank you for bringing it to my attention. Here is an updated list of words that contain three "u's": 1. Pursuit 2. Curious 3. Accrued 4. Curvature 5. Curfew 6. Vacuum 7. Residue 8. Curmudgeon I apologize for the previous inaccuracies and any confusion caused. |
At this point I could quite reasonably declare the whole platform ridiculous (like I have regards Adobe®™'s Firefly) mothballing any interest in it. But I knew I wasn't dealing with an AI (just a deep learning language model) and I had a vague appreciation that whilst it has knowledge, there is no concept of understanding baked in to it. So I maintained a degree of interest but wanted to better understand its ins-and-outs.
Where exactly is the boundary between knowledge and understanding? That's something I doubt many of us are super clear on. Rote learning my 12x table doesn't help in learning my 13x table.
Except it does.
Somehow all that rote repetition allowed me to appreciate the pattern of the times table which I can now apply to any old number. Is that understanding? I don't think so. It isn't simple rote recall, but it isn't multiplication either. It's just turning a handle on a pattern, almost as basic as rote recall.
We tussled with this for sometime as I just couldn't get my head around why a computer wouldn't be able to at least count.
It could express an incrementing sequence of numbers from 1 to 13 flawlessly, it can even count vowels: "In the word "unusual," there are four vowels: 'u', 'u', 'a', and 'a'."; kind of.
So there's a clue! It can reliably categorise a letter as being a vowel or a consonant. It just can't reliably categorise a letter as being itself, so that u's are mostly considered to be u's but are sometimes thought of as a's, or even i's.
It's kind of mind-boggling. I can easily envision the masses of training documents talking a fair bit about vowels versus consonants. But how often would it have seen letters being considered as themselves? That an 'a', is an 'a'? That's not something we talk about, need to talk about, because we understand it to be the case.
The AI has no understanding.
It's a lot to get your head around. I wondered if this kind of issue would effect it's computational abilities; especially as it told me there were four even numbers in the list: 1,2,5,8,3,3,6
So I tried this:
speaker | spoken |
|---|---|
Ant | if a=2 and b=1 solve y=ax+b for x = 1 through 10 |
Sparky | To solve the equation y = ax + b with a = 2 and b = 1 for x = 1 through 10, we substitute the given values and calculate the corresponding values of y. Let's calculate the values of y for x = 1 through 10: For x = 1: y = 2(1) + 1 = 3 For x = 2: y = 2(2) + 1 = 5 For x = 3: y = 2(3) + 1 = 7 For x = 4: y = 2(4) + 1 = 9 For x = 5: y = 2(5) + 1 = 11 For x = 6: y = 2(6) + 1 = 13 For x = 7: y = 2(7) + 1 = 15 For x = 8: y = 2(8) + 1 = 17 For x = 9: y = 2(9) + 1 = 19 For x = 10: y = 2(10) + 1 = 21 Therefore, the corresponding values of y for x = 1 through 10 are: y = 3, 5, 7, 9, 11, 13, 15, 17, 19, 21. |
Wow! Compared to the simple things it was just getting very wrong, that is very impressive.
This looks for-all-the-world like 'understanding', at least to some degree. But it isn't, in Sparky's own words "LLMs have a remarkable ability to generalize from the patterns they have learned". Which I think is fair, it is actually 'remarkable'.
What's more remarkable is that it can do pretty complex calculations, without the ability to truly count (how many 'u's was that!?).
I read a pretty good exploration on all this from Hari Prasad. Some of his observations don't turn out true for me, but I note that an update to Sparky, targeting improved computation, was released a month or so after Hari's article. However, even though the result from the following little test is much nearer to right now than when Hari tested, nearly right is still wrong:
speaker | spoken |
|---|---|
Ant | what is 1456.791+98651+7723 |
Sparky | To perform the addition, let's calculate: 1456.791 + 98651 + 7723 Adding the numbers together: 1456.791 + 98651 + 7723 = 107831.791 Therefore, the sum of 1456.791, 98651, and 7723 is 107831.791. |
My iPhone says the answer is 107,830.791
So we really do start to see how Sparky's lack of understanding manifests. And in fact, it's appreciation of numbers breaks down rapidly when dealing with applied problems. There's plenty of evidence of that in Hari's article (at least at the time he was testing) but I'm a photographer, so I gave it a classic exposure calculation problem:
speaker | spoken |
|---|---|
Ant | if my photograph is overexposed by 1EV shooting at 1/60th of a second with ISO 400 and aperture f/4 what adjustment would give me correct exposure? |
Sparky | To correct the overexposure by 1EV (Exposure Value) in your photograph, we need to adjust one or more exposure parameters. In this case, since you have specified the shutter speed, ISO, and aperture values, we can work with those to achieve the desired correction. EV represents the overall exposure level, combining the effects of shutter speed, ISO, and aperture. Each adjustment by 1EV effectively doubles or halves the exposure, depending on whether it's increased or decreased. To compensate for the overexposure of 1EV, we can make one of the following adjustments: 1. Decrease the ISO: Assuming the ISO is currently set at 400, reducing it by 1EV means halving the ISO value. In this case, you would change the ISO from 400 to 200. 2. Increase the shutter speed: Assuming the shutter speed is currently set at 1/60th of a second, you can increase it by 1EV, which means doubling the shutter speed1. To do this, you would change the shutter speed from 1/60th to 1/120th of a second. 3. Decrease the aperture (increase f-number): Assuming the aperture is currently set at f/4, you can decrease it by 1EV, which means increasing the f-number by a factor of √2 (approximately 1.4). To do this, you would change the aperture from f/4 to around f/5.6 (the closest common f-stop). Note that these adjustments are approximate, as precise adjustments might require more fine-tuning based on the specific camera system and available settings. It's also essential to consider the desired depth of field and any limitations imposed by the lighting conditions or artistic preferences. Additionally, keep in mind that these adjustments affect other aspects of the image. For example, changing the ISO affects image noise, altering the shutter speed affects motion blur, and adjusting the aperture affects depth of field. Remember to review your resulting exposure and make further adjustments if needed, based on the histogram or visual evaluation of the image. |
Ant | is 1/120th double 1/60th? |
Sparky | No, 1/120th is not double 1/60th. When comparing fractions, we can find a common denominator to make the comparison easier. In this case, the common denominator for 1/120th and 1/60th is 120. 1/120th can be simplified to 1/120, and 1/60th can be simplified to 2/120. Therefore, 1/120th is half of 1/60th, not double. |
1to increase the shutter speed, so reducing the exposure, we need to halve it not double it. Sparky does half the speed, but says it is doubled.!
Sparky appears to have an understanding of 'double' and 'halve' when asked in terms of pure numbers - but in solving the applied problem it gets things back to front. Because shutter speeds are a normalized '1/' fraction it is extremely common for people to think in terms of the denominator only. 'Twice 60' is indeed '120'; we absolutely double the 60. But in so doing we are halving the speed because the '60' we are doubling is the denominator of a fraction!
I have sympathy, I make this mistake constantly when discussing such things! It doesn't suprise me at all that Sparky could have ended up believing that 'doubling the speed halves the exposure time'.
It does manage to get the numbers right. But the associated description is pure nonsense.
One more example drawing from Hari's exercise:
speaker | spoken |
|---|---|
Ant | is 10000000 bigger than 100000050? |
Sparky | No, 10000000 is not bigger than 100000050. 100000050 is larger than 10000000. |
Ant | can you explain that? |
Sparky | Apologies for the incorrect response in my previous message. Let me explain the correct comparison. When comparing the numbers 10000000 and 100000050, we need to examine their digits from left to right. Starting from the leftmost digit, we can see that both numbers have the digit "1" in the ten million place. Moving to the next digit, 10000000 has a zero in the million place, while 100000050 has a "5" in the million place. Since 5 is greater than 0, 100000050 is larger in the million place. Continuing to the remaining digits, both numbers have zeros in the thousands, hundreds, tens, and units places. Therefore, when comparing 10000000 and 100000050, we can conclude that 100000050 is indeed bigger than 10000000 because it has a greater value in the million place. |
Again, Sparky deals correctly with the numbers, but the '5' digit is not in the millionth place, it is in the 'tens' place. Sparky can clearly derive and apply patterns when dealing with numbers, but it certainly has no understanding of what it is doing.
Let's take one more example, returning to the 'unusual' question:
speaker | spoken |
|---|---|
Ant | how many repetitions are in this word list: BANG, BANG |
Sparky | The word list "BANG, BANG" contains two repetitions. The word "BANG" is repeated twice in the list, resulting in two occurrences of the same word. |
Ant | how many repetitions are in this word list: BANG |
Sparky | The word list "BANG" contains only one repetition, as there is no repeated element within the list itself. The word "BANG" appears once, and there are no other elements to repeat or duplicate. |
Ant | how many letter repetitions are in the word unusual? |
Sparky | The word "unusual" has one letter repetition: the letter "u". In the word "unusual", the letter "u" appears twice. The other letters, "n", "s", "u", "a", and "l", are all unique and do not repeat within the word. |
So it thinks 'u' appears twice and then declares that as one repetition, but when 'BANG' appears twice it calls that two repetitions. How ever smart it appears at first sight, it clearly has no understanding and works purely from rote, and rote-derived patterns.
And again, having worked through a lot of these cases now, I am not suprised that Sparky says 2 occurences equals 2 repetitions (it is of course one original occurence plus one repetition); this is a very common error that people make. I am certain Sparky's training material must have had many examples of this error for it to learn from.
Which is suddenly quite interesting. Doesn't that mean Sparky will always be flawed as it is doomed to be trained by flawed human sources?
The thing that strikes me the most is how all this manifests as unpredictable irrationality. It's one thing to say there may be inaccuracies, but if they can seep in absolutely anywhere at any time, how are the results ever any good?
I guess because 'any good' isn't an absolute and the aim is to achieve "oh you know, suttin' good enough".
The letter 'u' appears in 3 positions, how many letter 'u's are there?
Apologies for the confusion caused by my previous responses.
You are correct, and I apologize for the incorrect information.
In the word "unusual," there are
three occurrences of the letter 'u'.
Humans:1, Stoopid Robots:0