Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.
Языковую модель научили выдавать несколько согласованных токенов за один проход вместо одного токена за проход. Хотя препринт не рецензирован и числа получили сами авторы, команда из UC Irvine, ETH Zurich, Charité Berlin и Hasso Plattner Institute показала сопоставимое с авторегрессионной моделью качество при более быстрой генерации. Подход даёт разработчикам собственных моделей альтернативу последовательному выводу, но требует менять обучение, а не только сервер.
Как модель согласует токены, предсказанные одновременно
Обычная авторегрессионная модель строит ответ слева направо. Каждый прямой проход добавляет один токен, поэтому задержка растёт вместе с длиной ответа: следующий токен нельзя вычислить, пока не выбран предыдущий.
Parallel Language Models сохраняют авторегрессионную часть, но добавляют параллельный декодер. Во время обучения кодировщик сопоставляет каждому токену случайную вспомогательную переменную, а декодер получает сразу набор таких переменных и восстанавливает исходный фрагмент. Переменные передают зависимости между позициями, поэтому одновременно предсказанные токены не становятся независимыми друг от друга.
Кодировщик и декодер используют общие веса трансформера, но разные входные представления. Функция потерь складывается из обычного предсказания следующего токена и восстановления текста параллельным декодером. Модель тем самым учится и оценивать продолжение последовательно, и собирать его фрагментами.
Длинные последовательности при обучении делят на блоки по 16 токенов. Декодер видит подтверждённый контекст перед блоком и пытается восстановить весь блок параллельно. Дополнительное выравнивание внутренних представлений помогает декодеру раньше прийти к состоянию, которое кодировщик получает после чтения контекста; в опытах это сокращало примерно вдвое вычисления до того же качества восстановления.
При генерации модель одновременно проверяет ранее предложенные токены и строит следующие. Первый токен принимается как обычное авторегрессионное предсказание, а дальнейшие остаются в ответе, если проходят проверку. Это сохраняет последовательный кэш внимания, но позволяет пополнять его фрагментами.
Ускорение сохранилось после дообучения на задачах
Предварительное обучение проверяли на моделях от 80 млн до 3 млрд параметров. Чем крупнее становилась модель, тем больше токенов она могла согласованно выдавать за один вызов, а качество по функции потерь приближалось к авторегрессионному варианту.
После дообучения модель на 1,3 млрд параметров сравнили с авторегрессионной моделью того же размера и с таким же процессом обучения. На GSM8K, MATH-500, HumanEval и IFEval она сохранила сопоставимые или более высокие результаты, ускорив обработку вопросов в 2,3–5,7 раза в зависимости от набора задач.
Эти результаты получены в ослабленном режиме декодирования: модель принимает параллельные предложения менее строго, чем при точной выборке. Качество такого режима проверяли непосредственно на задачах, но переносить тот же диапазон ускорения на системы, которым нужна точная вероятностная выборка, нельзя.
Скорость измеряли на одной NVIDIA RTX 6000 Ada при обработке отдельного запроса. Для крупнейшей модели отдельную авторегрессионную модель не обучали: базой сравнения служила та же Parallel Language Model, запущенная последовательно. Границы эксперимента поэтому задают модели исследовательского масштаба, выбранные задачи по математике, коду и выполнению инструкций, а также один режим оборудования.
Когда Parallel Language Models меняют технический план
Для уже развёрнутой авторегрессионной модели это не замена декодера одним обновлением. Метод рассчитан на обучение с общей функцией потерь с самого начала; попытка сначала обучить обычную модель, а затем перевести её на параллельную генерацию, в опытах работала хуже.
Команде, которая обучает собственную модель, работа предлагает проверяемое направление: заложить параллельный декодер в архитектуру, сохранить авторегрессионный режим как опору и измерять не только токены в секунду, но и задержку полного ответа на целевом оборудовании. Потребуются собственный алгоритм принятия предложенных токенов, маска внимания и работа с кэшем, поэтому выигрыш связан со всей системой вывода.
Для продукта, который использует чужую LLM через API, ближайший план не меняется: способ нельзя подключить на стороне клиента. Но при выборе собственной модели он сдвигает компромисс между качеством и задержкой. Параллельную генерацию теперь можно обучать напрямую на текстах, без отдельной большой модели-учителя и без многократного уточнения всего ответа, как в диффузионных схемах.
Главный практический барьер — масштаб проверки. Работа показывает результат на моделях до нескольких миллиардов параметров и на одиночном GPU, тогда как решение для сервиса зависит ещё от пакетной обработки, длины контекста и поведения на реальных запросах. Поэтому сейчас это основание для прототипа собственной модели, а не для немедленной замены работающего контура.
Источники
Похоже на вашу задачу?
Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.



