https://medium.com/@monocosmo77/how-autoregressive-language-models-work-part4-machine-learning-37b6a34f7e0f