TG Telegram Group & Channel
Machinelearning | United States America (US)
Create: Update:

Архитектура LLM

Что вообще такое эти ваши LLM и чем они отличаются от привычных трансформеров? Давайте разбираться.

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

📝 Разбираемся с генеративностью

Какая часть трансформера умеет в генерацию текста? Правильно, декодер. Собственно, LLM — это просто жирный (с большим количеством параметров) transformer decoder. Или encoder-decoder, но это только у старых моделей, типа T5. Новые GPT-like архитектуры от энкодеров отошли.

Способность же принимать на вход инструкцию обусловлена пайплайном обучения модели, включая специфичные инструкционные данные, а не какими-либо архитектурными модификациями.

Особенность этого пайлайна — после этапа pre-train модели проводят этап alignment, дообучая модель на инструкционных датасетах. В таких датасете каждый сэмпл — это диалог человека с LLM, который может включать в себя системный промпт (как раз-таки инструкцию), сообщения от лица человека и сообщения от лица LLM, зачастую промаркированные на предмет «хорошести» ответа. Сейчас самые популярные инструкционные датасеты — это Nectar и UltraFeedback.

Итого, LLM — это просто здоровенный transformer decoder, дообученный на инструкционном датасете.
Если углубляться в детали, то популярными архитектурными особенностями современных LLM являются:

- Rotary Positional Encoding (RoPE) и его модификации в качестве позиционного кодирования — вот наш пост про это.

Почему? Помогает работать с более длинным контекстом без значимой потери качества.

- RMSNorm вместо LayerNorm для нормализации.

Почему? Работает сопоставимо по качеству, но проще (быстрее) вычислять — а скорость нам важна.

- Sliding Window, Grouped-Query или Multi-Query вместо ванильного Multi-Head Attention:

Почему? Чем меньше параметров, тем быстрее вычислять.

- Может использоваться Mixture-of-Experts, но это скорее частные случаи.

Почему? Увеличиваем количество параметров модели, не увеличивая при этом сложность вычислений (хоть и страдаем по памяти).

P.S.: если вы увидели много незнакомых слов — не переживайте, в следующих постах расскажем про то, как именно работают все эти навороты.

Эти же архитектурный особенности характерны и для негенеративных современных моделек: например, для энкодеров. Так что нельзя сказать, что это что-то LLM-специфичное — скорее архитектурная база любых современных трансформеров.

Forwarded from .ml
Архитектура LLM

Что вообще такое эти ваши LLM и чем они отличаются от привычных трансформеров? Давайте разбираться.

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

📝 Разбираемся с генеративностью

Какая часть трансформера умеет в генерацию текста? Правильно, декодер. Собственно, LLM — это просто жирный (с большим количеством параметров) transformer decoder. Или encoder-decoder, но это только у старых моделей, типа T5. Новые GPT-like архитектуры от энкодеров отошли.

Способность же принимать на вход инструкцию обусловлена пайплайном обучения модели, включая специфичные инструкционные данные, а не какими-либо архитектурными модификациями.

Особенность этого пайлайна — после этапа pre-train модели проводят этап alignment, дообучая модель на инструкционных датасетах. В таких датасете каждый сэмпл — это диалог человека с LLM, который может включать в себя системный промпт (как раз-таки инструкцию), сообщения от лица человека и сообщения от лица LLM, зачастую промаркированные на предмет «хорошести» ответа. Сейчас самые популярные инструкционные датасеты — это Nectar и UltraFeedback.

Итого, LLM — это просто здоровенный transformer decoder, дообученный на инструкционном датасете.
Если углубляться в детали, то популярными архитектурными особенностями современных LLM являются:

- Rotary Positional Encoding (RoPE) и его модификации в качестве позиционного кодирования — вот наш пост про это.

Почему? Помогает работать с более длинным контекстом без значимой потери качества.

- RMSNorm вместо LayerNorm для нормализации.

Почему? Работает сопоставимо по качеству, но проще (быстрее) вычислять — а скорость нам важна.

- Sliding Window, Grouped-Query или Multi-Query вместо ванильного Multi-Head Attention:

Почему? Чем меньше параметров, тем быстрее вычислять.

- Может использоваться Mixture-of-Experts, но это скорее частные случаи.

Почему? Увеличиваем количество параметров модели, не увеличивая при этом сложность вычислений (хоть и страдаем по памяти).

P.S.: если вы увидели много незнакомых слов — не переживайте, в следующих постах расскажем про то, как именно работают все эти навороты.

Эти же архитектурный особенности характерны и для негенеративных современных моделек: например, для энкодеров. Так что нельзя сказать, что это что-то LLM-специфичное — скорее архитектурная база любых современных трансформеров.


>>Click here to continue<<

Machinelearning




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)