Live data from Hacker News

A deep dive into self-improving AI and the Darwin-Gödel Machine

richardcsuwandi.github.io

71–80 of 103 posts

Re: A deep dive into self-improving AI and the Darwin-Gödel Machine

#71
post #66

Earlier quoted context omitted.

That is not true. There are plenty of ways not to reproduce and still to perpetuate your genetics. For example, if you don't have children of your own, but support people that have similar genetic traits to your own.

If they aren’t your children they aren’t your genes.

Genes are just data. You can compare data.

Re: A deep dive into self-improving AI and the Darwin-Gödel Machine

#72
post #55

Earlier quoted context omitted.

You and I are in agreement for the most part. Especially steps 1-2 are not things easy to hand off in the first place. Step 6 it's important: reflect on your work and challenge it. I'm distinguishing this from 4 because you need to take the part of a strong adversary. I'm not quite sure this is hire evolutionary programs work, having written plenty myself. I'd lean on no. I'm certain this is not the fill of my work a…

That's a very useful insight thank you. Something that interests me is finding the right balance between assumptions and guarantees. If we don't look to closely, then weak assumptions and strong guarantees bring the most utility. But that always comes at a cost. As merely a programmer I wonder this: You mentioned challenging your assumptions. How often does a researcher change their guarantees? In the current hype cy…

(I apologize, this is a bit long and a bit disorganized)

  > As merely a programmer
I hope you don't see my comment as placing myself as "better than thou". We have different skillsets, that's all.

  > You mentioned challenging your assumptions. How often does a researcher change their guarantees?
I'm not quite sure how to answer this tbh. Because I don't know what you mean. I'll reference Andrew Gelman on this one[0], mostly because the cross-reference is good and his blog has a lot of other insights

  | a guarantee comes from an assumption. If you want to say that your method has a guarantee but my method doesn’t, what you’re really saying is that you’re making an assumption and I’m not.
Really what we want in science is to generate counterfactural models. I started in physics before moving to CS (ML PhD) and I can sure tell you, at least this part was clearer in physics. F=ma[1] is a counterfactual model. I can change either m or a and make predictions. I can "go back in time" and ask how things would have been different. This is how we create good models of things. It's no easy task to get there though and it is far messier when you derive these simple equations than what they end up as. Think of it not too different than having a function vs "discovering" the function in a stack trace. You gotta poke and prod inside and out because you sure as hell know it isn't nicely labeled for you and you can't just grep the source code.

But here's a difficult lesson every physicist has to learn. Experiments aren't enough. I think nearly every student will end up having an experience where they are able to fit data to some model only to later find out that that model is wrong. This is why in physics we tend to let theory drive. Our theory has gotten good enough we can do some general exploring of "the code" without having to run it. We can ask what would happen if we did x and then explore those consequences. Once we got something good, then we go test and we know exactly what to look for.

But even knowing what to look for, measurements are fucking hard (I was an experimentalist, that was my domain). Experiments are hard because you have to differentiate it from alternative explanations of the data. Theory helps a lot with this, but also isn't enough by itself.

  > How long are you allowed to chase and optimize for an outcome before you reconfigure where you're heading?
There are no hard or fast rules, it is extremely circumstantial. First off, we're always dealing with unknowns, right? So you have to be able to differentiate your known knowns, known unknowns, unknown unknowns, and importantly, your uncertain knowns. Second, it depends on how strong your convictions are and what you believe the impact would be. Do you think you have the tools to solve this right now? If not, you should continue thinking about it but shift your efforts elsewhere. Insights might come later. But you have to admit that you are unable to do that now.

What's important is figuring out what you would need to do to determine something. The skill is not that different than what we use in programming tbh. The difference really tends to be in the about of specificity. Programming and math are the same thing though. The reason we use these languages is due to their precision. When doing this type of work we can't deal with the fuzzy reality of natural language. And truth is, the specificity depends on your niche. So it all comes down to how strong your claims are. If you make strong claims (guarantees) you need extreme levels of specificity. First place people will look is assumptions. It's easy to make mistakes here and they will unravel everything else. But sometimes that leads to new ideas and can even improve things too.

So as a ML researcher, I love LLMs but hate the hype around them. There's no need to make such strong claims about AGI with them. We build fuzzy compression machines that can (lossy) compress all human knowledge and this can be accessed through a natural language interface. That's some fucking Sci-Fi tech right there! It feels silly to say they are more. We have no evidence. The only thing that results in is public distrusting us more when they see these things be dumb. Tech loves its hype cycles, like Elon promising that Teslas will be fully autonomous next year. A prediction he's made since 2016. Short term gains, but it is a bubble. If you can't fill the void in time, it pops and you harm not just yourself but others. That's a big problem.

