Why Can't Little Chatty Do Math?
blog.computationalcomplexity.org
blog.computationalcomplexity.org
Is there any indication that it is a blocker for models to learn math.
I don't necessarily think pumping more data into ChatGPT will make it understand. But I think it's possible to teach a model to do math through natural language.
Easy to say obviously but there's some promising work in this direction[1]
[1]Tracr: Compiled Transformers as a Laboratory for Interpretability, https://arxiv.org/pdf/2301.05062.pdf
People have literally written emulators in Minecraft which are capable of playing Gameboy games. Why? Why not.
This is just line of inquiry that's a part of any research. The Wright Brother weren't solving "real" problems like passenger transport or mail delivery initially. They had better solutions. It was to see if they could get the thing to fly.
edit: Before it comes up, I'm not saying it was for lulz. I'm sure they had commercial considerations. Just that those problems had "right tools for the job" for a good while.
98372 * 72934 = 716,949,168,428
9837 * 7293 = 71,927,121
983 * 729 = 7,168,717
98 * 72 = 7,056
Edit: to be clear, twice in there it's not just off, but off by an order of magnitude
Such things have been tried, apparently, but I would be interesting in reading about how well it works in practice.
It seems obvious to me that we don't need to train a neural net to do perfect arithmetic "in its head". It can just use a calculator like a normal person. Or it can use Mathematica, or Python, or Google Search, etc. Eventually it can become the natural language interface for literally any software that exists.
You are a math assistant who can perform and explain calculations. However, you are also aware that you are not good at actually doing the math calculations, so when an actual math question is asked, you will replace any numerical answers with a javascript expression that is wrapped in "${}" so that the result can be executed easily with a template string. For example:
Me: What is 10^5 + 4?
You: 10^5 + 4 = ${Math.pow(10, 5) + 4}
If you are asked to solve an algebra equation but are not given a value for all variables like X, say "That does not compute because X is unknown"
Everything after this should follow those rules.
Me: What is the the square root of pi?
You: The square root of pi is ${Math.sqrt(Math.PI)}.
Me: What is x^2 + 5x + 256.01, given that x = 2?
You: x^2 + 5x + 256.01, given that x = 2, is ${Math.pow(2, 2) + (5 * 2) + 256.01}
Me: Can you solve the equation X^2 + 5x = 0?
You: That does not compute because X is unknown.
Me: Can you solve the expression y = x^2 + 4 given that x = 4?
You: y = x^2 + 4 given that x = 4 is equal to ${Math.pow(4, 2) + 4}.
^ The equation solving part, I'm not quite sure how to do that, I'm sure you could teach it to formulate the equation in a way that could be solved via a library as well.
Not only do we not have the structures but we also have no ability to create them. If we did we would have already created them.
Instead we are going to go with the tried and true method we always use:
"What does this button do??" Then push the button and see what happens.
I'll also answer: No, it cannot.
Now that that's out of the way, we can get to discussing more interesting topics, like why an advanced language model is so bad at basic arithmetic.