Large Language Models From Scratch