Me? I just want to make progress towards making AGI. But I speak up because we don't even know what that looks like. We made massive leaps recently and we should congratulate ourselves for that. But with every leap forward we must also reflect. Success comes with additional burdens. It requires us to be more nuanced and specific. It means, what we likely need to do things differently. Gradient descent will tell you the same thing. You can make large gains in the beginning by taking non-optimal (naive) large steps towards what you think the optima is. But as you get nearer and nearer to the optima you can no longer act so naively and still make progress. Same is true here. Same is true if you look at the history of any scientific subject. You'll see this in physics too![2]

So to answer your question, how long? Well it depends on the progression of success and reflection after any milestones. We revisit "can I do this with the tools I have now", "what tools do I need", "can I make those tools", and "how would I find out". Those questions never stop being asked.

[0] https://statmodeling.stat.columbia.edu/2019/07/22/guarantee-...

[1] Technically this isn't the full form. But that is fine. In physics we deal with approximations too. They're often the most important parts. This is good enough for our purposes.

[2] https://hermiene.net/essays-trans/relativity_of_wrong.html

Re: A deep dive into self-improving AI and the Darwin-Gödel Machine

#73
post #47

We realize test driven development doesn't work, right? Any scientist worth... any salt will tell you that fitting data is the easy part. In fact, there's a very famous conversation between Enrico Fermi and Freeman Dyson talking about just this. It's something we've known about in physics for centuries Edit: Guys, I'm not saying "no tests", the "Driven Development" part is important. I'm talking about this[0]. | Test…

>But it is insane to write tests first and then just write code to complete tests. It completely ignores the larger picture. It ignores how things will change and it has no context of what is good code and bad code If you TDD outside in and tend to test from the edges of your stack, being conservative about moving your test coupling lower down the stack then it provides you with the freedom to change things underneat…

I'm not sure what you're describing, but it kinda sounds like you're saying your using tests, not doing TDD. Having tests is very different than doing TDD

Re: A deep dive into self-improving AI and the Darwin-Gödel Machine

#74

Earlier quoted context omitted.

That is not true. There are plenty of ways not to reproduce and still to perpetuate your genetics. For example, if you don't have children of your own, but support people that have similar genetic traits to your own.

What is this? Genetics for ants?

Zoolander?

Re: A deep dive into self-improving AI and the Darwin-Gödel Machine

#75
post #47

Earlier quoted context omitted.

>But it is insane to write tests first and then just write code to complete tests. It completely ignores the larger picture. It ignores how things will change and it has no context of what is good code and bad code If you TDD outside in and tend to test from the edges of your stack, being conservative about moving your test coupling lower down the stack then it provides you with the freedom to change things underneat…

I'm not sure what you're describing, but it kinda sounds like you're saying your using tests, not doing TDD. Having tests is very different than doing TDD

No, I do TDD almost exclusively.

The reason it fails for some people is the way they test though.

Having tests is pretty obviously different from TDD.

Re: A deep dive into self-improving AI and the Darwin-Gödel Machine

#76
post #55

Earlier quoted context omitted.

That's a very useful insight thank you. Something that interests me is finding the right balance between assumptions and guarantees. If we don't look to closely, then weak assumptions and strong guarantees bring the most utility. But that always comes at a cost. As merely a programmer I wonder this: You mentioned challenging your assumptions. How often does a researcher change their guarantees? In the current hype cy…

(I apologize, this is a bit long and a bit disorganized) > As merely a programmer I hope you don't see my comment as placing myself as "better than thou". We have different skillsets, that's all. > You mentioned challenging your assumptions. How often does a researcher change their guarantees? I'm not quite sure how to answer this tbh. Because I don't know what you mean. I'll reference Andrew Gelman on this one[0], m…

Great answer thank you!

Re: A deep dive into self-improving AI and the Darwin-Gödel Machine

#77
post #66

Earlier quoted context omitted.

If they aren’t your children they aren’t your genes.

Genes are just data. You can compare data.

Yes you can but fitness is defined by reproduction, not by similarity.

Re: A deep dive into self-improving AI and the Darwin-Gödel Machine

#78
post #69
post #45

Earlier quoted context omitted.

