4 ms·
> many hallucinations can be automatically detected and fixed! how? you just set off my halting-problem neuroses with that claim, since how do you know what i
by jjtheblunt 3y ago
> many hallucinations can be automatically detected and fixed!
how? you just set off my halting-problem neuroses with that claim, since how do you know what inputs to test with, in your idea?
- simonw 3y agoHave you tried ChatGPT Code Interpreter (now renamed to Advanced Data Analysis)? It's quite something to watch. It writes code, then executes it, gets an error, adjusts the code to fix the error, runs it again... I've seen it loop like that 4-5 times before it gets to code that works.
- dontupvoteme 3y agoThe halting problem is one matter (and LLMs will often write terrible code performance wise, though you can often determine this automatically with a myriad of approaches and either fix it or discard it and start anew) but in terms of "will it run" this is more akin to the old "will it blend" youtube channel than any complicated mathematical problems which require Church or Turing to intervene on. This is a simple smoke test and the biggest problem I've found is that it simply writes code which probably worked in the past in its training data (or is very close to what would work) but is just so ever so slightly off. This was just a front page article today because flask3.0 broke a login module, so it's still going to be a problem no matter how recent your training data is. You don't even need a python interpreter fired up for the first checks, in fact, you can generate the tree of valid libs, functions, their sigs, etc within your interpreter, save it as a json and and directly parse incoming python markup to evaluate if it is valid or not (at least, for your particular environment) I'm actually a bit surprised that openAI themselves doesn't do this since they have a fixed sandbox and it would save them compute cycles to handle the "little fix" directly with either non-LLM code or a much smaller "LLM call" to figure out how to call a function for lib X version Y which is similar to this. Or you could probably just do some non-insignificant double digit percentage of the time with Levenshtein distance (or similar fuzzy matching) and having an internal db of every libraries functions and function signatures for every version and automatically identifying where something changed and reducing your problem space to those.
- tomjen3 3y agoThe Halting problem is only relevant if you want to be completely correct. If you also reject code that looks weird, then you have bypassed the problem entirely.
- jjtheblunt 3y agoYes, I'm assuming the need to be completely correct. But you have to nail down a definition of “looks weird”?