Telegram Group & Telegram Channel
Retrieval Head Mechanistically Explains Long-Context Factuality

В архитектуре трансформера есть «головы внимания», на каждом слое их одинаковое количество штук. Эти головы отвечают за то, чтобы перевзвешивать важность слов в контексте: вместо того, чтобы смотреть на тысячи слов за раз модель как бы зануляет большую часть из них, и размазывает 100% внимания лишь по нескольким токенам.

Например, есть голова внимания, которая всегда смотрит только на предыдущее слово, как бы позволяя нейронке опереться на него при генерации. Есть головы, делающие более сложные операции — выявление действующих лиц для местоимений («кошка гуляла, она шла медленно» -> «она» - это кошка). Ничего из этого не программируется вручную — модель во время обучения сама понимает, когда, как и на что смотреть, и изобретает разные алгоритмы.

В рамках науки об интерпретируемости учёные пытаются понять, как учится трансформер, что именно он понимает и как именно работают отдельные механизмы на основе голов внимания. В значимой степени это лишь теория, которая однако имеет огромные перспективы для применения в практике за счёт получения ответов на вопросы в духе «почему модель ошиблась?» или «соврала ли LLM?».

И вот данная работа — как раз такая, она на стыке оптимизации длинного контекста в LLM и интерпретируемости. Для того, чтобы понять текст дальше, нужно прочитать пост <https://www.group-telegram.com/ua/seeallochnaya.com/1135> с объяснением принципа теста «иголка в стоге сена».

Авторы придумали критерий, по которому научились определять retrieval heads, которые позволяют копировать модели части промпта. Представьте, что у вас есть 5 страниц текста, и вы в рамках ответа на вопрос приводите цитату: для этого мусолите палец, ставите его на нужное место на странице и двигаете вправо как указатель, и вслед за этим записываете ответ. Вот так и работают эти головы, позволяя модели не сбиваться. Но важно это в очень широком круге задач, особенно в тех, где модель обязана следовать за инструкцией в промпте на 20 страниц — ведь если задуматься это тоже задача поиска: «какое правило тут применить?».

Проанализировав разные семейства моделей (Llama 2, Mistral, Qwen), обнаружили, что такие головы занимают ~5% (~50) от примерно тысячи голов в модели. Их прям конкретно смогли выписать: вот эта вот, с таким то номером. Если их начать отключать (занулять, не давать им смотреть на контекст) — то внезапно модели перестают читать контекст и теряются, их качество существенно падает на задаче поиска иголки в стоге сена. Ещё такой же результат наблюдается на решении математических задач с рассуждением (ведь теперь в них нельзя подсмотреть), а вот качество ответов на вопросы, связанные с чистым знанием не меняется (потому что из контекста не нужно ничего выписывать).

Итак, почему это важно для практики? Когда LLM используется для генерации текста, то для всех предыдущих слов считается огромный тензор вещественных чисел, хранящий информацию о том, что было написано (именно в нём головы внимания находят то, что им нужно). Такой KV-cache для модели LLAMA 2 7B для 100к токенов весит 50 гигабайт. Маленькая модель, контекст не то чтобы очень большой (у Google Gemini вон вообще миллион), и ЦЕЛЫХ 50 ГИГОВ.

В этих гигах как раз таки хранится информация для разных наборов голов. И если мы знаем заранее, что нам нужна голова номер 15 в 10-ом слое — то мы можем сохранять только её, а остальное удалять. Конечно, лучше перестраховаться, и брать, скажем, 10-20% от всего множества — но это в 5-10 раз уменьшает потребление памяти, а значит позволяет и существенно ускорить работу, и уменьшить требования к железу.

Очень жду этой фичи из коробки в большинстве фреймворков, реально очень круто.



group-telegram.com/seeallochnaya/1329
Create:
Last Update:

Retrieval Head Mechanistically Explains Long-Context Factuality

В архитектуре трансформера есть «головы внимания», на каждом слое их одинаковое количество штук. Эти головы отвечают за то, чтобы перевзвешивать важность слов в контексте: вместо того, чтобы смотреть на тысячи слов за раз модель как бы зануляет большую часть из них, и размазывает 100% внимания лишь по нескольким токенам.

