Перейти к содержанию
С нуля
Программа курса
EN Открыть

Программа курса

Неделя 23. Технический спринт

Фаза 6. Режим интервью · неделя 23 из 24

Учиться в приложении: тьютор, задачи с кодом →

Ядро: три mock (два ML coding и итоговый rapid-fire), 10 задач трека C на время · Глубина: пробный онлайн-тест, сессия math, повтор слабых форматов · ≈ 14 ч ядро / 20 ч всё

Цель недели не в том, чтобы выучить новое, а в том, чтобы сделать уже выученное доступным под давлением. Три формата тренируют три разных навыка: rapid-fire тренирует беглость, ML coding тренирует исполнение, дизайн эксперимента тренирует рассуждение. Их нельзя заменить друг другом, поэтому у каждого свой протокол. Правило для всех: без AI, таймер включён, всё записывается.

Из 12 mock-интервью курса восемь уже пройдены в неделях 19–22, по два в неделю; здесь три, последнее в неделе 24. Протоколы всех форматов собраны ниже, недели 19–22 ссылаются на них.

Тип интервьюУже былоНагрузка недели
ML coding (самый частый)3 mock (недели 19, 20, 21)2 mock по 45 минут: блок трансформера; k-means или PCA
General coding10 задач на время из трека C и 1 пробный онлайн-тест на 90 минут
Rapid-fire2 сессии (недели 19, 22)1 итоговая сессия по 30 вопросов
Дизайн эксперимента1 сессия (неделя 20)ещё одна в неделе 24, вместе с разбором чужой статьи
Math1 сессия на бумаге по треку D
ML system design1 сессия (неделя 21, сессия D)повтор, если по рубрике ниже 6
ML debugging1 сессия (неделя 22, сессия E)повтор, если по рубрике ниже 6

Сессия A. Rapid-fire: 30 вопросов за 30 минут

  • Вопросы берутся случайной выборкой из раздела rapid-fire банка вопросов и из блоков «Самопроверка» недель 1–22. Порядок случайный: на интервью темы не идут по фазам
  • 60 секунд на ответ, жёсткий лимит 2 минуты. Структура ответа: определение одной фразой → механизм или формула → компромисс или «почему». Не уложился? Следующий вопрос
  • Запись на диктофон; протокол и оценка по рубрике rapid-fire и шаблону сессии, каждый ответ отмечается ✓ / ~ / ✗
  • Промахи делить на три вида: не знаю, знаю, но не вспомнил, сказал неточно. Первые идут в список дыр на воскресенье, вторые в Anki, третьи нужно переформулировать письменно
  • Цель к третьей сессии: порог контрольной точки 3 (≥ 20 ✓ и ≤ 3 ✗), ориентир 24 ✓. Почему так: rapid-fire проверяет не глубину, а отсутствие дыр; один провал «что такое KV-кэш» стоит дороже десяти хороших ответов

На пальцах. Вопрос: «Зачем в attention делят на √H?» Плохо: «Для стабильности, так принято в статье». Нет ни определения, ни механизма, поэтому отметка ✗, хотя слово «стабильность» не ложное. Хорошо (около 40 секунд): «Чтобы softmax не насыщался. Скалярное произведение q·k складывается из H слагаемых, и при единичной дисперсии координат его дисперсия равна H. При H = 64 логиты порядка ±8, softmax почти one-hot, и градиент через него почти нулевой. Деление на √H возвращает дисперсию к 1. У больших моделей для того же добавляют QK-norm». Определение, механизм и «почему» уложились в минуту, отметка ✓.

Сессия B. Mock ML coding: 45 минут

  • Тайминг: 5 минут на то, чтобы уточнить условие и формы вслух; 25 на код; 10 на проверку на маленьком примере и формах; 5 на сложность и что улучшить
  • Задачи: блок трансформера; attention с маской и GQA; beam search; генерация с KV-кэшем; k-means или PCA (Модуль 0, F6)
  • Пустой файл, без автодополнения, говорить вслух. Молчание на интервью читается как «застрял», даже если ты думаешь продуктивно
  • Застрял на 5 минут? Записать где, упростить задачу (без батча, без маски), довести до работающего и вернуться к полной
  • Частые потери баллов: softmax не по той оси, забытая маска, нестабильный softmax, перепутанные K и N в GQA, ни одной проверки формы

