bugfix-66
Joined 4 years ago
Joined 4 years ago
Everybody in ML (e.g., me) knows that.
But that's what we're seeing.
I'm saying: "Here's a test outside the training set."
Published in October 2022, The Art of Computer Programming: Volume 4B is dazzling. It's like a guide to expressing (in non-obvious ways) all kinds of problems as some variation on Exact Cover (or Boolean Satisfiability) and using wicked tight little general-purpose backtracking solvers to solve them.
If you want a peek, watch Knuth's 2018 lecture on Dancing Links Exact Cover:
Put your query into Google and see how many thousands of answers appear.
Your tests are in the training set.
The language model was trained on it.
Now tell me, how many of the BUGFIX-66 problems can it solve?
Copilot can solve a few of the simple ones at the beginning (simple matrix multiplication, simple radix sort, etc., that appear often in the training data, and some of the harder ones whose solution appears on GitHub, e.g., the uncorrected prediction/correction compressor/decompressor whose solutions were front-page on Hacker News).
But as you go down the list, into material outside the training set, the language model won't be able to solve it.
Try it. Paste the tile, the introductory text, and the unfixed code, and see whether the omnipotent AI can solve these (quite straightforward) problems. For how many does it need the hint?
And djb's vectorized sorting networks are pretty great: https://sorting.cr.yp.to/
For example, substitute "The Burrows-Wheeler Inverse Transform" for "bubble sort".
http://tug.ctan.org/info/tex-nutshell/tex-nutshell.pdf
How is ChatGPT's answer wrong? The regex is matching square brackets instead of the correct OPTIONAL curly braces. Unseparated arguments aren't handled. The regex for the id is also wrong. The leading slash is correct, but other than that, the whole fucking thing is wrong!
And of course it can't handle macro calls within the macro arguments (nesting).
It's just an absolute clusterfuck, from top to bottom. The chatbot gave its user a useless piece of garbage, and Hacker News doesn't know enough to throw it away. Instead, we parade it around like some great success!
Fooled by a language model.