Например, есть голова внимания, которая всегда смотрит только на предыдущее слово, как бы позволяя нейронке опереться на него при генерации. Есть головы, делающие более сложные операции — выявление действующих лиц для местоимений («кошка гуляла, она шла медленно» -> «она» - это кошка). Ничего из этого не программируется вручную — модель во время обучения сама понимает, когда, как и на что смотреть, и изобретает разные алгоритмы.

В рамках науки об интерпретируемости учёные пытаются понять, как учится трансформер, что именно он понимает и как именно работают отдельные механизмы на основе голов внимания. В значимой степени это лишь теория, которая однако имеет огромные перспективы для применения в практике за счёт получения ответов на вопросы в духе «почему модель ошиблась?» или «соврала ли LLM?».

И вот данная работа — как раз такая, она на стыке оптимизации длинного контекста в LLM и интерпретируемости. Для того, чтобы понять текст дальше, нужно прочитать пост <https://www.group-telegram.com/ua/seeallochnaya.com/1135> с объяснением принципа теста «иголка в стоге сена».

Авторы придумали критерий, по которому научились определять retrieval heads, которые позволяют копировать модели части промпта. Представьте, что у вас есть 5 страниц текста, и вы в рамках ответа на вопрос приводите цитату: для этого мусолите палец, ставите его на нужное место на странице и двигаете вправо как указатель, и вслед за этим записываете ответ. Вот так и работают эти головы, позволяя модели не сбиваться. Но важно это в очень широком круге задач, особенно в тех, где модель обязана следовать за инструкцией в промпте на 20 страниц — ведь если задуматься это тоже задача поиска: «какое правило тут применить?».

Проанализировав разные семейства моделей (Llama 2, Mistral, Qwen), обнаружили, что такие головы занимают ~5% (~50) от примерно тысячи голов в модели. Их прям конкретно смогли выписать: вот эта вот, с таким то номером. Если их начать отключать (занулять, не давать им смотреть на контекст) — то внезапно модели перестают читать контекст и теряются, их качество существенно падает на задаче поиска иголки в стоге сена. Ещё такой же результат наблюдается на решении математических задач с рассуждением (ведь теперь в них нельзя подсмотреть), а вот качество ответов на вопросы, связанные с чистым знанием не меняется (потому что из контекста не нужно ничего выписывать).

Итак, почему это важно для практики? Когда LLM используется для генерации текста, то для всех предыдущих слов считается огромный тензор вещественных чисел, хранящий информацию о том, что было написано (именно в нём головы внимания находят то, что им нужно). Такой KV-cache для модели LLAMA 2 7B для 100к токенов весит 50 гигабайт. Маленькая модель, контекст не то чтобы очень большой (у Google Gemini вон вообще миллион), и ЦЕЛЫХ 50 ГИГОВ.

В этих гигах как раз таки хранится информация для разных наборов голов. И если мы знаем заранее, что нам нужна голова номер 15 в 10-ом слое — то мы можем сохранять только её, а остальное удалять. Конечно, лучше перестраховаться, и брать, скажем, 10-20% от всего множества — но это в 5-10 раз уменьшает потребление памяти, а значит позволяет и существенно ускорить работу, и уменьшить требования к железу.

Очень жду этой фичи из коробки в большинстве фреймворков, реально очень круто.

BY Сиолошная


Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260

Share with your friend now:
group-telegram.com/seeallochnaya/1329

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

Apparently upbeat developments in Russia's discussions with Ukraine helped at least temporarily send investors back into risk assets. Russian President Vladimir Putin said during a meeting with his Belarusian counterpart Alexander Lukashenko that there were "certain positive developments" occurring in the talks with Ukraine, according to a transcript of their meeting. Putin added that discussions were happening "almost on a daily basis." Update March 8, 2022: EFF has clarified that Channels and Groups are not fully encrypted, end-to-end, updated our post to link to Telegram’s FAQ for Cloud and Secret chats, updated to clarify that auto-delete is available for group and channel admins, and added some additional links. And while money initially moved into stocks in the morning, capital moved out of safe-haven assets. The price of the 10-year Treasury note fell Friday, sending its yield up to 2% from a March closing low of 1.73%. The Security Service of Ukraine said in a tweet that it was able to effectively target Russian convoys near Kyiv because of messages sent to an official Telegram bot account called "STOP Russian War." It is unclear who runs the account, although Russia's official Ministry of Foreign Affairs Twitter account promoted the Telegram channel on Saturday and claimed it was operated by "a group of experts & journalists."
from ua


Telegram Сиолошная
FROM American