Когда спекулятивное декодирование ускоряет сервинг LLM?
Автоматический перевод
Эта статья была автоматически переведена с оригинальной английской версии.
Спекулятивное декодирование может ускорить генерацию, если предлагать несколько токенов-кандидатов дёшево и целевая модель принимает достаточное их число. Целевая модель проверяет кандидатов вместе и может возвращать несколько выходных токенов за раунд. Дополнительная работа по подготовке предложений может, наоборот, замедлить сервинг, если доля принятых токенов низкая или целевая модель уже эффективно работает с большими батчами.
Прежде чем выбирать этот метод для сервиса, проведите бенчмарк полного цикла генерации, включая подготовку предложений и отклонение кандидатов.
Разберитесь в раунде проверки
Черновая модель предлагает K токенов. Целевая модель оценивает позиции кандидатов за один прямой проход по батчу. Модифицированный сэмплинг с отбраковкой принимает кандидатов слева направо, используя оба распределения. После первого отклонения он выбирает корректирующий токен из остаточного распределения целевой модели и отбрасывает последующих кандидатов. Если все кандидаты приняты, он также может выбрать один дополнительный токен целевой модели.
Алгоритм спекулятивного сэмплинга Чена и соавторов сохраняет целевое распределение при выполнении предположений алгоритма, с учётом численных особенностей оборудования. Простое сравнение токенов-кандидатов с токенами, выбранными целевой моделью, — это другой алгоритм сэмплинга. Проверьте поведение сэмплинга и поддерживаемые настройки выбранной реализации.
Авторы статьи сообщили о 2–2.5x ускорении декодирования для протестированной целевой модели Chinchilla-70B с черновой моделью 4B, батчем размера один и K=4 на TPU v4. Этот исторический результат показывает, что механизм может помочь, но не прогнозирует результат для другой пары моделей.
Проверьте, от чего зависит выигрыш
| Показатель | Интерпретация |
|---|---|
| Принятые токены за раунд проверки | Какой объём результата компенсирует затраты на выполнение целевой модели |
| Время подготовки предложений | Стоимость предложения кандидатов |
| Время проверки и коррекции | Работа целевой модели и дополнительные затраты на отклонённых кандидатов |
| Throughput и латентность при разном числе одновременных запросов | Сохраняется ли выигрыш при реалистичных батчах |
| Качество выполнения задач и настройки сэмплинга | Сохраняет ли выбранный метод предполагаемое поведение |
Методы с черновой моделью — один из вариантов. EAGLE-3 объединяет несколько уровней признаков целевой модели и напрямую предсказывает черновые токены; другие подходы используют дополнительные головы предсказания или поиск совпадений с промптом. Их доли принятых токенов и затраты на выполнение различаются.
Протестируйте репрезентативные примеры кода, обычного текста, structured outputs и длины контекста. Начните с небольшого числа предлагаемых токенов, затем меняйте его вместе с числом одновременных запросов. Больше кандидатов не поможет, если стоимость их подготовки и проверки превышает сэкономленную работу.
Инженерное руководство: спекулятивное декодирование объясняет последовательность принятия токенов и варианты метода.