HeadlinesBriefing favicon HeadlinesBriefing.com

LLM в 3 раза быстрее: спекулятивное декодирование

ByteByteGo •
×

Каждый агент уже выполняет цикл. Цикловая инженерия добавляет цикл вокруг самого агента, позволяя ему оценивать свой вывод, повторять попытку, когда работа не соответствует ожиданиям, и уточнять свои инструкции, когда повторяются одни и те же ошибки. Сегодня эту роль выполняете вы: просматриваете работу, диагностируете, что пошло не так, и снова даете инструкции агенту. В этой статье показано, как автоматизировать этот процесс на рабочем примере, а также исследуется, где по-прежнему требуется человеческое суждение.

Модель с 70 миллиардами параметров требует чтения примерно 140 ГБ весов из памяти GPU. На современном GPU для центров обработки данных эта передача может занять десятки миллисекунд. Фактические вычисления, применяемые к этим весам, занимают лишь часть этого времени. Это означает, что математические блоки процессора простаивают большую часть времени, затрачиваемого на этап генерации токенов. Спекулятивное декодирование — это метод, который преобразует эту неиспользуемую мощность в вывод.

Вторая, гораздо меньшая модель заранее создает несколько кандидатных токенов. Большая модель оценивает их все за один прямой проход вместо одного прохода на токен, что приводит к ускорению генерации в 2-3 раза. Более того, создаваемый текст остается статистически идентичным выводу большой модели, работающей в одиночку.

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

Ключевые сущности: Компании: ByteByteGo