Explain the architectural differences between encoder-only, decoder-only, and encoder-decoder transformer models, and when you would use each.