There are two separate lenses through which I view the idea of competitive markets as backpropagation.
First, it’s an example of the real meat of economics. Many people—including economists—think of economics as studying human markets and exchange. But the theory of economics is, to a large extent, general theory of distributed optimization. When we understand on a gut level that “price = derivative”, and markets are just implementing backprop, it makes a lot more sense that things like markets would show up in other fields—e.g. AI or biology.
Second, competitive markets as backpropagation is a great example of the power of viewing the world in terms of DAGs (or circuits). I first got into the habit of thinking about computation in terms of DAGs/circuits when playing with generalizations of backpropagation, and the equivalence of markets and backprop was one of the first interesting results I stumbled on. Since then, I’ve relied more and more on DAGs (with symmetry) as my go-to model of general computation.
Dangling Threads
The most interesting dangling thread on this post is, of course, the extension to out-of-equilibrium markets. I had originally promised a post on that topic, but I no longer intend to ever write that post: I have generally decided to avoid publishing anything at all related to novel optimization algorithms. I doubt that simulating markets would be a game-changer for optimization in AI training, but it’s still a good idea to declare optimization off-limits in general, so that absence of an obvious publication never becomes a hint that there’s something interesting to be found.
A more subtle dangling thread is the generalization of the idea to more complex supply chains, in which one intermediate can be used in multiple ways. Although I’ve left the original footnote in the article, I no longer think I know how to handle non-tree-shaped cases. I am quite confident that there is a way to integrate this into the model, since it must hold for “price=derivative” to hold, and I’m sure the economists would have noticed by now if “price=derivative” failed in nontrivial supply chain models. That said, it’s nontrivial to integrate into the model: if a program reads the same value in two places, then both places read the same value, whereas if two processes consume the same supply-chain intermediate, then they will typically consume different amounts which add up to the amount produced. Translating a program into a supply chain, or vice versa, thus presumably requires some nontrivial transformations in general.
There are two separate lenses through which I view the idea of competitive markets as backpropagation.
First, it’s an example of the real meat of economics. Many people—including economists—think of economics as studying human markets and exchange. But the theory of economics is, to a large extent, general theory of distributed optimization. When we understand on a gut level that “price = derivative”, and markets are just implementing backprop, it makes a lot more sense that things like markets would show up in other fields—e.g. AI or biology.
Second, competitive markets as backpropagation is a great example of the power of viewing the world in terms of DAGs (or circuits). I first got into the habit of thinking about computation in terms of DAGs/circuits when playing with generalizations of backpropagation, and the equivalence of markets and backprop was one of the first interesting results I stumbled on. Since then, I’ve relied more and more on DAGs (with symmetry) as my go-to model of general computation.
Dangling Threads
The most interesting dangling thread on this post is, of course, the extension to out-of-equilibrium markets. I had originally promised a post on that topic, but I no longer intend to ever write that post: I have generally decided to avoid publishing anything at all related to novel optimization algorithms. I doubt that simulating markets would be a game-changer for optimization in AI training, but it’s still a good idea to declare optimization off-limits in general, so that absence of an obvious publication never becomes a hint that there’s something interesting to be found.
A more subtle dangling thread is the generalization of the idea to more complex supply chains, in which one intermediate can be used in multiple ways. Although I’ve left the original footnote in the article, I no longer think I know how to handle non-tree-shaped cases. I am quite confident that there is a way to integrate this into the model, since it must hold for “price=derivative” to hold, and I’m sure the economists would have noticed by now if “price=derivative” failed in nontrivial supply chain models. That said, it’s nontrivial to integrate into the model: if a program reads the same value in two places, then both places read the same value, whereas if two processes consume the same supply-chain intermediate, then they will typically consume different amounts which add up to the amount produced. Translating a program into a supply chain, or vice versa, thus presumably requires some nontrivial transformations in general.