TBH, I am waiting for Mathocalypse-level progress in biology and medicine, but I guess that's not happening as fast, because it's the real world, human lives, etc., mostly etc.
Math is completely abstract and the base rules and mechanics of it are some of the most clear cut and formalised because that’s the entire point of the subject.
we do have high precision microscopes that can see molecules, so it is possible to build closed system with feedback loop that feeds back into AI at very small scales
Have you looked at cells and tissues under a microscope? There’s patterns upon patterns inside patterns under and over and through other patterns.
There’s no well-labeled dataset for all this because we don’t know everything we are looking at.
Take a neuron. You can stain it so you can tell apart an axon and a dendrite. But if you don’t it’s very possible to miss or mislabel the axon, because unlike the textbook neuron, the axon isn’t always obviously oriented in a way that promotes ID.
And that’s just one example. With more complex samples, you also have a lot of edges which AI models don’t segment very well.
You largely explained a day in life of a SWE working in a complex codebase spanning (tens of) millions lines of code. In complex products we always deal with a great degree of uncertainty and due to the ambiguity and high complexity we usually have no simple way of proving that the thing (TM) we designed is going to be working as advertised in all cases. Because the problem space is in-exhaustive, and to increase the likeliness of the solution we designed, we run the experiments, and not on a sole machine but clusters at data-center scale. Even then you get "bug reports" and that's not because engineers were lazy but because the domain is genuinely complicated, and ever changing.
So, I'd say it's a pretty similar process, and yet we have the AI models now almost completely integrated into the SWE domain remediating significant parts of its complexity.
What is it with SWEs thinking every problem can be addressed in terms of SWE, while at the same time being unaware of how little they understand the problem they are trying to address?
I made a parallel with similar complexity and ambiguity that can be found in SWE discipline too. I tried not to make any hard claims but I did present my opinion on the topic - I don't see a reason why drug discovery field wouldn't benefit from the AI when there're proportionally difficult fields (math, comp.sci, mechanics, medicine) where AI is already making a significant difference. Maybe you think comp biology is of a very different kind in which case you would turn out as ignorant here. lastly, my comment is there to spark the discussion and have some food for thought because not so long ago this type of reaction has been seen in comp.sci circles and math just few days ago.
I've done SWE work at the highest level (I ran a job that ran a worker on almost every idle machine at Google, and the workers formed a global torrent for data distribution). If you took all of Google's data centers in the world, along with their networks, it would be roughly the complexity of a few cells in the human body. Fortunately, with my training in biology, working on such simple data centers was pretty easy.
I'm not sure what you mean by "running a job that ran a worker". Running the system is vastly different than building and maintaining one. I work on highly available and distributed systems spanning multiple data centers, and single node scalability of database kernels, so I guess I could also say that I've done and still doing work at the highest level but in my case it is the core development. Which one is yours?
The system I built was called exacycle. It ran as a borg job in every cluster we had access to, with priority 0 or 1, with N tasks (where N=# of machines in the cluster). Borg ran the "worker" task as long as there were resources free on the machine (often, several workers ran on the same machine, and no workers ran on other machines). There was a global schedulers that picked mini-tasks off a global queue and fed them to the cluster-level scheduler (batches based on instant resource availability, and subject to some data locality optimization) which then fed them to the machine workers.
At peak, we had 1-3 million xeon cores running our tasks (protein folding, protein design, drug docking), 24/7. This was before GPUs were really a thing. Each mini-task was basically a rosetta or gromacs or autodock binary running on local inputs and writing local outputs for ~1 hour using ~1GB RAM and no network. Input and output was via colossus, or distributed through a global torrent network (literally all 1-3 million cores formed a single data transfer group, with data passed between clusters at low probability).
I built most of the code of the system (which depended on Google infra) including the scheduler and the machine worker, and also ran the system as on-call "SRE" for 3 years. During that time, we nearly almost didn't take down the Google global network, and had small latency impacts on many services. Managing to run the system for so long without antagonizing ads or search or youtube was a major challenge.
I would say the complexity of the system I built (considering everything down to the OS) was roughly the level of a few human cells in a plate, in terms of interacting components and the complexity of their interactions.
Here are some of the publications that came from running exacycle (we provided strong evidence that using more compute improves outcomes in molecular simulations)
I appreciate the details, very interesting. So from a quick glance my understanding is that exacycle is a task partitioning and dispatching system built on top of existing google infra runtime (borg). Tasks are units that are massively parallel and distributed across the compute, and have no or almost no shared data. Problem space seems to be built around self contained tasks which have well defined input and output, and main engineering challenge in the exacycle itself would be the optimizing the system for maximum resource utilization? It's complex but not as complex as open problem space engineering problems dealing with highly concurrent and distributed workloads with shared state and that are unknown at the time you're designing the algorithm.
Anyway, my point was not in that I would equate software complexity with the complexity found in biology but that I see the same trend and similar type of challenges that can be found in both fields and therefore I see both fields amenable to the AI advancements whereas many people from the thread do not, and I disagree with that.
Yes, we explicitly avoided any kind of high concurrency/parallelism. That was an intentional decision, although note we did have a global torrent network across all the workers, whose topology (node interactions) formed an extremely complex graph.
I used to work in the MPI world on supercomputer jobs and it was miserable. I also worked on other high concurrency systems at Google (helped run the Ads DB, did training and engineering of Sibyl). I continue to insist these systems are incredibly simple compared to even the most basic human cells interactin g.
Well, we have seen AlphaFold solving a decades old protein folding problem. There's no reason for me to believe, with all the AI advancements I've seen in the meanwhile, that we will not solve other problems in this field too.
I definitely see a huge role for AI in the lab. Don’t get my wrong at all. The physical labor in the biology lab would go a lot smoother if I knew the data analysis pipelines could be handled with AI.
I shudder to think where my phd would have gone if I’d had AI. And having had to work with jury rigged microscopy rigs and patch clamping rigs, I’m fascinated to see where physical AI for actuators and control systems goes. Certainly I’d be using Claude to improve the control UX to my taste so I could wander my samples with greater control, save time and reduce error.
But I don’t see how any current AI system will have the curiosity and drive. You need to create conditions for meaningful experiments to be done and a mechanistic way of doing this doesn’t work. The most elegant experiments find ways to cut to the core of the emergent behavior, around all the simultaneous changes happening in different levels of the system from which said behavior arises.
You simply cannot see it all. Not every AI can, we are measurement limited. We can track and measure some dynamics, and the art of the experiment lies in thinking through the connections, then picking the right places to look to catch the system in the act. And you better do it so the failure guides the next experiment, and the next and the next, till you finally have sliced through the complexity and found some key nodes that hold the keys.
And usually after all that, you find your key node is regulated by the key nodes of a few other grad students. The complexity here is in part because the entire system is in constant conversation across levels of organization. The causal flow is looped and is also very sensitive to the environment.
AI has a big role to play, but I doubt it’ll parse it without humans at play. It simply cannot invent a slight modification of a microscope and physically connect the new lens element in the right place, calibrate it, all in time for the biology grad student next door to bring some cells to image that are a mix of 40 days old (no contamination! Magic!) vs 30, 20, and so on, to do a very expensive experiment (in terms of labor and time and rats and materials).
So much can go wrong on so many vectors. Which is also what pushes humans to their creative best. And AI will help a lot. But till you have a robot that can drive, but also do mouse dissections and staining and manipulate a microscope with faulty parts to get a clear image, you’re going to need humans to study biology.
When you invent these super robots that somehow slide through all this physical labor without consuming a whole lot of power, we can talk.
Meanwhile, at the cutting edge, where neither procedure nor mass produced machinery exists to do the whole thing, the reality is, we already use a lot of fancy tech in biology, and can use more, and AI can help keep the focus on the actual physical experiments that take so much care and attention.
I work in software now after a decade in a neuroscience lab. This is just utter and complete nonsense. Please stop trying to see everything as analogous to software. It might actually help you solve software problems too, rather than this monomania on reducing the real world to software.
Untrue. And you also don’t have robitics that can do all kinds of cell bio/tissue bio experiments that require the affordances and skills humans hands have but no robot to date does. Seriously, have you been in a lab and seen the kinds of experiments that get done?
It's often not necessarily about visibility, but real iteration time.
For instance, let's say we are doing biology on plants, which is still much easier than doing human trials. No matter how motivated claude might get, you aren't getting a corn plant to grow in 40 seconds. Real world research pipelines involve stages where even greenhouses don't do, and sacks of grain are shipped to Hawaii, or Brazil, or wherever, to try to get practical data for a given test.
If your computer simulation is so accurate you can skip a step now done with biology, great, but it gets harder the larger your problem is. I might see if a molecule kills bacteria kind of quickly, but what does a molecule do to a real human being? Not so easy.
Eventually maybe, but the problem is hard from both directions. Answering basic questions such as "what does aspirin actually do at a biochemical level?" or "design a drug to reduce beta amalyoid plaques" are both very non trivial. Nevermind something complex like 'cure cancer'.
There’s no simulation you can do today that can tell you that your drug will likely make it through phase 3 trials. The best we can do is simulate reactions of a few key molecules, we’re nowhere near cell or organism scale simulations.
I don't think that's at all an accurate characterization of prior skepticism, and indeed it's quite obvious how the systems we've built to improve AI code generation work, and they were also an obvious thing to try (in parallel with the models themselves getting more capable).
Despite the improvements, though, we still see plenty of code that is "slop", because it's directed by someone with little idea of what to do, but also because it's harder to test for (or even measure) code quality than correctness. The "solved problem" rhetoric depends very strongly on your standards.
In other fields the problem is similar, and typically worse. Plenty of AI music sounds acceptable, not clearly flawed, and even mildly "interesting" to me; but I think this is much more a commentary on music than it is on AI. Prose continues to be abhorrent in nearly every application; while I've seen examples of people getting really impressive output, it takes a level of effort that defeats the purpose of almost everyone who wants AI to assist their writing (i.e., just generate a comprehensible report on some findings and get on with their day). Art is a whole different world; the quality of results clearly strongly depends on the quality of prompting, it's much better/worse in some genres than others, humans vary widely in their ability to notice "mistakes", etc.
Yes, this is how it would work. This has been attempted essentially since scientific thought has existed. The less “deterministic” fields exist because the approach you mention has not worked for hundreds of years.
tech people often say stuff like this, but do not realize the degree to which we do not understand all the interactions in a biological system. we are so, so, so far away from "simulation of biology" being anything but a ludicrous proposal.
Indeed, actually, one of the limitations preventing AI from making more contributions is humans. Human emotions, laws, morality, responsibility, and so on are all part of these limitations.
I've always thought openai could actually create an agent that can control various physical robotic arms and things like that, and then continuously iterate on solutions that can participate in the real physical environment. This could accelerate automatic iteration for many things that require human operations, such as complicated experiments, assembly adjustments, and testing.
Otherwise, AI is always trapped in virtual systems and still needs human intervention. But even though AI is already very powerful now, there is still a limit to how much humans can handle or assign tasks. Many times, AI has already finished processing something, but I don't even have time to assign the next deeper level of tasks.
People hope AI can improve productivity, but at the same time they're afraid of AI actually getting involved in reality, while the valuation of the entire AI industry is so high.
This kind of wanting to move forward but not moving forward makes humans especially uncomfortable.
I expect that AI use in the more axiomatic kinds of research will be well in advance of sciences that have a heavy, messy empirical foundation, like biology.
I might be wrong, but I expect robotics to come before Biology. At least robotics is much easier to verify, most humans can look at a robot and let you know if it is working correctly or not.
Improved robotics would improve biology. Fast cheap accurate flexible pipette-bot would help in many labs. Imagine if a postdoc could demonstrate and the arm could watch and repeat.
Simulating physics to the level of making meaningful predictions in chemistry is computationally infeasible. So no, we will not be atom-level simulating humans any time soon and LLMs cannot change that.
Specifically, it's because the verification loops are much longer in applied sciences. In biology you need to wait for wet lab experiments, clinical trials, regulatory steps, etc. before you can call something "solved".
Since sequential steps are slow, I think we're going to see massive increases in parallelization. I'm not sure how the regulatory frameworks will keep up honestly.
Yes, I do. My comment was a general sentiment saying that sole inexistence of something is not a proof that that something has to be very complex. Pharma is no different when it comes to people relationships and/or fear of somebody else stealing your chunk of expertise and/or fear of some other company taking a significant part of your revenue. Gatekeeping is one form of "preventing" or slowing down the process, and we see it in various domains regardless of their complexity.
We see it happening in SWE as we speak - people from and outside the tech who had no or very little experience with programming are now starting to deliver their ideas into products without devs or very few of them. We also see this within the SWE where strong domain experts are now able to deliver ideas into code easier than ever, and by themselves, and for which they would previously need a handful of programming experts. We also see it in other way too, strong programming experts are now able to pick up other domain easier than ever.
This process is something that I believe it will (and hope so) inevitably be picked up by the pharma too so the myth about the complexity will become broken.
Well, it matters more for AI because there are some limitations of human research that don't apply to AI. Not all of course, just mainly the fact that there's a finite number of great researchers. Other things are limitations that could theoretically be overcome -- for instance, it's "only" money stopping you from having more lab space as long as you have a suitable robot to run a lab.
I wonder what the unlock would be, if any, of having simulations substitute any (or all, in time) of these steps. Akin to the method used to train FSD cars, or robots.-
In my untrained opinion, I don't think that will be as much of a cheat as it might seem. Or more accurately, creating a simulation accurate enough to where it would work for this purpose would be where all the breakthroughs would have to be made. Building a perfect simulation requires an understanding of the system being simulated, that I don't think we fully have of molecular biology -- if we did, I suspect we'd already have many of the answers we are seeking when we do this kind of research.
But I'm no biologist so if someone else is, feel free to correct me.
You may recall Google published AlphaFold in the last few years -- its main goal is precisely this. Combining up that tech with these pipelines is likely to speed things up. It looks like things are already speeding up a lot based on the press release, though. This seems likely to be an area where we'll see some compounding returns over the next couple years.
AlphaFold's goals were twofold (heh): demonstrate that protein structure prediction (for a subset of proteins) was solvable, and to accelerate drug discovery. As most people in the pharma field already know, PSP was never the gating step in getting drugs approved.
All valid points on being able to simulate well enough meaning we would have nearly solved everything to begin with.-
I wonder if, at some point, AI's will perform to such degreethey are able to construct "black box" simulations as needed, that nobody understands BUT that are sufficient to empirically experiment on ...
... much in the same way LLM's function now: In an aggregate sense, they are bloack boxes.-
We already have as much parallelization as companies can afford: Hundreds, if not thousands of new corn varieties, coming from one lab. The budget is the limit. Testing is just expensive.
Process improvements come from failing faster, so you spend less money on your test. Finding the actual answer without testing would also be wonderful, but LLMs might be fast, but they aren't magic. Something like Alphafold saves time in some steps, but it's not just "hand me a candidate", but find completely novel verification mechanisms, which would be just as useful for humans. Either way, parallelization is unlikely to increase.
Amdahl's Law [1] is not your friend here. Even a thousand women can't produce a baby in one month. Trying a million things in parallel doesn't help much when the possibilities involve cosmic-level numbers and you need to iterate on past results to make progress.