3 ms·
Super short version: You want to evolve programs. Randomly mutating programs is hard, most mutations break things. Instead, ask a giant language model to pro
by Imnimo 4y ago
Super short version: You want to evolve programs. Randomly mutating programs is hard, most mutations break things. Instead, ask a giant language model to propose edits, in the form of diffs (like the ones you get with git or whatever). These mutations are usually reasonable, don't break things, and lead to more interesting evolved programs. You can even further improve the process by using the successful mutations to fine tune the language model to predict better future mutations.
- Mariehane 4y agoThanks for the summary! Isn’t calling this “Evolution” rather overselling it?
- groceryheist 4y agoIts "evolution" in the sense it's an attempt to apply concepts from evolutionary theory to engineering problems and the principles of biological evolution are similar in the abstract.
- cjg 4y agoEvolution is just variation and selection. That might be the biological evolution we are familiar with, but it might also be improvements that a carpenter makes to their toolbox over time. Here (the toolbox and this paper) the variation is directed rather than random, but it's still variation and selection.