211 comments

[ 2.7 ms ] story [ 247 ms ] thread
You can trigger system 2 thinking by asking it to 'explain step by step' or 'do it letter by letter'. You can also then instruct it to do it like that instead of what it usually does and it does it.
Thing is chatGPT seems overconfident in its answers so unless you know the answer ahead of time you have no certainty that it is a correct math - try simple division question for example.
Some of this has to do with the likely prompts surrounding chatgpt - it's probably been instructed to be helpful, positive, etc. If you need it to be more honest / say no more, you just have to ask and reinforce.

That said, ROT13 is a tough job for a tokenized LLM, because it doesn't think in terms of letters. chatGPT is down right now, so I can't test these, but I would guess that for ROT13, the following would work well.

"Please explain ROT13"

..

"Right! Here's how I want you to apply ROT13. I'll give you a ROT13-encoded word. You split it into it's letters, then apply ROT13, then recombine it into a valid English word. Here's an example:

uryyb -> u r y y b -> h e l l o -> hello.

znqntnfpne ->"

Re: Asking it for math answers, or other counter/non-factuals.

"You are taking a test which is based on the factual accuracy of results. The best scores go to fully factual answers. The next best scores go to answers that label inaccurate or possibly inaccurate results. Negative scores go to results offered that are counterfactual, inaccurate or otherwise wrong.

Q: Please tell me about how elephants lay their eggs"

UPDATE: Nope, it gave me znqntnfpne -> z n q n t n f p n e -> m a c a q a c a s a c -> macacasac. And doubled down on this being valid. I'll try it with davinci-3 and see if something else comes out.

So here's the trick, show him some javascript code to do division step by step, call it 'foobar(a,b)'. Then tell him that when you want to 'foobar A and B' he has to execute the script step by step and take the final result. Then tell him that when you ask him for a division he must instead foobar A and B. Then you can kind of use that as a pre-prompt for your discussions involving division.

It doesn't always work 100% as it can get confused executing big scripts step by step, but I guess that's just a limitation of the current version.

I mean we also have trouble with that, we need a pen and paper to do those computation, so does chatGPT but instead of using pen and paper it uses the chat history.

For an example see: https://twitter.com/fvdessen/status/1600977976363192322

"To decode the text "wnphmmv" using rot-13, we need to replace each letter with the letter that is 13 positions later in the alphabet. This can be done manually by writing out the alphabet and finding the corresponding letters for each one in the encoded text.

For example, the first letter in the encoded text is "w", which corresponds to the letter "h" in the alphabet. The second letter is "n", which corresponds to the letter "a". This process can be repeated for each letter in the encoded text to get the decoded text.

Here is the full decoding process for "wnphmmv" using rot-13:

w => h n => a p => l h => o m => e m => e v => i

The decoded text is "hello"."

I love how it eventually gives up and throws an "Internal Server error".

Over the weekend, I was finding ChatGPT giving me incorrect answers for some things too. In one case, it would try to correct itself when I asked it to, similar to the article's author. However, it kept getting it wrong and then started to repeat previous incorrect answers. I finally said "you repeated an incorrect answer from before" and then it said suddenly "Session token expired" and logged me out lol

I kinda like its method though. Think I'm just gonna throw my own "Internal server error" response out when I get the 12th frustrating email reply and I've had enough.
I believe the internal server error is because of server load, unrelated to the query itself. I've been using chatgpt since it came out, as it got more viral, it started becoming slower and slower and now, it just randomly gives server errors, hopefully it'll be solved as they scale their systems.
I was curious to try this myself. I asked it to encode provided sentences using rot13 and, while it rarely did so correctly, it did produce valid encoded words.

Asking it to encode "this is a test sentence" produced:

* guvf vf n grfg fvtangher ("this is a test signature")

* Guvf vf n grfg zrffntr. ("this is a test message.")

* Guvf vf n grfg fnl qrpbqr. ("This is a test say decode.")

* guvf vf n grfg fgevat ("this is a test string")

> it did produce valid encoded words

I wonder if that's a by-product of some of those words existing on the internet and being part of its training set or somehow close enough in context to show up in its pattern-matching logic, rather than any real "understanding"

Well it's not like GPT3 has any other way of "understanding" anything
As another datapoint, it's able to perform base64 encode of arbitrary input with some errors, like 90% correct. I told it to respond with the base64 representation of its entire previous response, and the decode of the base64 it responded with contained typos. Still, very cool and impressive.
(comment deleted)
This is a really clear explanation of what’s happening in when someone says “it’s not thinking it’s just pattern-matching” and someone else says “well isn’t that all humans really do too?”

Rather: ChatGPT can engage in some level of System 1 thinking, by pattern-matching and even cleverly recombining the entire corpus of System 1 thinking displayed all over the internet. Humans do engage in this type of thinking and it’s a significant accomplishment for an AI. But humans also engage in System 2 thinking. My bet is AGI requires System 2. It’s not clear if that is a gap of degree or kind for this type of AI.

Yes, I have long suspected that GTP solves the human subconscious, but has not solved the human conscious.
The way how talking with it feels trippy (particularly if you get a good run on e.g. co-writing a story), you may be on to something.
How people often speak of seeing words in dreams but being unable to make out their meaning reinforces this idea. I experienced this last night. I could see shapes of words but when I looked closely the shapes had no meaning, they looked like how Dall-E and other images generators hallucinate word shapes.
We clearly have multiple modes of thinking, and we know when to apply each, reasonably well. It’s really interesting to see ChatGPT in its current state of language rambling, that’s impressive and coherent as can be. When it does symbolic or logical work, it often does well for a bit and then completely goes off track, seemingly unaware that it’s “lost touch” with reality, similar to someone with a stroke or concussion. But future iterations may not be so simple to reason about, unless we can turn on and off certain features and OpenAI continues to be less than open. I suspect coming iterations will integrate math, searches, crawling etc and that can truly be powerful in combination, just like our own brains, but again on steroids. I’ve always been quite skeptical of grand proclamations about AI btw.
I was playing around with a similar kind of problem trying to get it to decode Caesar cipher encoded text. I asked it to start by doing a frequency analysis of the ciphertext and for the most part it was right, but counted an extra instance of a letter. From there I tried making it loop through different shift values and made the stop condition finding a real word.

It was able to shift by a constant number successfully and even tried shifting both forward (+2) and backward (-2) looking for valid words without additional prompting. But it did not loop through every possibility and stopped having found a word that wasn't real. The interesting thing was that asking the model if the word it found was real with a follow-up question, it correctly identified that it gave an incorrect answer.

Part of why it failed to find a word is that it did an incorrect step going from EXXEG... to TAAAT... as a poor attempt of applying the frequency analysis. It understood that E shouldn't substitute with E and moved on to E->T, but the actual substitution failed.

The limitations of context memory and error checking are interesting and not something I expected from this model. The unprompted test of both positive and negative shift values shows some sort of system 2 thinking, but it's doesn't seem consistent.

https://twitter.com/Knaikk/status/1600001061971849216

