Перейти к содержимому
ПереводыИсследователи и авторы

Умар Джамиль: какие видео смотреть к урокам

Короткий путеводитель по видеоразборам Умара Джамиля и коду к ним (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.0youtube.com/watch?v=bCz4OMemCcA4.4.3, 4.5.1
Трансформер с нуля, pytorch-transformerреализация «Attention Is All You Need» для перевода (набор opus_books, английский → итальянский), обучение, инференс, лучевой поиск, визуализация вниманияyoutube.com/watch?v=ISNdQcPhsts4.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слайды и сравнение MQAyoutu.be/Mn_9W1nCFLo4.5.3, 5.2.1
LLaMA 2 с нуля, pytorch-llamaRMSNorm, 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=rhZgXNdhWDY8.2.1
Stable Diffusion с нуля, pytorch-stable-diffusionVAE-кодировщик и декодер, 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-attentionFlashAttention 2 на Triton (по туториалу Fused Attention), примеры на CUDA, упражнение: автотюнинг обратного проходассылка не указана5.7.2, 5.7.3
Mamba, mamba-notesслайды и пример параллельного сканирования в таблицессылка не указана5.5.3
  1. Одно видео — один вечер на просмотр и ещё два на код. Видео длинные; смотрите частями, останавливаясь, чтобы набрать код самостоятельно, и только потом сверяйтесь с репозиторием.
  2. Сравнивайте с курсом. После видео о LLaMA откройте свой блок из урока 4.5.3 и проверьте, что ваши RMSNorm, RoPE и GQA дают те же формы тензоров, что и pytorch-llama/model.py. Обратите внимание: там RoPE реализован через комплексные числа, а в курсе — через синусы и косинусы; это одно и то же вращение.
  3. Учитывайте версии. Код писался под библиотеки своего времени: например, комментарии к RLHF сделаны для TRL 0.7.10, а в современных версиях TRL интерфейс PPO другой (в курсе — урок 6.3.2 и GRPO в 6.4).
ENRU
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параллельное сканирование