Выбор ответа Senior Квантование и дистилляция обновлено
Что ограничивает скорость генерации
Вопрос
При генерации текста LLM по одному запросу GPU загружена вычислениями слабо. Что является узким местом и что помогает?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Пропускная способность памяти: на каждый токен читаются все веса; помогают батчинг и квантование. Декодирование одного токена это матрично-векторные умножения: на каждый токен читаются все веса, а вычислений мало, поэтому скорость ограничена памятью (memory-bound).
Варианты ответа
- Пропускная способность памяти: на каждый токен читаются все веса; помогают батчинг и квантованиеправильный ответ
- Нехватка вычислительных ядер: каждый токен требует полного матричного умножения; помогает разгон частоты GPU и ядер
- Медленный токенизатор, который работает на CPU и декодирует каждый токен заново
- Сеть между клиентом и сервером: каждый токен отправляется отдельным HTTP-ответом
Разбор
Декодирование одного токена это матрично-векторные умножения: на каждый токен читаются все веса, а вычислений мало, поэтому скорость ограничена памятью (memory-bound). Объединение многих запросов в батч переиспользует чтение весов, квантование уменьшает объём чтения, speculative decoding проверяет несколько токенов маленькой моделью за один проход большой. Плюс эффективное управление KV-кешем (PagedAttention).
- Вычислений как раз в избытке.
- Токенизатор обычно не узкое место.
- Сеть влияет на задержку, но не на скорость генерации.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.