Chapter 4: Implementing a GPT model from Scratch To Generate Text