Модуль 20. LLM целиком: от токенов до обучения и генерации
Сначала попробуйте решить упражнение. Ответы, подробные решения и проектные ориентиры раскрываются отдельно и сохраняют своё состояние при переключении RU/EN.
У1–У3 относятся к первому проходу, У4–У5 — ко второму. Для У6 сначала прочитайте §19: сравнение SSM и диффузии вынесено туда, чтобы завершить модуль границами общей конструкции.
Скачать файлы курса (.zip) 2588,1 КБАрхив содержит файлы на обоих языках и вспомогательные материалы с сохранением структуры каталогов.
У1. Соберите последнюю строку внимания
Используя , три ключа и три значения из §5, получите веса и строку . Объясните, почему при вычислении строки 1 последний ключ нельзя использовать, хотя весь массив уже находится в памяти.
Показать ответ и решение
Решение. Три скалярных произведения делятся на , затем экспоненты нормируются общей суммой. Получается . Взвешенная сумма значений примерно равна ; умножение на и добавление исходной строки дают . У строки 1 оценка ключа 2 заменяется на : доступ определяется причинной маской, а не наличием значения в массиве.
У2. Посчитайте параметры и кэш
Повторите счёт для с независимым выходом. Сколько элементов K/V нужно после трёх токенов? Что изменится при ?
Показать ответ и решение
Решение. Две таблицы дают 32 параметра, Q и O — 32, K и V — 16, FFN — 36, нормы — 12. Всего 128. Кэш содержит элементов. При двух головах K/V их проекции требуют ещё 16 параметров: итого 144; кэш увеличивается до 24 элементов. Общая ширина выходов голов запросов не меняется.
У3. Разделите модель и декодер
Для последней строки логитов из §9 вычислите top-2 с температурой 0.5. Можно ли утверждать, что модель назначила EOS нулевую вероятность? Какую потерю даст обучение только по цели EOS до изменения весов?
Показать ответ и решение
Решение. Разность двух оставшихся логитов равна , после деления на температуру — примерно . Поэтому вероятность A среди двух кандидатов равна , B — . Ноль для EOS задаёт декодер; у модели вероятность 0.183502. Потеря только по EOS равна , поскольку знаменатель маски равен 1.
У4. Проверьте обратный путь к таблице
Почему при связанных эмбеддингах строка EOS может получить градиент, хотя EOS отсутствует во входе ? В каком месте суммируются два пути к одной таблице?
Показать ответ и решение
Решение. Выход использует все строки , в том числе EOS. Поэтому градиент логита EOS достигает этой строки через выходную проекцию. Входной lookup добавляет градиенты только строкам встретившихся идентификаторов. Оба вклада складываются в одной обучаемой переменной до шага оптимизатора. Численная проверка связанного варианта в ноутбуке одновременно учитывает обе роли.
У5. Объясните первый шаг и маршрутизацию
Почему при нулевых начальных моментах результат первого шага AdamW не зависит от выбранных ? Почему это рассуждение неприменимо к последующим шагам? Для примера MoE из §15 проверьте выбранных экспертов и веса.
Показать ответ и решение
Решение. После коррекции смещения множители и сокращаются, оставляя , . На следующих шагах накопители содержат прошлые градиенты, поэтому такого сокращения уже нет. В MoE поправки выбирают экспертов 2 и 0, но смесь нормирует и , получая и . Нормировать оценки после добавления поправок означало бы сменить правило маршрутизации.
У6. Сравните две замены из §19
Для состояния , и входов получите все состояния. Затем проверьте сумму вероятностей итогового распределения двухшаговой обратной цепи из §19. Что в этих двух опытах соответствует позиции токена, а что — шагу уточнения всей последовательности?
Показать ответ и решение
Решение. Состояния равны ; индекс последовательно проходит входные позиции. Во втором опыте итоговые вероятности в сумме дают 1. Индекс там меняет всю двухпозиционную последовательность одновременно. Повторение оператора по шагам ещё не означает одинаковую организацию генерации.