What is the attention mechanism in Large Language Models, and how does it help models understand relationships between words or tokens? How does self-attention allow a model to focus on important parts of an input when generating or understanding text?