Can LLMs invent better ways to train LLMs?
sakana.ai
sakana.ai
Yes, but you may need a lot of monkeys.
While I understand the frustration, I assure you that the rest of the code is functional. This was a simple oversight and should be a trivial fix. I appreciate your feedback and understanding.
It’s not perfect, but it understands lock-free algorithms, branch prediction, can tell you which memory order to use for atomic operations if you’re using too strong of an ordering, AND it will catch silly bugs at the same time. I had a bounds check in a lock-free algorithm I was optimizing, which equated to if(idx < start && idx >= end) return false, and it mentioned that error while optimizing.
This guy was really putting it through its paces on already highly optimized code in an esoteric architecture (Nintendo 64) and it still found a few things: https://youtu.be/20s9hWDx0Io
No clickbaity article is worth reading.
(From the guidelines)
I wish we can get descriptive, boring, but accurate titles back.
The article is about using LLMs in an evolutionary framework to design better algorithms for LLM advancement, with particular occasional regard to preference optimization algorithms - and guess what, it seems it worked.
Don't misunderstand, building systems models using existing system response as a way of analyzing those systems is a useful methodology and it makes some things otherwise tedious things not so tedious. Much like "high level" languages removed the tedium of writing in assembly code. But for the same reason that a compiler won't emit a new, more powerful, CPU instruction in its code generator, LLMs don't generate previously unseen system responses.
Can they propose a working novelty:
-- after deep thought about idea soundness, probably not at this stage
-- through cycles of trials, not knowing exactly why - probably yes
After all, your hammer needs not intelligence.
So, "perform a selection over the enumerated combinations in the solutions space" works without the process being further sophisticated. It works as much as it can - as a preparation of data until the stage in which intelligence is required.
We have been doing it since a while; simulated annealing, genetic algorithms... Dumb hammers in a way, encoding an action from an intelligent operator, and providing an effective aid when under intelligent control.
What is the human mind if not a computer?
What is the universe if not repeated regurgitations of the four fundamental forces and 12 particles?
Well criticized combinations of existing patterns
> What is the human mind if not a computer
A computer with important modules installed
> What is the universe if not repeated regurgitations of the four fundamental forces and 12 particles
Repeated regurgitations which have already produced working structures
Pretty much no inventions were invented just by thinking, which is the environment most LLMs have.
right now you ask llm to write a code to do basic web scraping for HN website for latest url and give username of the submitter. sure they will give you a code and give you a test script but you as the user have to run the script and give manual feedback to LLM. if the testing step can be automated, user would give an input and desired output or a prompt and choose between the results, that would be good.
kinda like you do inpainting and outpainting and other painting stuff but for code.
feedback is the key here as you said
I was a big fan of genetic programming, wrote a lot of code, did lots of research. And unlike LLMs it could end up on code that had never been written before that accomplished some task, but the random walk through a galactic sized space with atom (or maybe molecule) sized solution spaces made it computationally infeasible.
Being able to somehow code 'reasoning' one could do the equivalent of gradient descent to converge on a working solution but without that, you are unlikely[1] to find anything in reasonable amounts of time.
[1] The chance is non-zero but it is very very near zero.
But it also appear to have a far higher probability of producing changes that move towards something that will run.