3 ms·
I don't think this is "non-satisfying" at all. Program synthesis has been mentioned as a promising approach by François Chollet, and that's exactly what this i
by nl 2y ago
I don't think this is "non-satisfying" at all.
Program synthesis has been mentioned as a promising approach by François Chollet, and that's exactly what this is.
The place I find slightly unsatisfying is this:
> Sample vast, vast numbers of completions (~5,000 per problem) from GPT-4o.
> Take the most promising 12 completions for each problem, and then try to fix each by showing GPT-4o what this program actually outputs on the examples, and then asking GPT-4o to revise the code to make it correct. We sample ~3,000 completions that attempt to fix per problem in total across these 12 starting implementations.
I'd been tossing around a MCTS idea similar to AlphaGo, based on the idea that the end transformation is a series of sub-transformations. I feel like this could work well alongside the GPT-4o completion catalog. (This isn't an original observation or anything)
- bubblyworld 2y agoClassic, I've been doing the same, writing an alphazero for the transformation part. What seems _much_ harder is picking a decent set of transformations/concepts to work with, or more generally automating that process. Maybe you're right that LLMs could help there!
- luke-stanley 2y agoReminds me of NVIDIA Eureka: https://github.com/eureka-research/Eureka https://github.com/eureka-research/Eureka
- bubblyworld 2y agoVery nice! Thanks for the link, that's great inspiration.
- nl 2y agoGreat link, thanks.
- YeGoblynQueenne 2y ago>> Program synthesis has been mentioned as a promising approach by François Chollet, and that's exactly what this is. To be precise, "this" -a bog-standard generate-and-test approach- is the dumbest possible way to do program synthesis. It's like sorting lists with bogosort and a very big computer. It's exactly like bogosort: generate permutations and test. Except of course the system that generates permutations costs a few millions(?).
- bubblyworld 2y agoBogosort is driven by 0 heuristics - just shuffle and play. Using an LLM as a high-level prior over your search is very different, and the author had to do a lot of problem-specific tuning to make it work well.
- YeGoblynQueenne 2y agoBut he tuned the "test" side of the generate-and-test loop, not the "generate" side. The "generate" side remains a big permutation generator that is also very hard to control. The current highest-ranked system on the private test set of the ARC-AGI (at 34%) is another LLM fine-tuned on manually created examples of ARC tasks, so that would indeed be messing with the generator part of the loop. I'm guessing performance will jump when someone puts the two together. A heuristic btw, is something completely different than fine tuning, or filtering. Heuristic search is the closest thing we have to an approximation of the kind of goal-driven behaviour we see in animal intelligence. I think you could argue that gradient optimisation or any kind of optimisation of some kind of objective function is the same (Rich Sutton has a paper titled "Reward is all you need"). I'm not sure where I stand with that.
- bubblyworld 2y agoThere's a list of things the author did to change the "generate" side in the first two paragraphs of the article. The heuristic isn't the fine-tuning, it's the actual LLM, which is clearly pruning the set of possibilities massively. That's a reasonably common usage of the word. I agree combining it with some kind of search would be interesting, but still I think you're being overly negative about the results here. I'm actually busy training an alphazero for the arc problems, which I plan to try and hook up to a language model for reward generation, so we'll see how that fares! I've read that paper, but thanks for the reference, this comment section is a goldmine.