сеньорчикОткрыть в Telegram
← все вопросывопросы для собеседований · LLM и RAG

Вопросы по LLM и RAG на собеседовании

Секция по языковым моделям появилась почти во всех DS-вакансиях, и она быстро отделяет тех, кто собирал систему, от тех, кто читал новости. Самый частый разговор строится вокруг RAG: где именно ломается качество и как это измерить.

98 вопросов в банке·8 подтем·ниже разбор 9

Из чего состоит тема

Так тема разложена в тренажёре: движок ведёт прогресс по каждой подтеме отдельно и возвращает те, где вы ошибаетесь.

Разборы подтем

Конспект по каждой: что это, как отвечать вслух, на чём валятся, плюс вопросы для самопроверки.

Примеры вопросов с разбором

  1. #agents_tooluse1 / 9
    Что такое tool use (function calling) у LLM?
    A)Модель возвращает структурированный вызов функции/API; приложение его исполняет и кладёт результат обратно в контекст
    B)Модель самостоятельно выполняет произвольный код прямо на серверах провайдера без участия приложения
    C)Способ дообучить модель на наборе функций
    D)Замена текстового промпта на бинарный протокол
    показать ответ и разбор
    +A)Модель возвращает структурированный вызов функции/API; приложение его исполняет и кладёт результат обратно в контекст

    // разбор: Function calling: модели дают описания доступных инструментов (имя, параметры, схема). Она ничего не исполняет сама — решает, что нужен инструмент, и выдаёт структурированный (обычно JSON) вызов с аргументами. Исполняет функцию приложение/раннер, результат возвращается модели в контекст, и она продолжает. Это мост между текстовой моделью и реальными действиями (поиск, БД, API).

  2. #architectures_moe2 / 9
    Почему трансформеры вытеснили RNN/LSTM для языкового моделирования?
    A)Self-attention обрабатывает всю последовательность параллельно и прямо связывает далёкие токены, а RNN идёт последовательно
    B)Сопоставимые трансформеры обычно заметно меньше по числу обучаемых параметров, чем эквивалентные RNN и LSTM
    C)RNN сложно обучить на данных
    D)Трансформеры вообще не требуют обучающих данных
    показать ответ и разбор
    +A)Self-attention обрабатывает всю последовательность параллельно и прямо связывает далёкие токены, а RNN идёт последовательно

    // разбор: RNN обрабатывают токены строго по одному, состояние идёт по цепочке — это мешает параллелизму на обучении и размывает длинные зависимости (затухающий градиент). Self-attention смотрит на все токены сразу и напрямую соединяет любые два независимо от расстояния, и считается параллельно по позициям — отсюда лучшее качество на длинных зависимостях и масштабируемость на GPU. Цена — квадратичность внимания.

  3. #eval_safety3 / 9
    Почему оценивать открытую генерацию LLM сложнее, чем классификацию?
    A)У открытого ответа нет единственного эталона: много одинаково валидных формулировок, простое сравнение строк не работает
    B)Языковая модель плохо приспособлена выдавать текст, поэтому structured output приходится собирать вручную
    C)Качество классификации вообще не получится измерить метриками
    D)Метрик для текста практически нет
    показать ответ и разбор
    +A)У открытого ответа нет единственного эталона: много одинаково валидных формулировок, простое сравнение строк не работает

    // разбор: У классификации есть золотая метка и точные метрики (accuracy, F1). Открытая генерация допускает множество равноправных формулировок одного верного ответа, поэтому exact match слишком строг, а n-gram-метрики (BLEU/ROUGE) плохо ловят смысл и мимо перефраза. Отсюда семантические метрики, наборы с несколькими референсами, человеческая оценка и LLM-as-judge.

  4. #finetune_align4 / 9
    Что такое дообучение (fine-tuning) LLM?
    A)Обучение модели с нуля на случайно инициализированных весах на своих данных без использования какой-либо готовой предобученной базовой модели
    B)Продолжение обучения предобученной модели на своём наборе под задачу/домен/стиль
    C)Подстановка примеров прямо в промпт без изменения весов
    D)Сжатие модели ради ускорения инференса
    показать ответ и разбор
    +B)Продолжение обучения предобученной модели на своём наборе под задачу/домен/стиль

    // разбор: Fine-tuning стартует не с нуля, а с уже предобученных весов и доучивает их на целевом наборе — дешевле и данных нужно меньше, чем обучение с нуля. Меняет поведение/стиль/формат и вшивает узкий домен. Подстановка примеров в промпт (few-shot) весов не трогает — это in-context learning. Риск файнтюна — забывание общих умений (catastrophic forgetting).

  5. #inference_serving5 / 9
    Что даёт квантизация LLM (например, в 4 бита)?
    A)Меньше памяти и быстрее инференс за счёт весов в пониженной точности, ценой небольшой потери качества
    B)Существенно больше эффективных параметров и заметно более высокую точность на всех без исключения задачах
    C)Автоматическое дообучение модели под целевую задачу
    D)Расширение контекстного окна модели
    показать ответ и разбор
    +A)Меньше памяти и быстрее инференс за счёт весов в пониженной точности, ценой небольшой потери качества

    // разбор: Квантизация хранит веса (и иногда активации) в меньшей разрядности — int8, int4 вместо fp16 — сокращая память в 2–4 раза и ускоряя за счёт меньшего трафика памяти. Позволяет уместить большую модель на скромной GPU. Плата — небольшая деградация качества, тем заметнее, чем ниже биты; GPTQ/AWQ минимизируют её умным подбором. Число параметров не растёт, контекст не расширяется.

  6. #pretraining_scaling6 / 9
    Какова основная задача предобучения (pretraining) базовой decoder-only LLM?
    A)Классифицировать тексты по заранее заданным темам
    B)Точно переводить между произвольными парами языков, обучаясь строго на параллельном выровненном корпусе предложений
    C)Предсказывать следующий токен по предыдущим (авторегрессионное LM) на огромном корпусе
    D)Максимизировать награду, выставленную человеком
    показать ответ и разбор
    +C)Предсказывать следующий токен по предыдущим (авторегрессионное LM) на огромном корпусе

    // разбор: Base LLM (decoder-only) предобучают на предсказании следующего токена (causal language modeling) по гигантскому неразмеченному корпусу — self-supervised, метки не нужны, «правильный ответ» это сам следующий токен текста. Так модель усваивает язык, факты, паттерны рассуждения. Инструкции, диалог и предпочтения приходят позже — на этапах SFT и выравнивания.

  7. #prompting_structured7 / 9
    Зачем в промпт добавляют «рассуждай пошагово» (chain-of-thought)?
    A)Чтобы итоговый ответ модели стал заметно короче, лаконичнее и дешевле по числу выходных токенов
    B)Чтобы модель раскладывала многошаговую задачу на шаги — это повышает точность на рассуждении
    C)Чтобы отключить токенизацию входа
    D)Чтобы уменьшить расход токенов на запрос
    показать ответ и разбор
    +B)Чтобы модель раскладывала многошаговую задачу на шаги — это повышает точность на рассуждении

    // разбор: Chain-of-thought просит модель прописать промежуточные шаги перед ответом. Для многошаговых задач (арифметика, логика, планирование) это заметно повышает точность: модель «думает на бумаге», а не выдаёт ответ одним прыжком. Цена — больше токенов и латентности, поэтому на простых задачах не нужно. Для API-ответов рассуждение часто прячут/отделяют от финального ответа.

  8. #rag_deep8 / 9
    Зачем в RAG документы режут на чанки, а не индексируют целиком?
    A)Чтобы извлекать и подавать только релевантный фрагмент, а не весь документ
    B)Чтобы значительно уменьшить размер и стоимость самой эмбеддинг-модели ретривера
    C)Чтобы документы занимали меньше места на диске в хранилище
    D)Чтобы обойти жёсткий лимит на общее число документов в базе
    показать ответ и разбор
    +A)Чтобы извлекать и подавать только релевантный фрагмент, а не весь документ

    // разбор: Эмбеддинг усредняет смысл всего текста: длинный документ даёт размытый вектор, и точный кусок теряется. Чанки дают гранулярный поиск — извлекаем именно релевантный абзац — и экономят контекст. Компромисс размера: слишком крупные чанки размывают релевантность и жрут контекст, слишком мелкие рвут смысл и теряют его целостность.

  9. #agents_tooluse9 / 9
    Что описывает паттерн ReAct для агента?
    A)Реактивное программирование пользовательского интерфейса чата и обновление его состояния
    B)Модель отвечает мгновенно, без единого промежуточного шага
    C)Чередование reason и act: подумал → вызвал инструмент → получил наблюдение → снова подумал
    D)Обязательный отдельный этап дообучения модели, который по регламенту идёт строго после стадии RLHF
    показать ответ и разбор
    +C)Чередование reason и act: подумал → вызвал инструмент → получил наблюдение → снова подумал

    // разбор: ReAct (Reason + Act) — цикл: модель вслух рассуждает о следующем шаге, выбирает действие (вызов инструмента), получает наблюдение (результат), снова рассуждает — до ответа. Явные мысли улучшают выбор инструментов и дают трассируемость, а обратная связь от инструментов заземляет модель на реальных данных. Это про рантайм-оркестрацию, а не про обучение.

это 9 из 98

Ещё 89 вопросов по теме — в тренажёре, с движком повторения

Прочитать разбор и ответить самому — разные навыки. В Сеньорчике вопросы идут сессиями, а движок возвращает подтемы, где вы ошибаетесь, пока они не начнут отскакивать. Бесплатно, лимит по энергии.

Частые вопросы