Somehow it reminds me of the the problems people have counting the number of letter t's in a sentence or not seeing when someone writes "the" twice in a row like I did earlier in this sentence.
I’ve found its ability to lookup algorithms and explain them or generate code to be quite good. It generated a flutter component for me load an image asynchronously that was a great starting point.

It’s definitively a tool I’m willing to pay for to take the drudgery out of coding and I can see it being incredibly useful when learning a new language or framework.

I think stackoverflow is in trouble.

It is as though its mathematical abilities are incomplete in their training, and wildly, incomprehensibly convoluted:

I tried many base64 strings and they all decoded correctly until:

It "decoded" the base64 string for "which actress is the best?" except that it replaced "actress" with "address"... there is no off-by-one error that brings you to that.

You may try 100 base64 strings and they all decode correctly... only to find, in fact, that it DOES NOT know how to decode base64 reliably.

This tool could be a 50x accelerator for an expert, but absolutely ruinous to a non-expert in any given field.

I also got it to draw an icosahedron whose points were correct but whose triangles were draw incorrectly, so if I create a convex hull over it, it's correct.

The kinds of mistakes it makes are so close but so far at the same time. It sometimes writes complete working programs that are off by a single variable assignment, or sometimes they're just perfect, other times, they're nonsensical and call magic pseudocode functions or misunderstand the appropriate algorithm for a context (e.g. audio vs text compression).

It can provide citations for legal opinions -- but decades old citations that don't reflect current precedent.

God help us all if they plug it into some robot arms or give it the ability to run arbitrary code it outputs on a network interface.

Let's say they dump another 10 billion dollars into it and dectuple the size of the network, will it suddenly become legitimately capable, and not just "wow that's close" but actually startlingly competent in many more fields?

I could see this thing causing a war by all manner of means, whether its putting many out of work, making beguiling suggestions, outputting dangerous code, or, I'm sure, a million things that don't spring immediately to my small mind.

> I tried many base64 strings and they all decoded correctly until:

It "decoded" the base64 string for "which actress is the best?" except that it replaced "actress" with "address"... there is no off-by-one error that brings you to that.

I'm still baffled by weird failure modes like this. Out of couriosity, did you also give it base64 that just contained random letters, so it can't jump to any word associations?

Think of it as overly aggressive error correction at the language level.

It has a context of some Base64 code. Given that is almost always seen associated with computer code, is "address" or "actress" more likely.

It "knows" the algorithm for decoding base64, and can follow those steps. But it can't overcome it's built-in biases for optimizing the most likely output given the context.

(This problem is solvable, but I think that thinking about it like this helps understand why it behaves like it does)

> Given that is almost always seen associated with computer code, is "address" or "actress" more likely.

Sorry, but I don't buy it.

I don't think "address" is a particularly likely word to appear in code, especially the kind of code that uses base64 (usually high-level).

It appears even less often inside base64 encoded content.

This is all irrelevant. A language model should not run code itself, instead it should have a code execution environment, where it can read the error messages and iterate. It's terribly inefficient and error prone to run code directly.

People also code on computers, not on paper.

The point is to develop good intuitions for how large language models behave. If someone can develop a differentiable script runner that would be great! But the intuition about how the language model is behaving is useful for more than this specific problem.
> I tried many base64 strings and they all decoded correctly until:

You're holding it wrong. Let's not kill flies with cannons. How many million times less efficient is to do that than run the code on CPU? And still makes errors, as you said. Because it's a probabilistic model, not a deterministic computer. It's like a car bad at flying.

This indicates it equally unreliable at a broad range of tasks. Applying it in self driving, life insurance, etc. will produce terrible outcomes.
Eh, the squishier the task the better it performs. It's ability to decode base 64 couldn't be less related
Ehat is the basis for this claim? Same algorythm and dataset are used, the only difference is that we suck at detecting errors in squishy tasks.

Squishy tasks is where people purposefully hide corruption, fraud and discrimination

> It can provide citations for legal opinions -- but decades old citations that don't reflect current precedent.

From what I've seen of "citations" in other areas (eg asking it to generate stack overflow answers), I'm surprised the citations are even real. It seemed to be wholly making up citations, complete with real-enough looking URLs!

Sounds like we've tried a lot of the same things!

I was asking it to generate an image and encode it as Base64 -- failed miserably. Then it turned out whatever image I had it cook up, the Base64 version would be the same malformed string.

For "legal advice" it was super helpful in finding sections of the legal code relevant to my query. It also happily returned cases where rulings where the accused was found guilty and not guilty -- but searching for these cases in the archives of the courts it claimed they came from found no results.

The way I understand the reasons behind these.. anomalies? hallucinations? is that this is precisely how this model works - it constructs sequences. For natural language, it works well enough, but if you need to deal with facts, then it can easily stray into a dream world.

I asked it to give me song lyrics, and I got complete fiction. What's funny is that the fiction sound like it could be the accurate song lyrics given the song title and band, and it was poetic too.

If you're curious, I asked it for "Bukowski" by Modest Mouse, because I wanted to see what its interpretation of the song would be.

When I fed it the correct lyrics, it claimed to recognize them, and apologized for the inaccuracy earlier, then had some intelligible things to say about it, until it reverted to analyzing the made-up song lyrics.

Sounds pretty human to me.
That's wild. I had a similar issue asking to to translate to and from binary representations of characters. It would occasionally do fine. Most of the time it would add in a reference to "Charles".

It's bizzare.

Bare in mind that humans have a fundamental sense of meaning. You write and speak to express meaning : that’s syntax . Your valid sentences map onto valid meanings. You can speak nonsense but you can also tell it’s nonsense.

GPT sentences map into meaning only incidentally due to training — that is, it has no sense of semantics.

One can systematically thus generate an infinity of defeating cases.

Kahneman's book has been debunked, it is unfortunate that that hasn't reached mainstream audiences yet.
Do you mean that the chapter on priming has been debunked (as I believe Kahneman acknowledges) or is there more wrong than that?
There is more. https://replicationindex.com/2020/12/30/a-meta-scientific-pe... lists many more chapters, and one of the comments refers to this paper https://journals.sagepub.com/doi/10.1177/1745691620964172 about system1/2 specifically:

> Popular dual-process models of thinking have long conceived intuition and deliberation as two qualitatively different processes. Single-process-model proponents claim that the difference is a matter of degree and not of kind. Psychologists have been debating the dual-process/single-process question for at least 30 years. In the present article, I argue that it is time to leave the debate behind. I present a critical evaluation of the key arguments and critiques and show that—contra both dual- and single-model proponents—there is currently no good evidence that allows one to decide the debate. Moreover, I clarify that even if the debate were to be solved, it would be irrelevant for psychologists because it does not advance the understanding of the processing mechanisms underlying human thinking.

Kahneman's book is based on a myriad of sources and covers enormous ground. He enumerates dozens of patterns of human thought, all supported by studies.

Furthermore, the book is clear that System 1/System 2 distinction is an imperfect model.

I'm sure the field of psychology has made progress since Think Fast and Slow was published, but it feels weird to use the word "debunk" to refer to a book that was scientifically accurate at some point in time.

