LayerSkip: Включение раннего завершения вывода и самоспекулятивного декодированияLayerSkip: Enabling Early Exit Inference and Self-Speculative Decoding
Мы представляем LayerSkip, комплексное решение для ускорения вывода больших языковых моделей (LLM). Во-первых, во время обучения мы применяем отсев слоев с низкими значениями отсева для более ранних слоев и более высокими значениями отсева для более поздних слоев, а также потери на раннем выходе, где все трансформерные слои используют одинаковый выход. Во-вторых, во время вывода мы показываем, что данная методика обучения повышает точность раннего выхода на более ранних слоях, не добавляя дополнительных слоев или модулей к модели. В-третьих, мы представляем новое решение самоспекулятивного декодирования, где мы выходим на ранних слоях, а затем проверяем и корректируем с помощью оставшихся слоев модели. Наше предложенное самоспекулятивное декодирование требует меньше памяти, чем другие подобные подходы, и использует общие вычисления и активации этапов черновика и верификации. Мы проводим эксперименты на различных размерах моделей Llama при различных типах обучения: предварительное обучение с нуля, продолжительное предварительное обучение, донастройка на конкретной области данных и донастройка на конкретную задачу. Мы реализуем наше решение вывода и демонстрируем ускорение до 2.16x для суммаризации документов CNN/DM, 1.82x для кодирования и 2.0x для семантического разбора TOPv2. Мы открываем исходный код и контрольные точки по адресу https://github.com/facebookresearch/LayerSkip.