- Context: Terence Tao is one of the best mathematician alive.
- Context: AlphaEvolve is an optimization tool from Google. It differs from traditional tools because the search is guided by an LLM, whose job is to mutate a program written in a normal programming language (they used Python). Hallucinations are not a problem because the LLM is only a part of the optimization loop. If the LLM fucks up, that branch is cut.
- They tested this over a set of 67 problems, including both solved and unsolved ones.
- They find that in many cases AlphaEvolve achieves similar results to what an expert human could do with a traditional optimization software package.
- The main advantages they find are: ability to work at scale, "robustness", i.e. no need to tune the algorithm to work on different problems, better interpretability of results.
- Unsurprisingly, well-known problems likely to be in the training set quickly converged to the best known solution.
- Similarly unsurprisingly, the system was good at "exploiting bugs" in the problem specification. Imagine an underspecified unit test that the system would maliciously comply to. They note that it takes significant human effort to construct an objective function that can't be exploited in this way.
- They find the system doesn't perform as well on some areas of mathematics like analytic number theory. They conjecture that this is because those problems are less amenable to an evolutionary approach.
- In one case they could use the tool to very slightly beat an existing bound.
- In another case they took inspiration from an inferior solution produced by the tool to construct a better (entirely human-generated) one.
It's not doing the job of a mathematician by any stretch of the imagination, but to my (amateur) eye it's very impressive. Google is cooking.
To clarify, AlphaEvolve is an evolutionary algorithm which uses a neural network (in this case an LLM), which is based on gradient descent, for mutation.
Evolutionary algorithms are generally a less efficient form of optimization compared to gradient descent. But evolutionary algorithms can be applied more widely, e.g. to discrete problems which aren't directly differentiable, like the optimization of Python code. AlphaEvolve combines the two optimization approaches by replacing random mutation with the output of a gradient-based model.
> search is guided by an LLM
The LLM generates candidates. The selection of candidates for the next generation is done using a supplied objective function.
This matters because the system is constrained to finding solutions that optimise the supplied objective function, i.e. to solving a specific, well-defined optimisation problem. It's not a "go forth and do maths!" instruction to the LLM.
Can you explain more on this? How on earth are we supposed to know LLM is hallucinating?
The LLM serves to guide the search more "intelligently" so that mutations aren't actually random but can instead draw from what the LLM "knows".
They just try out the inputs on the problem they care about. If the code gives better results, they keep it around. They actually keep a few of the previous versions that worked well as inspiration for the LLM.
If the LLM is hallucinating nonsense, it will just produce broken code that gives horrible results, and that idea will be thrown away.
The catch however is that this approach can only be applied to areas where you can have such an automated verification tool.
The difference here is the function's inputs are code instead of numbers, which makes LLMs useful because LLMs are good at altering code. So the LLM will try different candidate solutions, then Google's system will keep working on the good ones and throw away the bad ones (colloquially, "branch is cut").
Like humans, it wasn't equally capable across all mathematical domains.
The experiment was set up to mimic mathematicians who are excellent at proving inequalities, bounds, finding optimal solutions, etc. So more like Ramanujan and Erdős in their focus on a computationally-driven and problem-focused approach.
It's a fascinating use of LLMs by mathematicians to produce new results, but the LLMs are just one component of the tools used to get the results.
Real people do not do math like AlphaEvolve...
They are all doing iterative search with feedback from a function that tells them whether they're getting closer or farther from their goal. They try different things, see what works, and keep the stuff that works.