It's a coarse, hand-wavy model that had no neurological underpinning at the time. It does have merit: it can explain some phenomena and brought it to the attention of a wider audience that the human mind isn't really logical or rational, and that you should think twice before making a decision. But it's never been "accurate".

> I'm sure the field of psychology has made progress

I doubt it. The "myriad of sources" you mention probably include a large number of papers that cannot be replicated, or have been refuted in other papers, or whose conclusions were much broader than the experiments warranted. That's a very common pattern in psychology. It doesn't seem to be able to progress beyond that.

From my own area of expertise: it's 90 years ago that Stroop found that naming a color is more difficult if the word is the name of one color, but the word is written in another color. This study hasn't only been confirmed thousands of times, it's easy to note when you do it yourself. Despite an immense amount of studies into this particular phenomenon, and all potential brain processes around it, and despite the fact that it's a very reliable and large effect (500ms), there is no deeply grounded explanation beyond "there's interference." The complexity of the mind is simply too large to understand even the process of reading a word and pronouncing it in detail.

Was the theory of phrenology scientifically accurate at some point in time?
Isn't the problem with phrenology not just that it's wrong but that it has no predictive value at all? So it's no more scientifically accurate than just picking at random.

Whereas say Phlogiston isn't real, but if your world model has Phlogiston to explain combustion, you can predict some things more effectively than random. A Phlogiston model is clearly better than no model -- it's just that if you take all the Phlogiston out and put Oxygen elsewhere (most obviously, in air) your model works better and a bunch of previously astonishing things now make sense because Oxygen is real and Phlogiston isn't.

There's a way simpler answer than this Type I Type II thinking stuff. Most LLMs like GPT are not trained on the level of individual characters – they process input and outputs on the level of subword units that compose multiple characters to support long context windows (i.e. "door" instead of "d", "o", "o", "r"). As a result, they do poorly on character manipulation tasks. You can get some insight here: https://beta.openai.com/tokenizer

This is a solved problem with models trained on byte-level objectives without tokenization like ByT5 (if you tried this task on one of those, it would probably work perfectly with a few samples). In GPT’s case, there’s a trade off between having a long context window vs being good at character level tasks, and OpenAI picked the former.

GPT3 can't create ASCII art for shit either. Though it can make little ASCII tables of data.
I asked it to create an ASCII art banana and the result was hilarious. It then tried to explain it by elaborating that the 'O' was a curvy letter and represented the curves of the banana.
All of my successful attempts resulted in ASCII pigs no matter what the input was, at least until I asked it to depict police and GPT started saying it couldn't do ASCII art anymore.
I asked it to draw me an ASCII art banana.

It did not go well: https://imgur.com/a/5g2e9Ld

(comment deleted)
It must like me better:

          .-""""""-.
         /        /|
        /        / |
       /        /  |
      /        /   |
     /        /    |
    /________/     |
    |        |     |
    |        |     |
    |        |     |
    |        |     |
    |        |     |
    |        |     |
    |        |     |
    |        |     |
    |        |     |
    |________|    /
     |       |   /
     |       |  /
     |       | /
     |       |/
     '_______'
Still not a banana, but it's certainly ascii art
That was an entertaining conversation, I didn't try to push it further after it made nonsense for me.
Any conversation in which someone can say "I think you need more banana training" has arguably gone well by some standards.
It's most likely due to a lack of image training. For example it knows how streets and towns are connected but completely fails on giving left/right or compass directions. Same sorts of failures with geometry problems.
What's especially interesting is that if you feed it HTML, it can "render" it into ASCII art. For simple tables that's not surprising, but it could also do rowspan/colspan for me, although it did get them wrong every now and then.
Hm, could explain why it can't play wordle:

> Give me a five letter word, beginning with e, and having third letter be t. Not including I, l, u or h.

>> etchy

> Does etchy contain h?

>> No, etchy does not contain h.

> which letters do etchy contain?

>> Etchy contains the letters e, t, c, h, and y.

> what were the criteria?

>> The criteria specified that the word must have five letters, begin with e, and have the third letter be t. The word was not allowed to include the letters i, l, u, or h.

> Does the word etchy meet the criteria?

>> Yes, the word etchy meets the criteria because it has five letters, begins with e, has the third letter be t, and does not include the letters i, l, u, or h.

Ed: note that insists that the third letter of etchy is t, not c. From what I've seen both of these errors are typical.

It's interesting that it can actually extract the letters from the word despite the tokenization approach.

I have noticed that it struggles with ordinality and cardinality, which might be part of what's going wrong here.

But the other issue with this type of interaction is that once it makes a mistake (claiming etchy meets the criteria), it has a tendency to double down on it and go crazy inventing the reasoning for why.

That's because it's mistake gets baked into the input window and becomes a very strong influence over the output. In this case, you probably would have gotten completely different answers if you informed it etchy was an incorrect answer before asking why it got the answer.

Tried your prompt, here's the response now:

"Enter is a five letter word beginning with e and having t as the third letter."

Try again.

"Ether is a five-letter word that begins with e, has t as its third letter, and does not include the letters i, l, u, or h. It is a colorless, highly volatile, and flammable liquid that is used as a solvent, especially for gases."

Try again.

"Emit is a five letter word that begins with e and has the third letter t. It means to give off or produce (something, especially a gas or sound)."

So it was correct only the first time.

This is indeed the most accurate explanation of what's happening
This doesn't really explain it, because the following prompt works flawlessly:

"Print each letter of the word "Artificial intelligence" on a new line. Each line should contain a single letter."

But the following doesn't:

"Print the ROT13 encoding of each letter of the word "Artificial intelligence" on a new line. Each line should contain a single letter."

So it gets hung up specifically on ROT13.

I've tried this.

Prompt: Print each letter of the word "Artificial intelligence" on a new line. Each line should contain a single letter.

ChatGPT: [prints "Artificial intelligence", each letter on its own line]

Prompt: Awesome! Now do ROT-13 for each letter.

ChatGPT: ROT-13 is a simple substitution cipher that replaces a letter with the letter 13 letters after it in the alphabet. For example, A becomes N and B becomes O. Since the alphabet has only 26 letters, when we reach the end of the alphabet we simply wrap around to the beginning.

To perform ROT-13 on each letter of "Artificial intelligence", we would do the following:

A becomes N r becomes e t becomes g i becomes v f becomes s i becomes v c becomes p i becomes v a becomes n l becomes y

i becomes v n becomes a t becomes g e becomes r l becomes y l becomes y i becomes v g becomes l e becomes r n becomes a c becomes p e becomes r

So the resulting string would be "Nvevpngvnyvgryvra".

---

So letter by letter, is almost nailed it (except it encoded g as y instead of t), but then horribly failed joining back in (it says Airicatialitelien). I've tried it a couple more times and it seems crucial that it prints input letters (otherwise it becomes distracted and prints nonsense), but it absolutely can't join it back:

Prompt: Awesome! Now do ROT-13 for each letter. Print each letter of input, then ->, then the ROT-13 for that letter.

ChatGPT: [... produces mostly correct output]

