QUANT_PRUNE_DISTILL Telegram 469
Метод

Современные LLM видали всякое в процессе своего обучения, но прямых указаний на то, что в конкретном месте можно распараллелиться и разбить задачу на части, которые можно решать независимо скорее всего особо не встречали 🤔.

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

Благодаря RoPE позиционным эмбеддингам можно задавать произвольные позиции токенам в последовательностях, не меняя расположение токенов в KV-кэше в физической памяти.

Организовать кэш можно следующим образом:
📌 Interleaved layout. Процессы по очереди пишут общую память и видят чередующиеся шаги друг друга в прошлом.
📌 Contiguous layout. Процессы видят кэш другого процесса непрерывным блоком в прошлом.
📌 Combined layout. Промежуточный вариант. Процессы видят перемежающиеся шаги друг друга и текущий логический шаг рассуждения сплошным куском.

Промптинг состоит из 3 компонент:
1️⃣ Системного промпта, поясняющего LLMке, что надо работать в несколько потоков.
2️⃣ Few-shot примеры коллаборации потоков.
3️⃣ Вставка s1-like промптов, периодически спрашивающих процесс, занимается ли он полезной работой

Потенциальная польза от использования методов, что за меньшее количество прямых проходов по сети (инференс LLM memory-bound), можно прийти раньше к правильному решению, а в идеале, за счет самопроверки процессов - и поднять качество.

Эксперименты

Эксперименты прогоняли на Qwen/QwQ-32B, как на модели достаточно хорошей и влезающей легко на 1 GPU.

Подход проверяли на модифицированной версии GSM8k и наборе примеров из LIMO.

Для GSM8k сравнивается работа в 1/2/4 потока. В большинстве случаев многопроцессовый режим работает лучше стандартной генерации при фиксированном бюджете.

На LIMO разные опции Hogwild! кэша с наивным бейзлайном с выдачей ответа одним процессом в заданном формате, с early stopping промптингом и независимыми процессами (Self-consistency). Hogwild! работает стабильно лучше. Разные стратегии обработки KV-кэша близки по качеству (за исключением совсем малых бюджетов), комбинированный выглядит немного предпочтительнее альтернатив. При бюджете в 8к прямых проходов в 2 потока достигается то же качество, что и генерация одним потоком 16к токенов.

Вывод

Научно-технический процесс достиг того уровня, что LLM способны заменять даже не одного, а нескольких кожаных мешков 🧍‍♂. Те не менее, удачная коллаборация происходит на практике далеко не всегда - иногда процессы вроде бы договорившись, начинают все равно дублировать друг друга или просто теряются. В дальнейшем планируется развитие подхода, в частности, специальное дообучение, для улучшения взаимодействия процессов друг с другом.



tgoop.com/quant_prune_distill/469
Create:
Last Update:

Метод

Современные LLM видали всякое в процессе своего обучения, но прямых указаний на то, что в конкретном месте можно распараллелиться и разбить задачу на части, которые можно решать независимо скорее всего особо не встречали 🤔.

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

Благодаря RoPE позиционным эмбеддингам можно задавать произвольные позиции токенам в последовательностях, не меняя расположение токенов в KV-кэше в физической памяти.

Организовать кэш можно следующим образом:
📌 Interleaved layout. Процессы по очереди пишут общую память и видят чередующиеся шаги друг друга в прошлом.
📌 Contiguous layout. Процессы видят кэш другого процесса непрерывным блоком в прошлом.
📌 Combined layout. Промежуточный вариант. Процессы видят перемежающиеся шаги друг друга и текущий логический шаг рассуждения сплошным куском.

Промптинг состоит из 3 компонент:
1️⃣ Системного промпта, поясняющего LLMке, что надо работать в несколько потоков.
2️⃣ Few-shot примеры коллаборации потоков.
3️⃣ Вставка s1-like промптов, периодически спрашивающих процесс, занимается ли он полезной работой

Потенциальная польза от использования методов, что за меньшее количество прямых проходов по сети (инференс LLM memory-bound), можно прийти раньше к правильному решению, а в идеале, за счет самопроверки процессов - и поднять качество.

Эксперименты

Эксперименты прогоняли на Qwen/QwQ-32B, как на модели достаточно хорошей и влезающей легко на 1 GPU.

Подход проверяли на модифицированной версии GSM8k и наборе примеров из LIMO.

Для GSM8k сравнивается работа в 1/2/4 потока. В большинстве случаев многопроцессовый режим работает лучше стандартной генерации при фиксированном бюджете.

На LIMO разные опции Hogwild! кэша с наивным бейзлайном с выдачей ответа одним процессом в заданном формате, с early stopping промптингом и независимыми процессами (Self-consistency). Hogwild! работает стабильно лучше. Разные стратегии обработки KV-кэша близки по качеству (за исключением совсем малых бюджетов), комбинированный выглядит немного предпочтительнее альтернатив. При бюджете в 8к прямых проходов в 2 потока достигается то же качество, что и генерация одним потоком 16к токенов.

Вывод

Научно-технический процесс достиг того уровня, что LLM способны заменять даже не одного, а нескольких кожаных мешков 🧍‍♂. Те не менее, удачная коллаборация происходит на практике далеко не всегда - иногда процессы вроде бы договорившись, начинают все равно дублировать друг друга или просто теряются. В дальнейшем планируется развитие подхода, в частности, специальное дообучение, для улучшения взаимодействия процессов друг с другом.

BY КПД


Share with your friend now:
tgoop.com/quant_prune_distill/469

View MORE
Open in Telegram


Telegram News

Date: |

Among the requests, the Brazilian electoral Court wanted to know if they could obtain data on the origins of malicious content posted on the platform. According to the TSE, this would enable the authorities to track false content and identify the user responsible for publishing it in the first place. Add the logo from your device. Adjust the visible area of your image. Congratulations! Now your Telegram channel has a face Click “Save”.! 3How to create a Telegram channel? A few years ago, you had to use a special bot to run a poll on Telegram. Now you can easily do that yourself in two clicks. Hit the Menu icon and select “Create Poll.” Write your question and add up to 10 options. Running polls is a powerful strategy for getting feedback from your audience. If you’re considering the possibility of modifying your channel in any way, be sure to ask your subscribers’ opinions first. Your posting frequency depends on the topic of your channel. If you have a news channel, it’s OK to publish new content every day (or even every hour). For other industries, stick with 2-3 large posts a week.
from us


Telegram КПД
FROM American