Умар Джамиль: какие видео смотреть к урокам
Короткий путеводитель по видеоразборам Умара Джамиля и коду к ним (github.com/hkproj): трансформер из «Attention Is All You Need» с нуля, LLaMA 2 (RoPE, RMSNorm, KV-кэш, GQA, SwiGLU), Mistral, BERT, LoRA, квантование, RLHF и PPO, RAG, Stable Diffusion, PaliGemma, FlashAttention на Triton, Mamba — с привязкой к урокам курса.
Что это и для кого
Заголовок раздела «Что это и для кого»Умар Джамиль записывает многочасовые разборы с кодом с нуля: сначала объясняет статью на слайдах, затем пишет реализацию на PyTorch строка за строкой. К каждому видео — репозиторий со слайдами (PDF) и кодом. Уровень — от 🟡 до 🔴. Лучше всего смотреть видео после соответствующего урока курса, повторяя код руками, а не до него: так вы уже знаете, что ищете.
Чем он полезен нашему ученику: на странице «Учимся у создателей» его видео привязаны к модулям 4.5, 4.6 и 9.1. Это мост от учебной мини-GPT к «настоящим» моделям: LLaMA 2, Mistral, PaliGemma, Stable Diffusion — с загрузкой оригинальных весов.
Что смотреть к каким урокам
Заголовок раздела «Что смотреть к каким урокам»| Тема и репозиторий | Что внутри (по репозиторию) | Видео | Смотреть после урока |
|---|---|---|---|
| «Attention Is All You Need» — объяснение, transformer-from-scratch-notes | схемы к видео (Diagrams_V2.pdf); слайды под CC BY-NC 4.0 | youtube.com/watch?v=bCz4OMemCcA | 4.4.3, 4.5.1 |
| Трансформер с нуля, pytorch-transformer | реализация «Attention Is All You Need» для перевода (набор opus_books, английский → итальянский), обучение, инференс, лучевой поиск, визуализация внимания | youtube.com/watch?v=ISNdQcPhsts | 4.5.1, 4.6.2 |
| Распределённое обучение, pytorch-transformer-distributed | тот же трансформер на нескольких GPU; шаблон DDP и ноутбук о вычислении градиентов | ссылка не указана | 5.4.3, 5.7.4 |
| BERT, bert-from-scratch | слайды «BERT explained from scratch» (MIT) | ссылка не указана | 4.5.4 |
| LLaMA — объяснение, pytorch-llama-notes | слайды и сравнение MQA | youtu.be/Mn_9W1nCFLo | 4.5.3, 5.2.1 |
| LLaMA 2 с нуля, pytorch-llama | RMSNorm, RoPE через комплексные числа, групповое внимание (n_kv_heads, repeat_kv), KV-кэш, инференс с весами Meta (MIT) | ссылка не указана | 4.5.3, 4.6.4 |
| Mistral, mistral-llm-notes и mistral-src-commented | ноутбук о скользящем окне внимания; код Mistral с комментариями автора: кэш, MoE, RoPE (Apache 2.0, как оригинал) | ссылка не указана | 5.5.2, 5.3.1 |
| LoRA, pytorch-lora | реализация LoRA на PyTorch, ноутбук о SVD | ссылка не указана | 6.2.1 |
| Квантование, quantization-notes | квантование с нуля, после обучения (PTQ) и с учётом квантования (QAT), сравнение min-max и перцентилей | ссылка не указана | 7.2.1 |
| RLHF и PPO, rlhf-ppo | слайды и код PPOTrainer из библиотеки TRL 0.7.10 с построчными комментариями автора; пример с GPT и тональностью | ссылка не указана | 6.3.2 |
| RAG, retrieval-augmented-generation-notes | слайды к видео | youtube.com/watch?v=rhZgXNdhWDY | 8.2.1 |
| Stable Diffusion с нуля, pytorch-stable-diffusion | VAE-кодировщик и декодер, CLIP, U-Net, DDPM, конвертер весов SD 1.5 (MIT) | ссылка не указана | 9.1.2 |
| PaliGemma с нуля, pytorch-paligemma | визуальный кодировщик SigLIP, языковая модель Gemma, мультимодальный проектор, KV-кэш; заметки «от CLIP к SigLIP» | ссылка не указана | 9.1.1 |
| FlashAttention на Triton, triton-flash-attention | FlashAttention 2 на Triton (по туториалу Fused Attention), примеры на CUDA, упражнение: автотюнинг обратного прохода | ссылка не указана | 5.7.2, 5.7.3 |
| Mamba, mamba-notes | слайды и пример параллельного сканирования в таблице | ссылка не указана | 5.5.3 |
Как смотреть с пользой
Заголовок раздела «Как смотреть с пользой»- Одно видео — один вечер на просмотр и ещё два на код. Видео длинные; смотрите частями, останавливаясь, чтобы набрать код самостоятельно, и только потом сверяйтесь с репозиторием.
- Сравнивайте с курсом. После видео о LLaMA откройте свой блок из урока 4.5.3 и проверьте, что ваши RMSNorm,
RoPE и GQA дают те же формы тензоров, что и
pytorch-llama/model.py. Обратите внимание: там RoPE реализован через комплексные числа, а в курсе — через синусы и косинусы; это одно и то же вращение. - Учитывайте версии. Код писался под библиотеки своего времени: например, комментарии к RLHF сделаны для TRL 0.7.10, а в современных версиях TRL интерфейс PPO другой (в курсе — урок 6.3.2 и GRPO в 6.4).
Словарик
Заголовок раздела «Словарик»| EN | RU |
|---|---|
| from scratch | с нуля |
| rotary positional embedding (RoPE) | вращательное позиционное кодирование |
grouped-query attention, n_kv_heads | групповое внимание, число голов ключей и значений |
| sliding window attention | внимание со скользящим окном |
| post-training quantization / quantization-aware training | квантование после обучения / обучение с учётом квантования |
| multimodal projector | мультимодальный проектор |
| fused kernel, autotuning | слитое ядро, автоподбор параметров |
| parallel scan | параллельное сканирование |