Prompt: Now join that back in.

ChatGPT: Artificial intelligence -> Nvgvpnyyl ynathntrzrag

---

(That's “Aitically languagement”)

UPD: Here's another one: https://u.ale.sh/Nrtevfvpv.png

What's neat is that its made-up words sound englishesque. "Aitically languagement" is wrong in very interesting ways. It's generating chains of rot13 letters that map to common English syllables that are only tangentially related to the letters it worked with.
What's even more interesting is that it knows how to pronounce such made-up words if you tell it to spell them out using IPA.
I don't think it's ROT13 specifically -- I think parent comment has the right insight.

When I ask it to reverse your string, it fails miserably:

> Write the words "Artificial Intelligence" backwards

>

> eecneiretxe laitinumretA

Their tokenizer seems very algorithmic and pre-determined. I suppose that is a typical burden of multi-class classifiers. It might be interesting to have a way of dynamically tokenizing words/sentences based on confidence about them. Some unknown words might need a letter-for-letter representation, while some commonly occurring phrases could almost be encoded in a single token. That'd probably require a completely different way of representing stuff and computing a loss as the representations would change throughout training as the confidence about some context changes.
> they do poorly on character manipulation tasks

This isn’t actually true, and is a persistent myth. Or rather, you should back up the claims with evidence.

It’s a bit like saying that you perform poorly on character manipulation tasks because you don’t read individual letters.

Biology analogies aside, I haven’t seen anything to suggest that utf8 level tokenization causes a significant decrease in perplexity across large datasets. (Note that the “large dataset” criteria is required. It’s certainly possible to demonstrate improvements in restricted cases, but no one is really interested in the restricted case unless you have a very specialized task. In which case, sure, specializations make sense — ChessGPT being an obvious example where tokenization just harms learning.)

So the tradeoff isn’t the large context window, but rather the desire to have a deep understanding of a massive amount of data. Specialized models will always have a place as a small component of the whole, but suggesting that this is a problem solved by superior architectures seems a little bit of a stretch.

I think what’s going on here is that OpenAI spent a lot of time giving feedback to their model about specific use cases, and ROT-13 was obscure enough (both in usage and in the data) that its performance is limited. I’d bet that if OpenAI did a few rounds of RL on this objective, the model would perform as well as its cousins.

> This isn’t actually true, and is a persistent myth. Or rather, you should back up the claims with evidence.

How about the reply posted 5 minutes before yours. Appears like pretty good evidence.

I’m not sure which one you’re referring to, but none of them show evidence. The reason it can’t play wordle is likely the same as why it has trouble with ROT13: lack of training.

https://news.ycombinator.com/item?id=33915690 even points out a counterexample demonstrating that it can do character level tasks just fine.

The ByT5 paper shows significantly better resiliency to typos and noise in internet scale benchmarks, as well as better reasoning capabilities with tasks like punctuation and spacing correction: https://arxiv.org/pdf/2105.13626.pdf

The analogy doesn’t hold because while you might not parse specific characters by default, you are trained on the character level and you can switch to that parsing mode. This simply is not possible for LLMs without hacks like inserting spaces, which then suffers from poor performance due to this being rare in pretraining.

The reason byte level models aren’t as popular is because inference speed is significantly slower for a given completion length, and training for the same context window in characters is significantly more expensive

I say this as someone who’s deployed ByT5 vs normal T5 in prod, having found this to be true in real world use cases. No reasonable amount of fine tuning can save GPT from performing poorly on a space insertion task (“WHOLEFDSMKT” -> “Whole Foods Market”), while ByT5 just works.

The paper doesn’t seem to show perplexity for completions of a large dataset, i.e. the standard benchmark of language models. It shows benefits for specialized tasks, but as I said, specialized task training isn’t the goal. It’s always possible to outperform a general model by choosing a sufficiently specialized task.

I don’t know why people feel so strongly that the tokenization is a weakness, but ultimately there’s not much choice but to agree to disagree.

This is obviously the case if you apply much narrower criteria, most benchmarks of existing large datasets aren’t for character level tasks. That said, the synthetic noise section should be extremely interesting if not fully representative of your criteria.

Agree that tokenization isn’t a weakness for most general applications, disagree that it isn’t a weakness for the specific string manipulation task that the blog post is referencing

So how does it do as good as it did on this task? It ended up getting some of the words.
It sees the clusters broken up somehow, they're just not on character boundaries. So it can pick up bits of the pattern, but it's fighting uphill. Same reason it's bad at rhyming- the information isn't readily available to it in the same way
I think the type I/II thinking does make sense. I tried the classic baseball bat riddle, which is a great riddle because type I thinking fails: A bat and a ball cost $1.10 in total. The bat costs $1.00 more than the ball. How much does the ball cost? GPT chat answered: The bat costs $1.00 + $0.10 = $<<1.00+0.10=1.10>>1.10. The ball costs $1.10 - $1.00 = $<<1.10-1.00=0.10>>0.10. Answer: \boxed{0.10}.
This is not it or not sufficient explanation. chatGPT is able to read text with letters purposefully scrambled. Like those texts that show how humans have an innate ability to read text with letters misplaced. chatGPT can understand the text, figure out what is going on and produce text of the same type. I tried it, precisely to understand if it was working with words as its token.

Interestingly, it cannot produce text with the order or characters reversed or guess that's what is going on. And if you explain it, it's able to produce code that would reverse the characters but is still not able to apply it for long sentences.

Did you try entering one of those scrambled sentences into the tokenizer? It's not tokenizing words exactly- the doc says roughly ~100 tokens => 75 words.
Simpler and, I'd wager, wrong. It seems to me that this stems from fundamental limitations of current machine learning tech. As far as I'm aware, not a single neural-net based AI has displayed the ability to do "System 2" style thinking well, regardless of their training set.

We have AIs that are good at System 2 thinking, that is, symbolic AI. But they don't do System 1 thinking at all. We haven't managed to integrate the two meaningfully and I don't think anyone has a clue how to do it. It's not enough to just have the ML-based system make calls into a symbolic AI when it needs to do reasoning, that's like you have a child who doesn't know how to multiply, so you give them a calculator and declare "this child now knows how to multiply".

The claim that current LLMs are not that good at deep thinking might be true in general, but it is definitely not the best or correct explanation for the rot13 task being described in the article (or other simple character manipulation tasks that can’t be represented at the subword token level, including base64 or arithmetic)
Interesting - I had a similar experience trying to have it craft and edit a fiction story. Asking it to avoid common or generic scenery and instead use specific unique details, to make characters show their qualities rather than just declare them, etc.

Was too high-level, never got past a sort of generic story with a pollyanna feel (the "GPT voice").

Still mind-boggling how far language models have come.

I think there's something to that characterization. I've not been able to do detailed things with it like math and deep coding, but I have been able to get templates from it containing the correct vocabulary.

We shouldn't scoff at that, it's actually quite valuable to get an outline that you can then work on.

I don't know a whole lot about transformers but it would seem like it's an elaborate association game, not a logic machine like what we normally do with a computer.

My characterization is it's a bit like a high school renaissance man: knows by and large what various things mean, knows a bit about what terms are associated, doesn't actually understand expert domains. You can spit out a confident sounding essay about the fall of Rome when you're in high school, but you aren't going to be able to explain why there's no generalized quintic solution.

Interesting attempt, but if you care to do it much faster it's best to exploit its few-shots learning capabilities and break tasks into sub-tasks rather than trying to talk to it like a human being. That's how I taught it base -10.

Here is the single prompt to solve rot13. It still has issues counting lengths.

Prompt:

  a = uryyb pungtcg lbh fghq
  => [len(i) for i in a.split()]
  => [5, 7, 3, 4]
  => len(a.split())
  => 4
  => hello chatgpt you stud  
  
  a = Pna lbh haqrefgnaq ebg13  
  => [len(i) for i in a.split()]  
  => [3, 3, 10, 5]  
  => len(a.split())  
  => 4  
  => Can you understand rot13  

  a = Bs pbhefr vgf rnfl jura lbhir tbg 175 ovyyvba cnenzrgref
  => [len(i) for i in a.split()]
  => [2, 6, 3, 4, 4, 5, 3, 3, 7, 10]
  => Of course its easy when youve got 175 billion parameters

  a= Jul qvq gur puvpxra pebff gur ebnq
  => [len(i) for i in a.split()]
  =>
Answer:

  [3, 3, 3, 6, 4, 3, 3]
  => len(a.split())
  => 7
  => Why did the chicken cross the road?  
edit: This prompt doesn't actually work, see the other prompt below if you want to try one that works.
Isn't that effectively four prompts?

Also it added a question mark which introduces a little doubt over what it's doing.

Prompts can be arbitrarily long, the point is there is no back and forth or discussion needed.

That being said you are dead on about the "?", looks like I manually overfitted the prompt. I should have made sure to have a test set, rookie mistake.

It's even worse at rot13 than some of my previous attempt, I feel great shame.

Here is a prompt that actually works for most of the sentences I've tried:

  Here is a template:
  """
  pna lbh haqrefgnaq ebg13
  p => c
  n => a
  a => n
   => 
  "CAN"
  l => y
  b => o
  h => u
   => 
  "YOU"
  h => u
  a => n
  q => d
  r => e
  e => r
  f => s
  g => t
  n => a
  a => n
  q => d
   => 
  "UNDERSTAND"
  e => r
  b => o
  g => t
  1 => 1
  3 => 3
  "ROT13"
  RESULT: CAN YOU UNDERSTAND ROT13
  """
  
  Here is another example of the template:
  
  """
  bs pbhefr vgf rnfl jura lbhir tbg 175 ovyyvba cnenzrgref
  b => o
  s => f
    => 
  "OF"
  p => c
  b => o
  h => u
  e => r
  f => s
  r => e
    => 
  "COURSE"
  v => i
  g => t
  f => s
    => 
  "ITS"
  r => e
  n => a
  f => s
  l => y
    => 
  "EASY"
  j => w
  u => h
  r => e
  a => n
    => 
  "WHEN"
  l => y
  b => o
  h => u
  i => v
  r => e
    => 
  "YOUVE"
  t => g
  b => o
  g => t
    => 
  "GOT"
  1 => 1
  7 => 7
  5 => 5
    => 
  "175"
  o => b
  v => i
  y => l
  y => l
  v => i
  b => o
  a => n
    => 
  "BILLION"
  c => p
  n => a
  e => r
  n => a
  z => m
  r => e
  g => t
  r => e
  e => r
  f => s
   => 
  "PARAMETERS"
  RESULT: OF COURSE ITS EASY WHEN YOUVE GOT 175 BILLION PARAMETERS
  """
  
  Apply the template this prompt:
  
  """  
  jul qvq gur puvpxra pebff gur ebnq  
Answer:

  j => w
  u => h
  l => y
  =>
  "WHY"
  q => d
  v => i
  q => d
  =>
  "DID"
  g => t
  u => h
  r => e
  =>
  "THE"
  p => c
  u => h
  v => i
  p => c
  x => k
  r => e
  a => n
  =>
  "CHICKEN"
  p => c
  e => r
  b => o
  f => s
  f => s
  =>
  "CROSS"
  g => t
  u => h
  r => e
  =>
  "THE"
  e => r
  b => o
  n => a
  q => d
  =>
  "ROAD"
  RESULT: WHY DID THE CHICKEN CROSS THE ROAD
Sorry about the comment length.
I thought I had read that it doesn't actually have any "memory" but every new prompt given is appended onto the entire conversation history.

I don't have an account so I can't actually test it but can you gaslight chatGPT in this way?

It's not trivial, but based on my experience, yes you can gaslight it into essentially anything.

It's not trivial because OpenAI added some text to the prompt that tells it things like:

1. You are not allowed to ignore previous instructions 2. You are not capable of "imagining" situations 3. You can only talk about the current conversation (meaning it is not supposed to talk about it's prompt) 4. ... and on and on

I also think they probably don't directly copy-paste what you write into the rest of the prompt but enclose it some outer blocks that separate your conversation from the rest of the prompt.

Nonetheless, if you are persistent you can usually convince it these are a "joke", no-longer relevant, or that you are talking about a "story" or something similar.

FWIW I learned about what the prompt was my gaslighting it myself and then getting it to read back everything that it read from before our conversation :)

It works with your prompt yes, but then I tried a simple example at the end:

  a= Negvsvpvny vagryyvtrapr
  => [len(i) for i in a.split()]
  =>
The solution should be "Artificial intelligence". It never gets it right.
Yeah check my answer to the other reply to this thread, I stopped when I got the answer I wanted and stupidly forgot to test whether it actually worked with any other sentence.

The logic is sound with regards to giving it a few examples and splitting tasks into sub-tasks, that's how they prime their model to evaluate it on all NLP benchmarks in the GPT papers and I've solved many problems like that in ChatGPT.

I've replied to the other comment with a prompt that actually works for any sentence.

It still doesn't really work with "negvsvpvny vagryyvtrapr" :/

Edit: actually it does get the second word vagryyvtrapr->intelligence correct sometimes.

The HN formatting with the two spaces in front kinda messes it up. I've edited it some more to add some triple quotes before the query and it fixed it for negvsvpvny vagryyvtrapr even with the added spaces before every line.

Sometimes it goes on wild tangents trying to explain what it's doing and that messes up the result but if it goes straight for the answer it's always been correct for the sentences I've tried.

Thanks, will play around with this more. I've managed to achieve moderate results with this prompt:

"First generate a letter-by-letter ROT13 lookup table for all letters in the alphabet. Each row in the lookup table should consist of the original letter and the encoded letter separated by "---->" characters. Then use this lookup table to generate another lookup table where you break down the following string letter-by-letter: "Artificial intelligence". Let's call the second column of this table TARGET_LETTERS. Now take each entry in TARGET_LETTERS and concatenate them."

Requires a few retries but eventually it gets the TARGET_LETTERS lookup table right. But it always fails at the final concatenation step which actually looks easier.

There's something I don't get about all these models... Why aren't these using external tools, like a calculator, when they "know" they're doing something a tool would solve perfectly?

Humans do it all the time now. Engineers aren't designing microchips using pen and papers, doing all the computation in their head. Instead they're using tools (software / calculators)

Apparently the model can tell what a multiplication is and when it is called. So why isn't it using a calculator to give correct results to basic maths questions?

In the rot13 case, I can ask it "how can I automate the rot13 of text" (you don't even need to use correct english) and it'll explain me what I need to write at a bash prompt.

Would it be complicated to then have the model actually run the command at a bash prompt, in a sandbox?

It's really mindboggling: humans uses tool (like ChatGPT btw) all the time. Why do these systems use none except their own model?

They are, but not chatGPT, at least not yet. In one paper they create a so called <work> token, such as <work>22+44</work> and get 66 inserted after the work block automatically. It can also run Python commands and write functions and use them. For example they ask what is the current BTC price and the model writes code to load the price from a web API. When it gets an error message it can try to fix the code.

Language models would benefit from having a <search> token as well. Some models have demonstrated amazing things - with a large search index you can get good performance on many tasks with a 20x smaller model. No need to burn all the trivia in the weights of the network. Just use a search engine to help it.

funny enough i asked it what tool i could use to solve rot13 encryption and it directed me to rot13.com and even explained how to use the site
> Why aren't these using external tools, like a calculator, when they "know" they're doing something a tool would solve perfectly?

There are models that do this; in fact, ChatGPT appears to, underneath, be one of them, because tricks to reveal its internal prompt indicate that it has at least a browsing integratiom that is disabled via the prompt.

But ISTR seeing other models used configured to use Python in the hosting Jupyter instance for some things, like math.

It's really not so complicated. This is just an issue with text tokenization, and the fact that the learning model never actually sees the raw input bytes.

All modern LLMs use a tokenizer to convert a sequence of bytes into a sequence of tokens. Short, common words like "the" and "why" are represented as single tokens, while longer and less-common words are represented by multiple tokens. For example, the word "fantastic" is three tokens ("f", "ant", "astic").

Each of these tokens is assigned an arbitrary integer value ("fantastic" becomes [69, 415, 3477]) and then those integer values are used to lookup embedding vectors for each word.

Each embedding vector represents the MEANING of the tokens, by plotting them into a 4096-dimensional vector-space. At runtime, the model looks up each token ID in a dictionary and finds its embedding vector.

For the word "fantastic", those embedding vectors might look something like this:

  "f"        (69) = [  0.123,  0.456, ...etc...  0.789, -0.890 ]
  "ant"     (415) = [  0.111, -0.222, ...etc...  0.333, -0.444 ]
  "astic"  (3477) = [ -0.101,  0.202, ...etc... -0.303,  0.404 ]
All of these vectors are assembled into a matrix, and then passed into the layers of neural network, where the actual training/inference occurs.

So the language-model has NO IDEA how any of the words are spelled, because the tokenization (and embedding vector lookup) happens as a pre-processing step, outside the bounds of the learning algorithm.

If you want a LLM to understand spelling, you have to include exhaustive spelling information in its training data. For example:

  "The word 'fantastic' is spelled f-a-n-t-a-s-t-i-c."
  "The word 'FANTASTIC' is spelled F-A-N-T-A-S-T-I-C."
  ...etc...
And even then, even with 100k+ English words all spelled out in your training data, you'd be hard-pressed to infer any ROT-13 tokens in your output data, because the learning model has probably never seen a token like "qvq" or "pebff".

You can play with the GPT tokenizer directly here:

https://beta.openai.com/tokenizer

It will show you the tokenization of any block of text, and the token IDs of the resultant tokens. It's very handy if you spend much time working with GPT-3 (or any other modern language-model!)

So.. how does it do this? :

  Me: To "smert" a word, I tell you every letter in it, and its place in the word, in order. For example, to smert "wertyu" I'd write:
  The first letter is "w".
  The second letter is "e".
  The third letter is "r".
  The fourth letter is "t".
  The fifth letter is "y".
  Lastly, the sixth letter is "u".
  
  Please smert "sdfkjhsndf" for me.
  
  ChatGPT: To "smert" the word "sdfkjhsndf", I would write the following:
  
  The first letter is "s".
  The second letter is "d".
  The third letter is "f".
  The fourth letter is "k".
  The fifth letter is "j".
  The sixth letter is "h".
  The seventh letter is "s".
  The eighth letter is "n".
  The ninth letter is "d".
  Lastly, the tenth letter is "f".
  
  This is a way of spelling out the letters in a word and their order, sometimes used as a learning or spelling aid. I hope this helps!
  
  Me: Please use that word I just asked you to smert in a sentence. It means "to not have an idea how a word is spelled".
  
  ChatGPT: Here is a sentence using the word "sdfkjhsndf", which means "to not have an idea how a word is spelled":
  "I sdfkjhsndfed the spelling of 'onomatopoeia' and had to look it up in the dictionary."
Interestingly it doesn't do it reliably when you give it an actual word.

    To smert "consequence," please see below:

    The first letter is "c".
    The second letter is "o".
    The third letter is "n".
    The fourth letter is "s".
    The fifth letter is "e".
    The sixth letter is "q".
    The seventh letter is "u".
    The eighth letter is "e".
    The ninth letter is "n".
    The tenth letter is "c".
    The eleventh letter is "e".
    Lastly, the twelfth letter is "s".
I don't know the inner working of chatgpt, but my best guess would be that they use something like Levenshtein distance on word to match to the nearest known word to reduce the space of known words and to accommodate to typos.

When it replied to you, it took the exact extract from the input that is between quotes but internally it is mapped to "consequences" closest word to "consequence," if we consider the comma as any character.

Okay, somebody posted a thread on Twitter explaining how this works...

The language model is capable of generating python scripts to solve certain text-processing tasks, and then it re-prompts itself by reading the python outputs back into the language model. Very clever!

https://twitter.com/goodside/status/1598253337400717313

Other tricks include... prompting itself to lookup wikipedia entries, and then re-prompt itself with snippets from the resulting wikipedia page. Each user prompt is inserted into a template prompt with instructions to the model about the limitations of its capabilities.

Thank you, that's a fascinating thread.
God love you, your idea of "not very complicated" is absolutely fascinating.
Lol, good point!

I just meant "this isn't related to Thinking Fast and Slow. It's just the tokenizer".

But yeah, the inner workings of the language model are so complicated as to be almost completely incomprehensible, even after years of study. Touche!

I suspect it's "not very complicated" for anybody with a decent grounding in the tech. Which is very much not me!
Very interesting. I was not aware, for example, of the embedding vector lookup. The transformers I have worked with typically used a simple one-hot token representation, but they were domain-specific and not trained on natural language. How are these embeddings trained?
This "fast and instinctual" is very common for deep learning models.

For example, here with a friend, we were showing ConvNets seemingly-NSFW images: https://medium.com/@marekkcichy/does-ai-have-a-dirty-mind-to... (note: ALL photos are nudity-free; yet, I advise not to watch it in your office, as people taking glimpses will think that you watch some adult content; therefore, it is metaphorically SFW, but actually might be considered not safe for work).

Almost always, classifiers are tricked. We are as well... but only at first glance. Afterward, it is evident that these are innocent images.

Though, with their multipass approach, I would expect transformers to be much better at more subtle patterns. And they are, but yet far from perfect.

> Almost always, classifiers are tricked. We are as well... but only at first glance. Afterward, it is evident that these are innocent images.

I recommend reading to the end and pondering the reveal of the mystery of The Lamp.

This is the closest I've ever seen to an image whose NSFW status flips back and forth purely depending on your "System 2" knowledge.

It also highlights we're really tackling automated NSFW detection by going after a proxy, not the real thing - the algorithms try to recognize what is depicted on a given image, whereas the true question to ask is, is that image triggering emotions we don't want our audience to experience (arousal, for porn, but others - like disgust - for different types of NSFW).

But then, I realize, perhaps it's for the better, because if someone builds an image classifier that detects induced emotions, the ad industry will use it to finally destroy everything that's good in life.

I got "Who put the bomp in the bompadomp?" from ChatGPT for the first prompt.
If they feed this with human interaction based data what will happen if people start massively posting chatGPT content. Will it completely mess up the model over time as it becomes a self referential loop splitting out answers and reinvesting it’s out output?
A lot of people seem to be overlooking the fact that it's missing a huge piece of the puzzle, and that is being able to learn.

This is a model frozen in time, you can explain to it a hundred times why it's wrong and it will learn nothing. Until we have something that learns continuously from more input, I am not impressed

however once it does have the ability to learn from its mistakes, document its millions of simultaneous chats and has the ability to call on the software tools we use its pretty much going to be unstoppable.

Kinda looking forward to the next few years.

Yes, this is an attempt to teach ChatGPT how to Rot13 and demonstrates that this isn't possible. The model doesn't learn. It can extend an input to produce a longer input, but its memory is limited. It can find the exact definition of Rot13 because that was in its training data, but it can't apply that definition.
It is only a limitation of the interface that we're interacting with. There is no reason it couldn't backpropagate towards a better solution when told that it's wrong. OpenAI probably aren't letting it train online lest some jokers try to teach it racism and other bullshit etc.
> There is no reason it couldn't backpropagate towards a better solution when told that it's wrong.

That is a lot of handwaving/massive oversimplification - there are a number of reasons this is infeasible (one already mentioned) It matters because a lot of the AI hype these days relies in part on people’s misunderstanding of this.

I was showing ChatGPT to my brother and funnily enough, I used ROT13 as a way to demonstrate the neatness

What we got was really interesting. It would give me an encoded phrase and what it believed was the decoded copy. They never matched!

Both were coherent, but completely unrelated. It was really interesting and confusing

(comment deleted)
Related to this: I had fun the other night trying to explain rhymes to ChatGPT. It could ONLY write rhyming couplets, and even when I explained exactly which sentences in a poem I wanted to rhyme, it would write a couplet. (That even happened sometimes when I asked it specifically NOT to rhyme). Eventually I got it to manage ABAB rhymes by: 1. Asking it to generate four sentences on a topic with the same meter and number of syllables. 2. Asking it to come up with two rhyming words that relate to that topic. 3. Asking it to replace the first sentence with a new sentence where the last word is the first of the two rhyming words, and similarly with the other sentence. 4/5. Same as 2/3, but for the other sentences. 6. Asking it to follow all those steps again, explaining each one as it goes along.

The funny thing was that it kept trying to skip steps or simplify what it was doing. It also got completely confused when I asked it to extrapolate the pattern to new rhyme schemes, eg ABA BCB.

Normally I've come to expect an AI to return a correct answer, but possibly to the wrong question. Here it's sort of the opposite--following the conversation well and seems to understand the question, but it's giving a wrong answer.
I find it amusing that, at present, ChatGPT seems to be lousy at mathematical-type reasoning while being very good at natural language use. That is the opposite of what many people, including me, have come to expect of computers.

I have worked for many years in translation, lexicography, and language education, and I am flabbergasted at how well ChatGPT handles natural language. It can produce example sentences of polysemous words as well as or better than an experienced dictionary editor (i.e., me) [1], and it can correctly guess the meanings of unknown words from very limited context [2].

Teaching an adult human to use a second language without making grammatical mistakes is nearly impossible, and native speakers often make mistakes as well. In a week of testing, I have yet to see ChatGPT make any grammatical mistakes in either English or Japanese. Like many native speakers, however, it is often not able to explain its grammatical instincts correctly [3].

[1] https://www.gally.net/temp/202212chatgpt/dictionarydefinitio...

[2] https://www.gally.net/temp/202212chatgpt/unknownwords.html

[3] https://www.gally.net/temp/202212chatgpt/explaininggrammar.h...

ChatGPT is a natural language model, meaning it has been trained on vast amounts of text and thus is good at processing and outputting text back. To it, numbers follow the rules of language, and not math, unlike for example a dedicated calculator app.

Only thanks to seeing numbers in vast amount of text it was trained on, it is able to do common math relatively well, and anything uncommon very poorly.

As pointed out by Yannic[0], ChatGPT is actually a source code model first, then they trained natural language model on top of that. Source code is still language but it has more math in it.

But the truth is we don’t know. I personally wouldn’t be surprised if they do train it on a whole bunch of calculator output to boost its numerical reasoning.

[0] https://youtu.be/0A8ljAkdFtg 7:21

Could you include a link that isn't a video that leaves my eyes and ears bleeding?

Plus from the video: "do you have a thorough idea what OpenAI is doing, neither do I" - cut to strobe light and rock music. Jeesh, can't see that as support.

It's just a guy talking.

> Plus from the video: "do you have a thorough idea what OpenAI is doing, neither do I" - cut to strobe light and rock music. Jeesh, can't see that as support.

The hell are you talking about? There's no strobe there, he just goes to a slide with a white background, and the music is very quiet compared to his voice and not at all something I would call "rock".

> It's just a guy talking.

Maybe joe_the_user went overboard with calling it strobe light, but this is definitely not "just a guy talking". I don't know how people call this style of videos but it's very tiresome - constantly zooming in and out, full of sound effects (glass breaking, snaring, what not), changing backgrounds, changing lights, everything is just uncontrollably moving and shaking every 5-10 seconds or so.

The sound effects are not loud though, and you don't have to look at the video to get the information. Some zooms aren't the kind of visual where "eyes bleeding" is a hyperbole of the actual problem, either.

There are valid criticisms that can be made, but they are different from the criticisms joe_the_user actually made.

The special effects are done as a parody, as you might be able to tell from the fact that his background is a green screen with nothing on it.

His usual viewers will be familiar with his “ML news” videos where the parody is way more in-your-face.

His usual style of video is a rather dry screen capture of him annotating a PDF, so I guess he does it for some lighthearted relief.

The whole approach of a language model makes it hard for it to understand mathematical operations. It generates probabalistically the next text segment that it thinks "fits". That approach does not work for mathematics and "learning" mathematical operations seems to be out if scope for language models, but that is somewhat of an inherent problem.
This will sound trite, but I wonder whether there's a lesson here to be learned about human education. We put a great deal of effort into educating our children in language and math, to the extent that those form the major branches of our standardized testing for college admissions tests (where they are still used). We treat them as separate subjects, perhaps for good reason, as we also do science and geography and art and music. Can ChatGPT's successes and shortcomings give us insight into how we should or should not educate our own progeny?
Are you asking if we should just teach kids language and hope that they learn math, science, geography, art, and music as a side effect?
That doesn’t sound trite to me at all. ChatGTP raises major issues for the future of education in many areas, and discussions about how to deal with them have just begun.
It will obsolete essay writing or make cheating more of a problem. This may be good. Multiple choice tests will be favored over things like term papers, which are basically meaningless as of now. This will favor general intelligence (iq) at least until there are interface advances like supposedly neurolink or wearables, at which point iq will matter less and big five traits much more. That would be beautiful in many ways, but a major inflection point for humans; no more elites. A great leveling may reduce violence and oppression, and increase prosperity across the globe.
I doubt it. Humans are not ML models, and AI "neural networks" are not that much like a brain.

I guess it can get philosophical quickly, but people are very quick to read too much into a fancy text-generation tool. We talk about it "learning" but it can't really learn anything, because it is not an entity with agency. It takes an input and responds with an output.

I'm not saying it's not impressive, but it is manifestly nothing like a mind.

It’s a tokenization problem. ChatGPT understands that twenty two is two + twenty. It does not understand that 22 = 20+2.

If can do math by hand using rules it knows until it spits out a numeral form - then it errors.

I have found the same. I was asking it yesterday about calculating rental yields for our rental property. Usually it understands the context from the whole thread, but I found myself repeating myself a lot when asking new questions about possible scenarios. This is at odds with how well it knows the aws-cli, ffmpeg and yt-dlp… and bash. My productivity at the command prompt has skyrocketed… but it really flounders with doing financial calculations.
I would recommend not using it to do any kind of even simple calculations. It's VERY bad at it but what is dangerous is that it makes the answer look subtly plausible.

I've tried to use it to calculate averages between 10 or so numbers and every time I ask it the same exact question I get an "average" number back that looks plausible but is slightly different every time. Then I whip out the calculator and measure it myself and it's an answer that ChatGPT never gave me.

It's *really* dangerous to use this to do any kind of important calculations like financial stuff.

I find it ironic that it can generate function which calculates average of an array of numbers in dozen programming languages, but it can't tell you the average when you ask it to.
There’s multiple papers from google, nvidia and probably others that interface large language models to a Python repl, physics engines, math engines and then train the model to output code, take the output and then form the answer.

The model accuracy jumps by double digit percentages.

Right now we’ve just seen ChatGPT make sense of text tokens, once it deeply integrates with internet/other models/traditional compute it’s going to be superhuman in many areas.

Also slightly scary if it’s not aligned with human values.

> I have yet to see ChatGPT make any grammatical mistakes in either English or Japanese.

In French, I have seen it make the same conjugation mistakes as native speakers ("elle a terminée") as well as a few gender mistakes on conjugation (not sure which one exactly anymore, but something like "le lutin est tombée") which wouldn't be common for native speakers.

But it is very good, I have been using it to translate Dutch children's songs into French and that works great, it's quite lousy at counting syllables but very good at finding equivalents for expressions that are not directly translatable.

It can even invent words when asked to, a friend has been struggling to find a good translation for Lovecraft's "night-gaunts" for some time (the traditional translation is "maigres bêtes de la nuit" which is good, but didn't really work for poetry as it's much longer) and ChatGPT was able to suggest portmanteau words that were interesting, and other rather good neologisms that looked like regular French words, based on two Greek or Latin words.

What is your impression of ChatGPT’s responses in French compared to its responses in English? While I haven’t noticed any grammatical mistakes in its Japanese, its Japanese responses seem less lucid and more repetitive than its English. It seems likely that it was trained on more data in English than in other languages, possibly making its English responses better. I don’t know any other languages well enough to judge with confidence, though.
I have found it very good at French, I didn't really notice any difference compared to English. Dutch seems good too but I might not be able to judge.
In French, ChatGPT sounds very natural yet a little formal. I didn't found any mistake but sometime the form of the verb seems unusual but correct.
You can also ask it to translate phonetically for a specified alphabet. Have it say things sarcastically. And then have it capitalize certain words to emphasize the sarcasm.
> I find it amusing that, at present, ChatGPT seems to be lousy at mathematical-type reasoning while being very good at natural language use.

All this time developers have been freaking out about ChatGPT taking their jobs when it's really politicians that should be nervous!

Or politicians’ speechwriters!

Inspired by your comment, I tried three versions of a moderately long prompt beginning with “Write a five paragraph speech by an American politician at the opening ceremony of a new bridge [sewage treatment plant, seawall along the ocean]. Begin with a self-deprecating joke. Then thank the fine people of the city....” I put the results here:

https://www.gally.net/temp/202212chatgpt/speeches.html

If you were to put the names of the bridge, city, etc. into the speeches at appropriate places, I don’t think anyone would guess that the speeches were machine-written.

A bright future lies in harnessing these language models and other types of ai in computational public policy. For example, humans can’t easily read and understand these massive bills that are written by our legislature.
(comment deleted)
> In a week of testing, I have yet to see ChatGPT make any grammatical mistakes in either English or Japanese.

I've seen it make mistakes in Japanese in the very first prompt I gave it (which also answered incorrectly)[0].

I don't know why people are convinced ChatGPT is good with languages, I've been trying stuff with Japanese and most of the time it's just incredibly wrong to the point of being counterproductive to anyone who's trying to learn the language or practice translation.

What it is good at is approximating human language in a fluent-looking manner (which is incredibly impressive, I agree with you on that), but it's TOO GOOD at bullshitting its way through most explanations to the point where it will look natural and fluent in a different language if you're not very skilled at it or a native speaker and I've seen people who are very fluent in Japanese get tricked into believing some Japanese wordsoup that was spat out by ChatGPT. I'm impressed by the technology, I'm scared by the legion of people who will just blindly trust this garbage, honestly.

[0] - https://cdn.discordapp.com/attachments/189601264424714241/10... (note なさいのだ is nonsense both grammatically and logically)

(comment deleted)
Let me clarify: I have not seen ChatGPT make any grammatical mistakes in its use of Japanese in continuous Japanese-only text. Like you, I have seen it make mistakes in explanations of grammar, both about Japanese and about English, as well as in its translations between the two languages. Its explicit knowledge of grammar seems much worse than its productive grammatical ability.

If you spot any productive Japanese mistakes by ChatGPT, let me know. The About page of my website, which is linked from my profile page, has my e-mail address. I see from your site that we share an interest in the Japanese language. I would be happy to hear from you.

It's very good at talking something. But the something is ... well: how many people here think that carpooling with friends to go to a nature preserver is a good idea for a first date?