I think the devil may be in the details here. Ask GPT to hash you a word (let alone guess which word was the origin of a hash), it’ll just put together some hash-like string of tokens. It’s got the right length and the right character set (namely, it’s a hex number), but otherwise, it’s nonsense.
This ties into the whole “does it understand” question because it’s a very simple example of a simple prediction question with a very deep underlying complexity in which a GPT doesn’t perform much better than an N-gram Markov chain. Because there is a lot of complexity to the task that isn’t exemplified at all in the simple password-hash pair, and no matter how many password-hash pairs you get, inferring the hashing algorithm is hard. So you end up just mimicking hash-like sequences and calling it a day. You parrot, but you don’t understand.
How much of the rest does GPT-4 understand, though? It seems to have a thorough enough world model to at least use words always in sensible and appropriate ways. It seems to understand their meaning, if in a purely relational sense: <adjective> is a property of <noun>, which can perform <verb> or <verb>, and so on. That’s something where there’s a lot more examples, and the underlying complexity isn’t nearly as much as the hashing algorithm (after all, language is designed to make the meaning clear, hashing is designed to obfuscate).
There’s a question of which information is implicitly contained in a text, and which just isn’t. If you ask GPT-4 to write a new scientific paper it simply can’t come up with new empirical results, no matter how smart it is, if they’re not implicitly derivable from its training set (that is, they’re not actually novel, just an overlooked implication of existing knowledge). So that’s a task no text prediction can possibly be up to, no matter how smart. Hashing is theoretically included in the training set (there’s descriptions of the algorithm in there!) so not being able to do it definitely qualifies as “GPT-4 is too stupid to do this”. Reverse hashing is different because there’s no known general solution to it, so being able to do it in a few shots would make it vastly superhuman, but I can imagine there existing eventually an AI that can do it with a good success rate.
I suppose you could also make a distinction here between model and simulacrum. The model is an unfathomable shoggoth who is trained at a superhuman task, and is much better at it than most humans. The simulacra, aka the fake personalities that emerge when the model is asked to predict a dialogue between set characters, may be a lot stupider than that because they’re pretend humans talking; they don’t have prediction abilities, they are the result of predictions. ChatGPT as we know it isn’t a model, but a simulacrum. The model is the invisible puppet master moving it behind the scenes.
Ask GPT to hash you a word (let alone guess which word was the origin of a hash), it’ll just put together some hash-like string of tokens. It’s got the right length and the right character set (namely, it’s a hex number), but otherwise, it’s nonsense.
But GPT can do base64 encoding. So what is the difference?
What do you mean? Base64 encoding isn’t the same as hashing. Besides, I expect it would be very easy to make a “toolformer” with a hashing module, or even access to a Python interpreter it can use to execute code it writes, but that’s a different story. Perhaps you could even walk one step-by-step through the hashing algorithm I guess.
I think the devil may be in the details here. Ask GPT to hash you a word (let alone guess which word was the origin of a hash), it’ll just put together some hash-like string of tokens. It’s got the right length and the right character set (namely, it’s a hex number), but otherwise, it’s nonsense.
This ties into the whole “does it understand” question because it’s a very simple example of a simple prediction question with a very deep underlying complexity in which a GPT doesn’t perform much better than an N-gram Markov chain. Because there is a lot of complexity to the task that isn’t exemplified at all in the simple password-hash pair, and no matter how many password-hash pairs you get, inferring the hashing algorithm is hard. So you end up just mimicking hash-like sequences and calling it a day. You parrot, but you don’t understand.
How much of the rest does GPT-4 understand, though? It seems to have a thorough enough world model to at least use words always in sensible and appropriate ways. It seems to understand their meaning, if in a purely relational sense: <adjective> is a property of <noun>, which can perform <verb> or <verb>, and so on. That’s something where there’s a lot more examples, and the underlying complexity isn’t nearly as much as the hashing algorithm (after all, language is designed to make the meaning clear, hashing is designed to obfuscate).
There’s a question of which information is implicitly contained in a text, and which just isn’t. If you ask GPT-4 to write a new scientific paper it simply can’t come up with new empirical results, no matter how smart it is, if they’re not implicitly derivable from its training set (that is, they’re not actually novel, just an overlooked implication of existing knowledge). So that’s a task no text prediction can possibly be up to, no matter how smart. Hashing is theoretically included in the training set (there’s descriptions of the algorithm in there!) so not being able to do it definitely qualifies as “GPT-4 is too stupid to do this”. Reverse hashing is different because there’s no known general solution to it, so being able to do it in a few shots would make it vastly superhuman, but I can imagine there existing eventually an AI that can do it with a good success rate.
I suppose you could also make a distinction here between model and simulacrum. The model is an unfathomable shoggoth who is trained at a superhuman task, and is much better at it than most humans. The simulacra, aka the fake personalities that emerge when the model is asked to predict a dialogue between set characters, may be a lot stupider than that because they’re pretend humans talking; they don’t have prediction abilities, they are the result of predictions. ChatGPT as we know it isn’t a model, but a simulacrum. The model is the invisible puppet master moving it behind the scenes.
But GPT can do base64 encoding. So what is the difference?
Base64 encoding is a substitution cipher. Large language models seem to be good at learning substitutions.
What do you mean? Base64 encoding isn’t the same as hashing. Besides, I expect it would be very easy to make a “toolformer” with a hashing module, or even access to a Python interpreter it can use to execute code it writes, but that’s a different story. Perhaps you could even walk one step-by-step through the hashing algorithm I guess.