This is exactly what I'm doing. Some papers I'm studying: TextGrad: Automatic "Differentiation" via Text: https://arxiv.org/abs/2406.07496 LLM-AutoDiff: Auto-Differentiate Any LLM Workflow : https://arxiv.org/abs/2501.16673 Trace is the Next AutoDiff: Generative Optimization with Rich Feedback, Execution Traces, and LLMs: https://arxiv.org/abs/2406.16218 GReaTer: Gradients over Reasoning Makes Smaller Language Models…

I was trying to pick n-shot examples from a data set. The idea was that given 1000s of examples for a prompt finding a combination of n that was optimal could be advantageous, but for n's that are large then bruteforcing the combincation would be impossible... so can we find an optimal set with an efficient search? But the problem was that the search space wasn't informative. The best 1 example didn't feature in the…

I guess this really depends on the problem but from the PromptWizard (PW) paper:

    | Approach | API calls | IO Tokens | Total tokens  | Cost ($) |
    |----------|-----------|-----------|---------------|----------|
    | Instinct | 1730      | 67        | 115910        | 0.23     |
    | InsZero  | 18600     | 80        | 1488000       | 2.9      |
    | PB       | 5000      | 80        | 400000        | 0.8      |
    | EvoP     | 69        | 362       | 24978         | 0.05     |
    | PW       | 69        | 362       | 24978         | 0.05     |
They ascribe this gain in efficiency to a balance between exploration and exploitation that involves a first phase of instructions mutation followed by a phase where both instruction and few-shot examples are optimized at the same time. They also rely on "textual gradients", namely criticism enhanced by CoT, as well as synthesizing examples and counter-examples.

What I gathered from reading those papers + some more is that textual feedback, i.e. using a LLM to reason about how to carry out a step of the optimization process is what allows to give structure to the search space.

Re: A deep dive into self-improving AI and the Darwin-Gödel Machine

#79
post #78
post #69

Earlier quoted context omitted.

I was trying to pick n-shot examples from a data set. The idea was that given 1000s of examples for a prompt finding a combination of n that was optimal could be advantageous, but for n's that are large then bruteforcing the combincation would be impossible... so can we find an optimal set with an efficient search? But the problem was that the search space wasn't informative. The best 1 example didn't feature in the…

I guess this really depends on the problem but from the PromptWizard (PW) paper: | Approach | API calls | IO Tokens | Total tokens | Cost ($) | |----------|-----------|-----------|---------------|----------| | Instinct | 1730 | 67 | 115910 | 0.23 | | InsZero | 18600 | 80 | 1488000 | 2.9 | | PB | 5000 | 80 | 400000 | 0.8 | | EvoP | 69 | 362 | 24978 | 0.05 | | PW | 69 | 362 | 24978 | 0.05 | They ascribe this gain in ef…

Super interesting.

I will have to read it - I will be looking to figure out if the tasks that they are working on significant/realistic? And are the improvements that they are finding robust?

Re: A deep dive into self-improving AI and the Darwin-Gödel Machine

#80

Earlier quoted context omitted.

Symbolic processing was obviously a bad approach to building a thinking machine. Well, obvious now, 40 years ago probably not as much, but there were strong hints back then, too. "AI agent" roughly just means invoking the system repeatedly in a while loop, and giving the system a degree of control when to stop the loop. That's not a particularly novel or breakthrough idea, so similarities are not surprising.

I'm not convinced that symbolic processing doesn't still have a place in AI though. My feeling about language models is that, while they can be eerily good at solving problems, they're still not as capable of maintaining logical consistency as a symbolic program would be. Sure, we obviously weren't going to get to this point with only symbolic processing, but it doesn't have to be either/or. I think combining neural…

I agree that symbolic processing still has a role - but I think it's the same role it has for us: formal reasoning. I.e. a specialized tool.

"Logical consistency" is exactly the kind of red herring that got us stuck with symbolic approach longer than it should. Humans aren't logically consistent either - except in some special situations, such as solving logic problems in school.

Nothing in how we think, how we perceive the world, categorize it and communicate about it has any sharp boundaries. Everything gets fuzzy or ill-defined if you focus on it. It's not by accident. It should've been apparent even then, that we think stochastically, not via formal logic. Or maybe the Bayesian interpretation of probabilities was too new back then?

Related blind alley we got stuck in for way longer than we should've (many people are still stuck there) is in trying to model natural language using formal grammars, or worse, argue that our minds must be processing them this way. It's not how language works. LLMs are arguably a conclusive empirical proof of that.

Post reply on HN