Выбор ответа Senior Квантование и дистилляция обновлено

Что ограничивает скорость генерации

Вопрос

При генерации текста LLM по одному запросу GPU загружена вычислениями слабо. Что является узким местом и что помогает?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Пропускная способность памяти: на каждый токен читаются все веса; помогают батчинг и квантование. Декодирование одного токена это матрично-векторные умножения: на каждый токен читаются все веса, а вычислений мало, поэтому скорость ограничена памятью (memory-bound).

Варианты ответа

  1. Пропускная способность памяти: на каждый токен читаются все веса; помогают батчинг и квантованиеправильный ответ
  2. Нехватка вычислительных ядер: каждый токен требует полного матричного умножения; помогает разгон частоты GPU и ядер
  3. Медленный токенизатор, который работает на CPU и декодирует каждый токен заново
  4. Сеть между клиентом и сервером: каждый токен отправляется отдельным HTTP-ответом

Разбор

Декодирование одного токена это матрично-векторные умножения: на каждый токен читаются все веса, а вычислений мало, поэтому скорость ограничена памятью (memory-bound). Объединение многих запросов в батч переиспользует чтение весов, квантование уменьшает объём чтения, speculative decoding проверяет несколько токенов маленькой моделью за один проход большой. Плюс эффективное управление KV-кешем (PagedAttention).

  • Вычислений как раз в избытке.
  • Токенизатор обычно не узкое место.
  • Сеть влияет на задержку, но не на скорость генерации.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.