Build a Large Language Model (From Scratch) - Raschka (IEEE, 2003)