you usually code both model and inference algorithm and make use of problem-specific approximations to Bayesian inference. Probabilistic programs separate model from inference by using universal inference algorithms.
Naively, separation of model from inference algorithm seems like a terrible idea. People use problem-specific approximation algorithms because if they don’t exploit specific features of the model, inference will be completely intractable. Often this consideration is so important that people will use obviously sub-optimal models, if those models support fast inference.
Naively, separation of model from inference algorithm seems like a terrible idea. People use problem-specific approximation algorithms because if they don’t exploit specific features of the model, inference will be completely intractable. Often this consideration is so important that people will use obviously sub-optimal models, if those models support fast inference.
Yes, deriving mechanisms that take complex models and turn them into something tractable is mostly an open problem.