Навредит ли спекулятивное декодирование точности инференса LLM?

Навредит ли спекулятивное декодирование точности инференса LLM?

Митчелл Стерн и др. в 2018 году представили прототип концепции спекулятивного декодирования. Этот метод впоследствии был развит и усовершенствован различными подходами, включая Lookahead Decoding, REST, Medusa и EAGLE, что значительно ускорило процесс инференса больших языковых моделей (LLM).

Может возникнуть вопрос: навредит ли спекулятивное декодирование в LLM точности исходной модели? Простой ответ — нет.

Ортодоксальный алгоритм спекулятивного декодирования является без потерь, и мы докажем это с помощью как математического анализа, так и экспериментов.

Математическое доказательство

Формула спекулятивной выборки может быть определена следующим образом:

Где:

Ниже приведено доказательство отсутствия потерь для этой формулы из статьи DeepMind:

Если вам слишком скучно читать математические уравнения, далее я проиллюстрирую доказательство с помощью интуитивно понятных диаграмм.v√

Эксперименты

Хотя мы математически доказали, что спекулятивное декодирование в принципе не приводит к потерям, ошибки реализации всё же могут возникать. Поэтому необходима и экспериментальная проверка. Мы провели эксперименты в двух случаях: детерминированный метод жадного декодирования и случайный метод мультиномиальной выборки.

Жадное декодирование

Мы попросили LLM сгенерировать короткий рассказ дважды: сначала с помощью обычного инференса, а затем с использованием спекулятивного декодирования. Мы использовали реализацию спекулятивного декодирования от Medusa. Веса модели — medusa-1.0-vicuna-7b-v1.5 и её базовая модель vicuna-7b-v1.5. После тестового запуска мы получили два идентичных результата. Сгенерированный текст выглядит следующим образом:

Мультиномиальная выборка

В случае случайной выборки ситуация сложнее. Большинство методов воспроизведения результатов в случайных программах используют фиксированное начальное значение для генератора псевдослучайных чисел, чтобы использовать детерминированность. Однако такой подход не подходит для нашего сценария. Наш эксперимент основан на законе больших чисел: при достаточном количестве выборок ошибка между практическим и теоретическим распределениями стремится к нулю.

Мы провели 1 000 000 итераций выборки для первого токена, сгенерированного для каждого из четырёх запросов. Использовались веса модели Llama3 8B Instruct и EAGLE-LLaMA3-Instruct-8B. Результаты статистики показаны ниже:

  • Синий: softmax логитов базовой модели
  • Зелёный: softmax логитов черновой модели (draft model)
  • Оранжевый: частота токенов при спекулятивной выборке (1 000 000 раз)

Стандартное отклонение распределения выборки от базовой модели составило 9.694e-5. Это соответствует ожиданиям.

Заключение

Спекулятивное декодирование не ухудшает точность инференса больших языковых моделей. С помощью строгого математического анализа и практических экспериментов мы продемонстрировали без потерь стандартных алгоритмов спекулятивного декодирования. Математическое доказательство показывает, как формула спекулятивной выборки сохраняет исходное распределение базовой модели. Наши эксперименты, включая как детерминированное жадное декодирование, так и вероятностную мультиномиальную выборку, дополнительно подтверждают эти теоретические выводы. Эксперимент с жадным декодированием дал идентичные результаты как с использованием, так и без использования спекулятивного декодирования, а эксперимент с мультиномиальной выборкой показал незначительные различия в распределении токенов при большом количестве выборок.

Эти результаты в совокупности подтверждают, что спекулятивное декодирование может значительно ускорить инференс LLM без потери точности, открывая путь к более эффективным и доступным системам искусственного интеллекта в будущем.

Более подробную информацию можно найти на Novita AI!