BUILDING_SINGULARITY Telegram 38
Assisted Generation: оригинальный способ ускорить генерацию

Прикольный пост на Huggingface про ускорение генерации больших LMок. Реализация уже в 🤗, можно использовать 👍

One sentence summary: маленькая модель генерирует последовательности токенов, большая проверяет

🔹 Как происходит генерация?
- последовательно, токен за токеном
- 1 forward pass на 1 токен
- предыдущие внутренние состояния кешируются
- вычисления скрытого состояния для нового токена идут послойно

🔹 Основной ботлнек и что с этим делать?
Для больших языковых моделей ботлнек это пропускная способность памяти GPU во время матричного умножения. То есть, основное время уходит не на вычисления, а на трансфер весов из памяти к вычислительным ядрам 🤔

Отсюда получается
- INT8 квантизация, Flash Attention и другие техники, учитывающие факт выше, помогают заметно снизить латенси
- Увеличение размера батча увеличивает пропускную способность модели, так как один раз загруженные в вычислительные ядра веса, используются для нескольких примеров (латенси при этом немного возрастает)
- Tensor Parallelism (если есть > 1 GPU) параллелит трансфер весов (и вычисления), что позволяет уменьшить латенси

🔹 Их метод (в посте есть понятная визуализация)
1. Генерируем маленькой assistant моделью несколько последующих токенов (жадно)
2. Большой моделью делаем один forward и получаем логиты для этих сгенерированных токенов
3. Берем от логитов argmax и отбрасываем предложенные assistant моделью токены, начиная с первого несовпадения
4. goto 1.

Для семплинга тоже придумали, но быстрее работает с жадной генерацией

Интересный подход. Получатся разные латенси для разных текстов: легкие (ожидаемые) будут генерироваться быстрее. Типа роутинга запросов, только внутри одного метода генерации 🤔
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍4🤯21



tgoop.com/building_singularity/38
Create:
Last Update:

Assisted Generation: оригинальный способ ускорить генерацию

Прикольный пост на Huggingface про ускорение генерации больших LMок. Реализация уже в 🤗, можно использовать 👍

One sentence summary: маленькая модель генерирует последовательности токенов, большая проверяет

🔹 Как происходит генерация?
- последовательно, токен за токеном
- 1 forward pass на 1 токен
- предыдущие внутренние состояния кешируются
- вычисления скрытого состояния для нового токена идут послойно

🔹 Основной ботлнек и что с этим делать?
Для больших языковых моделей ботлнек это пропускная способность памяти GPU во время матричного умножения. То есть, основное время уходит не на вычисления, а на трансфер весов из памяти к вычислительным ядрам 🤔

Отсюда получается
- INT8 квантизация, Flash Attention и другие техники, учитывающие факт выше, помогают заметно снизить латенси
- Увеличение размера батча увеличивает пропускную способность модели, так как один раз загруженные в вычислительные ядра веса, используются для нескольких примеров (латенси при этом немного возрастает)
- Tensor Parallelism (если есть > 1 GPU) параллелит трансфер весов (и вычисления), что позволяет уменьшить латенси

🔹 Их метод (в посте есть понятная визуализация)
1. Генерируем маленькой assistant моделью несколько последующих токенов (жадно)
2. Большой моделью делаем один forward и получаем логиты для этих сгенерированных токенов
3. Берем от логитов argmax и отбрасываем предложенные assistant моделью токены, начиная с первого несовпадения
4. goto 1.

Для семплинга тоже придумали, но быстрее работает с жадной генерацией

Интересный подход. Получатся разные латенси для разных текстов: легкие (ожидаемые) будут генерироваться быстрее. Типа роутинга запросов, только внутри одного метода генерации 🤔

BY Приближаем сингулярность




Share with your friend now:
tgoop.com/building_singularity/38

View MORE
Open in Telegram


Telegram News

Date: |

How to Create a Private or Public Channel on Telegram? Hui said the messages, which included urging the disruption of airport operations, were attempts to incite followers to make use of poisonous, corrosive or flammable substances to vandalize police vehicles, and also called on others to make weapons to harm police. ZDNET RECOMMENDS With Bitcoin down 30% in the past week, some crypto traders have taken to Telegram to “voice” their feelings. How to create a business channel on Telegram? (Tutorial)
from us


Telegram Приближаем сингулярность
FROM American