So just because all the parts are collaborating to get the desired outcome, and specific aspects of that outcome cannot be contributed to specific parts of the llm you think we don’t understand LLMs? With mixture of expert systems we’re introducing dedicated subsystems into the llm responsible for specific aspect of the llm, so we’re partially moving in that direction.
But overall in my opinion if devs are able to rebuild it from scratch with a predefined outcome, and even know how to improve the system to improve certain aspects of it, we do understand how it works.
Being able to make it and knowing how it works are just not the same thing. I can make bread of consistent quality, and know how to improve certain aspects of it. To know how it works, I’d need to get a doctorate in biochemistry and then still have a fairly patchy understanding. I know plenty of people who can drive a car very successfully but would never claim they know how it works.
But with LLMs is there really more to understand? They’re just large functions that take numerical input and transform it into numerical output based on trained weights. There is nothing behind the scenes doing things we don’t understand. The magic is in the weights, and we know how to create these based on training data.
Regarding the car, if you know how to build a car, you understand how a car works. A driver is more like someone using and llm, not a developer able to create an llm.
> But with LLMs is there really more to understand?
Yes! loads! (: I want to be able to say statements like "this model will never ask the user to kill themselves" and be confident, but I can't do that today, and we don't know how. Note that we do know how to prove similar statements for regular software.
> With mixture of expert systems we’re introducing dedicated subsystems into the llm responsible for specific aspect of the llm
Common misconception, MoEs do have different "experts", but the model learns when to send input to different experts, and the model does not cleanly send coding tasks to the coding agent, physics tasks to the physics agent, etc. It's quite messy, and not nearly as intepretable as we'd want it to be.
But overall in my opinion if devs are able to rebuild it from scratch with a predefined outcome, and even know how to improve the system to improve certain aspects of it, we do understand how it works.