liveBook · Manning

What you will learn in Build a Large Language Model (From Scratch)

by Sebastian Raschka

Chapter by chapter

Chapter 1: Understanding large language models

The introduction contrasts LLMs with earlier NLP models, clarifies what their apparent understanding means, and attributes their broader capabilities to transformer architectures and large-scale text training.

1.1 What is an LLM? · 1.2 Applications of LLMs · 1.3 Stages of building and using LLMs · 1.4 Introducing the transformer architecture · 1.5 Utilizing large datasets · 1.6 A closer look at the GPT architecture · 1.7 Building a large language model · 1.8 Summary

What you learn in chapter 1 →

Chapter 2: Working with text data

This introduction explains why text data must be prepared before pretraining an LLM and previews the chapter’s data pipeline.

2.1 Understanding word embeddings · 2.2 Tokenizing text · 2.3 Converting tokens into token IDs · 2.4 Adding special context tokens · 2.5 Byte pair encoding · 2.6 Data sampling with a sliding window · 2.7 Creating token embeddings · 2.8 Encoding word positions · 2.9 Summary

What you learn in chapter 2 →

Chapter 3: Coding attention mechanisms

The introduction connects prepared text embeddings to attention as an integral part of the LLM architecture.

3.1 The problem with modeling long sequences · 3.2 Capturing data dependencies with attention mechanisms · 3.3 Attending to different parts of the input with self-attention · 3.3.1 A simple self-attention mechanism without trainable weights · 3.3.2 Computing attention weights for all input tokens · 3.4 Implementing self-attention with trainable weights · 3.4.1 Computing the attention weights step by step · 3.4.2 Implementing a compact self-attention Python class · 3.5 Hiding future words with causal attention · 3.5.1 Applying a causal attention mask · 3.5.2 Masking additional attention weights with dropout · 3.5.3 Implementing a compact causal attention class · 3.6 Extending single-head attention to multi-head attention · 3.6.1 Stacking multiple single-head attention layers · 3.6.2 Implementing multi-head attention with weight splits · 3.7 Summary

What you learn in chapter 3 →

Chapter 4: Implementing a GPT model from scratch to generate text

Introduces the plan to assemble previously coded multi-head attention with other building blocks into a GPT-like model.

4.1 Coding an LLM architecture · 4.2 Normalizing activations with layer normalization · 4.3 Implementing a feed forward network with GELU activations · 4.4 Adding shortcut connections · 4.5 Connecting attention and linear layers in a transformer block · 4.6 Coding the GPT model · 4.7 Generating text · 4.8 Summary

What you learn in chapter 4 →

Chapter 5: Pretraining on unlabeled data

The chapter introduction connects evaluating generated text to LLM training and explains what trainable weight parameters are and how PyTorch exposes them.

5.1 Evaluating generative text models · 5.1.1 Using GPT to generate text · 5.1.2 Calculating the text generation loss · 5.1.3 Calculating the training and validation set losses · 5.2 Training an LLM · 5.3 Decoding strategies to control randomness · 5.3.1 Temperature scaling · 5.3.2 Top-k sampling · 5.3.3 Modifying the text generation function · 5.4 Loading and saving model weights in PyTorch · 5.5 Loading pretrained weights from OpenAI · 5.6 Summary

What you learn in chapter 5 →

Chapter 6: Fine-tuning for classification

The chapter introduces classification fine-tuning as adapting a pretrained LLM to a specific task, using spam detection as its example.

6.1 Different categories of fine-tuning · 6.2 Preparing the dataset · 6.3 Creating data loaders · 6.4 Initializing a model with pretrained weights · 6.5 Adding a classification head · 6.6 Calculating the classification loss and accuracy · 6.7 Fine-tuning the model on supervised data · 6.8 Using the LLM as a spam classifier · 6.9 Summary

What you learn in chapter 6 →

Chapter 7: Fine-tuning to follow instructions

The chapter introduction contrasts instruction fine-tuning with the earlier classification task and explains why following instructions matters for conversational LLMs.

7.1 Introduction to instruction fine-tuning · 7.2 Preparing a dataset for supervised instruction fine-tuning · 7.3 Organizing data into training batches · 7.4 Creating data loaders for an instruction dataset · 7.5 Loading a pretrained LLM · 7.6 Fine-tuning the LLM on instruction data · 7.7 Extracting and saving responses · 7.8 Evaluating the fine-tuned LLM · 7.9 Conclusions · 7.9.1 What’s next? · 7.9.2 Staying up to date in a fast-moving field · 7.9.3 Final words · 7.10 Summary

What you learn in chapter 7 →

Concepts explained in this book

These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.