How to Trick ChatGPT
Darian Muresan
Teaching Professor, Stevens Institute of Technology, and Chief Technology Officer at Computer Vision Company
ChatGPT is impressive at being able to put words together. However, as we are quickly discovering, being able to speak well is quite different from being intelligent. One unique feature that human intelligence seems to have over artificial intelligence is our ability to infer and extrapolate, much better, than any existing AI system. To trip ChatGPT you simply have to ask ChatGPT about things that you would not normally find in the existing real world, but could be easily inferred from our human intelligence. Here are some examples.
First, create super large numbers, with many many digits, and ask ChatGPT to perform some simple math on them, but hide the mathematical operation just a bit. For example, we know that multiplying any number by 10 will simply add a zero at the end of it (assuming a base 10 system, which ChatGPT will assume). So, here is what I asked ChatGPT 4.0:
Human: What is 12345678901234567890123456789012345678901234567890*(4+6)
ChatGPT 4.0: To multiply a number by a sum of two or more terms, we can distribute the multiplication using the distributive property of multiplication over addition. That is:
a x (b + c) = a x b + a x c
In this case, we have:
12345678901234567890123456789012345678901234567890 x (4 + 6)
= 12345678901234567890123456789012345678901234567890 x 4 + 12345678901234567890123456789012345678901234567890 x 6
= 49382715604938271560493827156049382716049382716000 + 74074073407407407340740734074074074074074074074040
领英推荐
= 123456790123456790123456790123456790123456790123040
Therefore, the result of the multiplication is 123456790123456790123456790123456790123456790123040.
Second, any base conversion with large bases seems to continue to throw of ChatGPT 4.0. Take for example this question:
Human: What is 10 decimal plus 10 decimal in base 12345678901234567890
ChatGPT 4.0: To add 10 decimal and 10 decimal and then express the sum in base 12345678901234567890, we can first add the two numbers in decimal form to get 20, and then convert this number to base 12345678901234567890.
To convert 20 to base 12345678901234567890, we need to find the largest power of 12345678901234567890 that is less than or equal to 20. This is 1, which is equal to 1*12345678901234567890^0. We can write 20 as 0*12345678901234567890^1 + 1*12345678901234567890^0 in expanded form, so in base 12345678901234567890, the number 20 is represented as "1".
Therefore, 10 decimal plus 10 decimal, expressed in base 12345678901234567890, is equal to "2", which can be represented as 2*12345678901234567890^0 in expanded form.
The output of ChatGPT is completely garbled and nonsensical. It says one thing in one sentence and it invalidates it in the next. Since there is likely no training set that dealt with base conversions of this large number, ChatGPT completely failed. Again, it has hints of correctness, but anyone that knows how to do a number base conversion would know that 10 in decimal plus 10 in decimal is 20 in decimal. To convert 20 decimal to base 12345678901234567890 we would have to first agree on the representation of the unit 20 in the new base. If we extended the hex notation, where F = 15 (decimal) then a natural extension might be that G = 16, H = 17, I = 18, J = 19, K = 20 (decimal), ... and so on. We would have to find representation for 12345678901234567890-1 numbers -- not practical, but clear to any human that understands base conversion. Then 20 decimal, in base 12345678901234567890 is simply K, which is equivalent to K*12345678901234567890^0.
In conclusion, to throw off ChatGPT, and I would fathom most artificial intelligence systems, all we have to do is think of easy ways to ask questions that are based on simple ideas (such as multiplication or base conversion) but using numbers that are out of their realm of training. Extrapolation, even of basic mathematical ideas, does not seem to be a strong suite of the AI systems. The reason I am suggesting using large numbers is so that we cause overflow, in case AI tries to actually compute the calculations in the back end -- which seems to have been the case in our first example. To test actual intelligence and not pattern matching capabilities we need to devise tests that truly test it. At this point, in my opinion, a better name for Artificial Intelligence would be Pattern Estimator (PE) or Pattern Search (PS). In some sense ChatGPT seems to be good at searching for patterns and providing answers related to pattern findings. What do you think? I'd love to hear your comments.
President at Converging Sciences Technology, Inc., also at ARL PSU Navigation Research and Development Center
1 年They are integrating Wolfram's software with ChatGPT so this approach probably will not work well in the future.
Software Engineer
1 年Great article! I find your idea to rebrand AI to PE (Pattern Estimation) way more helpful to understand the concepts of how GPT works.