See this old forum thread for a discussion of a question very similar to yours.
If you want a MAP estimate for alpha, you need to pyro.sample it from a prior distribution in your model and delta distribution in your guide just like your second guide does with theta, rather than treating it as a constant. If you instead want a maximum likelihood estimate of alpha, you need to wrap it with a pyro.param call in the model and omit it from your guide. Pyro’s inference algorithms can’t see or update parameters that don’t come from pyro.param or pyro.sample statements.