How white47/my-llm works
This repository is a hands-on LLM learning record, not one integrated application. Its documented route moves from GPT and tokenization experiments through pretraining, fine-tuning/alignment, and quantized chat deployment. The graph preserves those stages and the major alignment branches; where a capability is documented but its implementation was not sampled, paths use the existing enclosing directory and wiring is limited to documented behavior.
Main entry points: train_gpt2.py Base Checkpoint · Fine-tuning-and-Alignment Fine-tuned Weights · train_sft.py SFT Training · train_lora.py LoRA Fine-tuning
Components 21
Foundations
- PyTorch Basics
notes/PyTorch - GPT from Scratch
notes/Build-nanoGPT/train_gpt2.py - BPE Tokenizer
notes/GPT-Tokenizer/tiktoken_gpt.py - Tokenizer Examples
notes/GPT-Tokenizer
Pretraining
- FineWeb Shards
notes/Build-nanoGPT/download_10BT.py - Pretraining Loader
notes/Build-nanoGPT/train_gpt2.py - GPT Pretraining
notes/Build-nanoGPT/train_gpt2_r.py - Base Checkpoint
notes/Build-nanoGPT/train_gpt2.py
Fine-tuning & Alignment
- SFT Training
notes/Fine-tuning-and-Alignment/train_sft.py - LoRA Fine-tuning
notes/Fine-tuning-and-Alignment/train_lora.py - Reward Model
notes/Fine-tuning-and-Alignment/train_reward_model.py - DPO Alignment
notes/Fine-tuning-and-Alignment/train_dpo.py - PPO Alignment
notes/Fine-tuning-and-Alignment/train_ppo.py - Fine-tuned Weights
notes/Fine-tuning-and-Alignment - LoRA Inference
notes/Fine-tuning-and-Alignment/inference.py
Deployment & Chat
- GGUF Conversion
notes/Quantification-and-Deployment/convert_to_gguf.py - llama.cpp
- Model Loader
notes/Quantification-and-Deployment/chat/model_loader.py - Streamlit Chat
notes/Quantification-and-Deployment/chat/chat_app.py - Chat Generation
notes/Quantification-and-Deployment/chat/generate.py
Other components
- Learner
Connections 28
- Learner → PyTorch Basics: studies
- Learner → GPT from Scratch: runs experiments
- Learner → BPE Tokenizer: trains tokenizer
- Learner → Tokenizer Examples: explores
- BPE Tokenizer → Tokenizer Examples: demonstrates BPE
- Learner → FineWeb Shards: prepares data
- FineWeb Shards → Pretraining Loader: writes token shards
- Pretraining Loader → GPT Pretraining: supplies batches
- GPT Pretraining → Base Checkpoint: saves weights
- Learner → SFT Training: fine-tunes
- Learner → LoRA Fine-tuning: fine-tunes
- Base Checkpoint → SFT Training: initializes
- Base Checkpoint → LoRA Fine-tuning: initializes
- Base Checkpoint → Reward Model: initializes
- Base Checkpoint → DPO Alignment: initializes
- Base Checkpoint → PPO Alignment: initializes
- Reward Model → PPO Alignment: scores responses
- SFT Training → Fine-tuned Weights: produces weights
- LoRA Fine-tuning → Fine-tuned Weights: produces adapter
- DPO Alignment → Fine-tuned Weights: produces weights
- PPO Alignment → Fine-tuned Weights: produces weights
- Base Checkpoint → LoRA Inference: loads base
- Fine-tuned Weights → LoRA Inference: loads adapter or checkpoint
- Fine-tuned Weights → GGUF Conversion: converts model
- GGUF Conversion → llama.cpp: exports for inference
- Streamlit Chat → Model Loader: loads model
- Streamlit Chat → Chat Generation: requests generation
- Model Loader → Chat Generation: provides model