Writing an LLM from scratch, part 15 – from context vectors to logits