VKВлад КуликовОткрытые лекции
Современные LLM20 / 20

Модуль 20. LLM целиком: от токенов до обучения и генерации

Сначала попробуйте решить упражнение. Ответы, подробные решения и проектные ориентиры раскрываются отдельно и сохраняют своё состояние при переключении RU/EN.

У1–У3 относятся к первому проходу, У4–У5 — ко второму. Для У6 сначала прочитайте §19: сравнение SSM и диффузии вынесено туда, чтобы завершить модуль границами общей конструкции.

Скачать файлы курса (.zip) 2588,1 КБ

Архив содержит файлы на обоих языках и вспомогательные материалы с сохранением структуры каталогов.

У1. Соберите последнюю строку внимания

Используя q~2\widetilde q_2, три ключа и три значения из §5, получите веса A2,:A_{2,:} и строку Z2Z_2. Объясните, почему при вычислении строки 1 последний ключ нельзя использовать, хотя весь массив уже находится в памяти.

Показать ответ и решение

Решение. Три скалярных произведения делятся на 2\sqrt2, затем экспоненты нормируются общей суммой. Получается (0.201972,0.397396,0.400632)(0.201972,0.397396,0.400632). Взвешенная сумма значений примерно равна (0.343132,0.962634)(0.343132,0.962634); умножение на 0.25I0.25I и добавление исходной строки (1,1)(1,1) дают (1.085783,1.240658)(1.085783,1.240658). У строки 1 оценка ключа 2 заменяется на −∞-\infty: доступ определяется причинной маской, а не наличием значения в массиве.

У2. Посчитайте параметры и кэш

Повторите счёт для V=4,d=4,m=3,L=1,hq=2,hkv=1V=4,d=4,m=3,L=1,h_q=2,h_{kv}=1 с независимым выходом. Сколько элементов K/V нужно после трёх токенов? Что изменится при hkv=2h_{kv}=2?

Показать ответ и решение

Решение. Две таблицы дают 32 параметра, Q и O — 32, K и V — 16, FFN — 36, нормы — 12. Всего 128. Кэш содержит 2⋅1⋅3⋅1⋅2=122\cdot1\cdot3\cdot1\cdot2=12 элементов. При двух головах K/V их проекции требуют ещё 16 параметров: итого 144; кэш увеличивается до 24 элементов. Общая ширина выходов голов запросов не меняется.

У3. Разделите модель и декодер

Для последней строки логитов из §9 вычислите top-2 с температурой 0.5. Можно ли утверждать, что модель назначила EOS нулевую вероятность? Какую потерю даст обучение только по цели EOS до изменения весов?

Показать ответ и решение

Решение. Разность двух оставшихся логитов равна 0.1269100.126910, после деления на температуру — примерно 0.2538190.253819. Поэтому вероятность A среди двух кандидатов равна σ(0.253819)=0.563116\sigma(0.253819)=0.563116, B — 0.4368840.436884. Ноль для EOS задаёт декодер; у модели вероятность 0.183502. Потеря только по EOS равна −log⁡0.183502≈1.695530-\log0.183502\approx1.695530, поскольку знаменатель маски равен 1.

У4. Проверьте обратный путь к таблице

Почему при связанных эмбеддингах строка EOS может получить градиент, хотя EOS отсутствует во входе (0,1,2)(0,1,2)? В каком месте суммируются два пути к одной таблице?

Показать ответ и решение

Решение. Выход RE⊤RE^\top использует все строки EE, в том числе EOS. Поэтому градиент логита EOS достигает этой строки через выходную проекцию. Входной lookup добавляет градиенты только строкам встретившихся идентификаторов. Оба вклада складываются в одной обучаемой переменной EE до шага оптимизатора. Численная проверка связанного варианта в ноутбуке одновременно учитывает обе роли.

У5. Объясните первый шаг и маршрутизацию

Почему при нулевых начальных моментах результат первого шага AdamW не зависит от выбранных β1,β2∈[0,1)\beta_1,\beta_2\in[0,1)? Почему это рассуждение неприменимо к последующим шагам? Для примера MoE из §15 проверьте выбранных экспертов и веса.

Показать ответ и решение

Решение. После коррекции смещения множители 1−β11-\beta_1 и 1−β21-\beta_2 сокращаются, оставляя m^1=g~1\widehat m_1=\widetilde g_1, v^1=g~12\widehat v_1=\widetilde g_1^2. На следующих шагах накопители содержат прошлые градиенты, поэтому такого сокращения уже нет. В MoE поправки выбирают экспертов 2 и 0, но смесь нормирует 0.2689410.268941 и 0.50.5, получая 0.3497550.349755 и 0.6502450.650245. Нормировать оценки после добавления поправок означало бы сменить правило маршрутизации.

У6. Сравните две замены из §19

Для состояния sp=0.5sp−1+ups_p=0.5s_{p-1}+u_p, s−1=0s_{-1}=0 и входов (1,0,−1)(1,0,-1) получите все состояния. Затем проверьте сумму вероятностей итогового распределения двухшаговой обратной цепи из §19. Что в этих двух опытах соответствует позиции токена, а что — шагу уточнения всей последовательности?

Показать ответ и решение

Решение. Состояния равны (1,0.5,−0.75)(1,0.5,-0.75); индекс pp последовательно проходит входные позиции. Во втором опыте итоговые вероятности (0.2128,0.3472,0.1672,0.2728)(0.2128,0.3472,0.1672,0.2728) в сумме дают 1. Индекс ss там меняет всю двухпозиционную последовательность одновременно. Повторение оператора по шагам ещё не означает одинаковую организацию генерации.