Сессия C. Дизайн эксперимента: 45 минут

  • Шаблон: вопрос → гипотеза и что её опровергнет → тривиальный и сильный бейзлайн → первичная и вторичные метрики → данные и сплиты → контроль шума (сиды, интервалы, McNemar) → абляции → бюджет → что может пойти не так
  • Примеры: «Стоит ли переходить с MHA на GQA?», «Помогает ли curriculum по длине?», «Страдает ли рассуждение от int4 сильнее, чем знание фактов?»
  • Оценка по рубрике дизайна эксперимента. Самая частая ошибка: начать с метода, а не с того, какой результат опровергнет гипотезу

Сессия D. ML system design: 45 минут

  • Тайминг: 8 минут на требования и уточняющие вопросы; 5 на оценку на салфетке; 15 на архитектуру и данные; 10 на оценку качества и serving; 7 на отказы, безопасность и вопросы интервьюера
  • Постановка из раздела 8 банка вопросов, но не та, что разбиралась в части 5 недели 21 и в её mock. Партнёр отвечает на уточняющие вопросы по заранее придуманной «легенде»: сколько пользователей, какой бюджет
  • Оценка по рубрике ML system design. Самая частая ошибка: через 2 минуты рисовать схему, не выяснив, что важнее: задержка, цена или точность. Вторая по частоте: не сказать, как узнаешь, что система работает

Сессия E. ML debugging: 45 минут

  • Партнёр берёт твою рабочую реализацию блока трансформера и вносит 5–6 ошибок из раздела 9 банка вопросов. 30 минут на поиск и починку, 15 на расширение: добавить KV-кэш и проверить совпадение с полным проходом
  • Сначала проверки-свидетели, потом чтение кода: формы, причинность, суммы весов внимания, переобучение одного батча. Каждую найденную ошибку назвать вслух вместе с симптомом, который она давала
  • Подготовка: в тренажёре есть задача про causal attention. Реши её, потом по очереди сломай в своём решении маску, ось softmax и масштаб и посмотри, какой тест падает и с каким сообщением. Так учишься узнавать ошибку по симптому, а не по строке кода. Потом пройди в тренажёре три задачи «Найди и почини»: блок внимания, обучающий цикл и сэмплер top-k. В каждой код уже написан, и в нём спрятано несколько ошибок
  • Оценка по рубрике ML debugging

Разбор недели. В воскресенье заполняется таблица «формат → промахи → причина → действие». Повторяющийся промах означает тему, а не случайность: он возвращается в недели ядра.

Интервью-вопрос недели: «Ты застрял на ML coding. Что делаешь?» На него отвечают не словами, а поведением, поэтому тренируется в каждом mock. Структура: проговорить, где именно затруднение → упростить задачу → проверить упрощённое на маленьком примере → задать уточняющий вопрос → вернуться к полной версии.

Результаты недели

  • Могу ответить на 30 случайных вопросов rapid-fire за 30 минут с результатом не хуже 20 ✓ и не больше 3 ✗.
  • Могу написать attention с маской и GQA или beam search с пустого файла за 25 минут, проговаривая вслух.
  • Могу за 45 минут спроектировать эксперимент по шаблону, начиная с критерия опровержения.
  • Могу разложить свои промахи по трём видам и назвать действие для каждого.
  • Могу за 45 минут провести ML system design от требований до отказов и обосновать выбор числами.
  • Могу найти не меньше 5 из 6 внесённых ошибок в блоке трансформера и назвать симптом каждой.

Самопроверка

  1. Рассказать за 60 секунд: что такое KV-кэш, сколько он весит и чем его уменьшают.
  2. Какие проверки ты делаешь в последние 10 минут mock ML coding и в каком порядке?
  3. Для вопроса «помогает ли curriculum по длине?» какой результат опровергнет гипотезу?
  4. Какие проверки-свидетели ты пишешь до того, как читать чужой сломанный код?

В приложении у недели есть навыки для самооценки, вопросы с проверкой ответа, задачи с кодом на Python и тьютор по материалам курса.

Учиться в приложении: тьютор, задачи с кодом
← НазадНеделя 22. Инфраструктура и research craft Дальше →Неделя 24. Коммуникация и переговоры

С нуля
С нуля: курс по LLM

  • Главная
  • Программа курса
  • Приложение
  • Конфиденциальность
  • Условия

Текст курса распространяется по лицензии CC BY-NC-SA 4.0, код nanolm по лицензии Apache-2.0.