LazyLLM: Динамическое обрезание токенов для эффективного вывода LLM с длинным контекстомLazyLLM: Dynamic Token Pruning for Efficient Long Context LLM Inference
Выводы моделей больших языков на основе трансформеров состоят из двух последовательных этапов: 1) этап предварительного заполнения для вычисления кэша KV подсказок и генерации первого токена, и 2) этап декодирования для генерации последующих токенов. Для длинных подсказок кэш KV должен быть вычислен для всех токенов во время этапа предварительного заполнения, что может значительно увеличить время, необходимое для генерации первого токена. Следовательно, этап предварительного заполнения может стать узким местом в процессе генерации. Остается открытым вопрос, являются ли все токены подсказки необходимы для генерации первого токена. Для ответа на этот вопрос мы представляем новый метод, LazyLLM, который выборочно вычисляет KV для токенов, важных для предсказания следующего токена как на этапе предварительного заполнения, так и на этапе декодирования. В отличие от статических методов обрезки, которые сразу обрезают подсказку, LazyLLM позволяет моделям языка динамически выбирать различные подмножества токенов из контекста на разных этапах генерации, даже если они были обрезаны на предыдущих этапах. Обширные эксперименты на стандартных наборах данных по различным задачам показывают, что LazyLLM является универсальным методом, который может быть легко интегрирован с существующими языковыми моделями для значительного ускорения генерации без дополнительной настройки. Например, в задаче мультидокументного вопросно-ответного тестирования LazyLLM ускоряет этап предварительного заполнения модели LLama 2 7B в 2,34 раза, сохраняя точность.