Forwarded from grokaem себя
🥸 - взрослый дядя собеседующий
👩🏻💻 - я и вы
🥸 32. Как считаете attention? (доп. для какой задачи его предложили? и почему?)
👩🏻💻Attention intro
You compare the query with the keys to get scores/weights for the values (Сравниваем query с keys, чтобы получить веса для обновления values)
- key - относительно кого считаем, исходный текст на языке оригинала
- query - для кого считаем, переведенный текст на таргет языке
- value - на чем мы считаем, снова исходный текст
Вернулись к фразе. Понимаем суть - мы должны сделать такие вектора слов в этом заданном контексте, чтобы каждое слово брало информацию только от важного для себя.
Внутри функция для attention может быть разной. Главное - нам нужны скоры, чтобы обновить наши эмбеддинги.
1. dot product - базовая и самая используемая функция: просто перемножаем)
допом можно делать scaled dot product - это когда вы перед тем, как добавлять softmax, нормализуете на квадратный корень от dimension эмбеддингов. Это нужно для стабилите, когда dimension большой))
2. additive attention он же concat, soft and global (Bahdanau attention) - родоначальник attention, скор считается с помощью дополнительной фидфорвад сети
одна из имплементаций
история от Андрея Карпатова, как ему Bahdanau рассказал, как он придумал attention
3. Luong-Attention он же general, location based и любимый dot product (они все разные)
Немного про различия
🥸 33. Сложность attention? Сравните с сложностью в RNN?
👩🏻💻Computation:
Attention: вычислительная сложность O(n² * d), где n — длина последовательности, d — размерность эмбеддингов.
RNN: O(n * d²), где n — длина последовательности, d — размерность hidden state.
Attention сложнее при больших последовательностях, но имеет преимущество за счет параллелизации вычислений. RNN, напротив, обрабатывает последовательность шаг за шагом, что может быть выгоднее для длинных последовательностей, но из-за проблемы исчезающего градиента теряет в эффективности.
В дополнение, self-attention работает быстрее, когда длина последовательности меньше размерности эмбеддингов. Источник для глубокого погружения — Transformer arXiv.
👩🏻💻 - я и вы
🥸 32. Как считаете attention? (доп. для какой задачи его предложили? и почему?)
👩🏻💻Attention intro
You compare the query with the keys to get scores/weights for the values (Сравниваем query с keys, чтобы получить веса для обновления values)
- key - относительно кого считаем, исходный текст на языке оригинала
- query - для кого считаем, переведенный текст на таргет языке
- value - на чем мы считаем, снова исходный текст
Вернулись к фразе. Понимаем суть - мы должны сделать такие вектора слов в этом заданном контексте, чтобы каждое слово брало информацию только от важного для себя.
Внутри функция для attention может быть разной. Главное - нам нужны скоры, чтобы обновить наши эмбеддинги.
1. dot product - базовая и самая используемая функция: просто перемножаем)
допом можно делать scaled dot product - это когда вы перед тем, как добавлять softmax, нормализуете на квадратный корень от dimension эмбеддингов. Это нужно для стабилите, когда dimension большой))
2. additive attention он же concat, soft and global (Bahdanau attention) - родоначальник attention, скор считается с помощью дополнительной фидфорвад сети
одна из имплементаций
история от Андрея Карпатова, как ему Bahdanau рассказал, как он придумал attention
3. Luong-Attention он же general, location based и любимый dot product (они все разные)
Немного про различия
🥸 33. Сложность attention? Сравните с сложностью в RNN?
👩🏻💻Computation:
Attention: вычислительная сложность O(n² * d), где n — длина последовательности, d — размерность эмбеддингов.
RNN: O(n * d²), где n — длина последовательности, d — размерность hidden state.
Attention сложнее при больших последовательностях, но имеет преимущество за счет параллелизации вычислений. RNN, напротив, обрабатывает последовательность шаг за шагом, что может быть выгоднее для длинных последовательностей, но из-за проблемы исчезающего градиента теряет в эффективности.
В дополнение, self-attention работает быстрее, когда длина последовательности меньше размерности эмбеддингов. Источник для глубокого погружения — Transformer arXiv.
Forwarded from grokaem себя
🥸 36. Объясните маскирование в attention.
👩🏻💻 Если говорить кратко, то в encoder transformer части мы используем только self-attention, в decoder части в первом transformer блоке мы используем также self-attention с маскированием, а вот во втором cross attention.
Мы можем разделить два понимания маскирования. Если например у нас есть паддинги, мы все равно будем их маскировать в attention и encoder. Почему? Если у нас последовательности разной длины и вы используете padding, то в attention части нам не нужно брать 'влияние' padding токенов.
masked softmax implementation
В causal attention мы используем другой вид маскирования, мы маскируем только будущие токены. Почему? Потому что в causal language modelling мы делаем предсказания только на основе предыдущих примеров.
интерактивная визуализация для bert и gpt эмбеддингов
статья про интерпретацию
🥸37. Какая размерность у матриц self-attention?
👩🏻💻Размерность матрицы self-attention зависит от числа входных элементов и параметров модели. Обычно она имеет форму (seq_length, seq_length), где seq_length - это длина последовательности, для которой применяется механизм self-attention. Таким образом, если у нас есть seq_length элементов во входной последовательности, мы имеем квадратную матрицу размером seq_length x seq_length.
Внутри файла и в notion ответы на следующие вопросы:
🥸 34. Сравните RNN и attention. Когда лучше использовать каждый из них?
🥸35. Напишите attention с нуля.
🥸38. В чем разница между BERT и GPT в рамках подсчета attention?
🥸39. Какая размерность у эмбединового слоя в трансформере?
🥸40. Почему эмбеддинги называются контекстуальными? Как это работает?
🥸41. Что используется в трансформере layer norm или batch norm и почему?
🥸42. Зачем в трансформерах PreNorm и PostNorm?
🥸43. Объясните разницу между soft и hard (local/global) attention?
🥸44. Объясните multihead attention.
🥸45. Какие другие виды механизмов внимания вы знаете? На что направлены эти модификации?
🥸46. На сколько усложнится self-attention при увеличении числа голов?
notion
файл в комментариях
👩🏻💻 Если говорить кратко, то в encoder transformer части мы используем только self-attention, в decoder части в первом transformer блоке мы используем также self-attention с маскированием, а вот во втором cross attention.
Мы можем разделить два понимания маскирования. Если например у нас есть паддинги, мы все равно будем их маскировать в attention и encoder. Почему? Если у нас последовательности разной длины и вы используете padding, то в attention части нам не нужно брать 'влияние' padding токенов.
masked softmax implementation
В causal attention мы используем другой вид маскирования, мы маскируем только будущие токены. Почему? Потому что в causal language modelling мы делаем предсказания только на основе предыдущих примеров.
интерактивная визуализация для bert и gpt эмбеддингов
статья про интерпретацию
🥸37. Какая размерность у матриц self-attention?
👩🏻💻Размерность матрицы self-attention зависит от числа входных элементов и параметров модели. Обычно она имеет форму (seq_length, seq_length), где seq_length - это длина последовательности, для которой применяется механизм self-attention. Таким образом, если у нас есть seq_length элементов во входной последовательности, мы имеем квадратную матрицу размером seq_length x seq_length.
Внутри файла и в notion ответы на следующие вопросы:
🥸 34. Сравните RNN и attention. Когда лучше использовать каждый из них?
🥸35. Напишите attention с нуля.
🥸38. В чем разница между BERT и GPT в рамках подсчета attention?
🥸39. Какая размерность у эмбединового слоя в трансформере?
🥸40. Почему эмбеддинги называются контекстуальными? Как это работает?
🥸41. Что используется в трансформере layer norm или batch norm и почему?
🥸42. Зачем в трансформерах PreNorm и PostNorm?
🥸43. Объясните разницу между soft и hard (local/global) attention?
🥸44. Объясните multihead attention.
🥸45. Какие другие виды механизмов внимания вы знаете? На что направлены эти модификации?
🥸46. На сколько усложнится self-attention при увеличении числа голов?
notion
файл в комментариях
Forwarded from Fless (Victor Rogulenko @flesspro)
В продолжение рубрики #casestudies расскажу о структурировании подхода к бренд-маркетингу.
(Бренд-маркетинг -- продвижение компании на широкой аудитории без немедленной конверсии в продажу. Пример -- реклама Кока-колы по ТВ)
Приходит один известный бренд и говорит: Слушай, помоги нам разобраться с бренд-макретингом.
- Стратегию написали.
- Позиционирование бренда сформулировано.
- С performance маркетингом всё ок.
- А вот с бренд-маркетингом до сей поры работали оппортунистически, выбирая проекты по бинарной оценке "круто или зашквар". Теперь же хотим вложить Х00М руб., и так дело не пойдёт.
Вопросы:
- Как должен выглядеть механизм выбора проектов?
- Как оценивать эффективность?
- Какую команду под это направление нанимать?
У меня нет готовых ответов на эти вопросы. Но, как всегда, у меня есть готовые структурированные вопросы 😁 для систематического поиска ответов на эти исходные вопросы. Вот так они выглядят:
(Ради тренировки попробуйте сами набросать структуру вопросов или попросите ЧатГПТ, а потом сравните с моим подходом)
Часть 1. Что мы хотим сообщить?
- Цели маркетинговой коммуникации компании и её связь со стратегией
- Ключевые характеристики компании на основе позиционирования бренда
- Вытекающие из них принципы консистентного развития бренда
Часть 2. Кому и где мы хотим это сообщить?
- Что мы знаем о нашей аудитории: вспомним имеющиеся наработки
- Где можно до неё достучаться, а куда – не стоит соваться?
- Уточнение принципов развития бренда на основе знаний об аудитории
Часть 3. Как оценить отдельные инициативы до их реализации?
- Как можно типизировать инициативы?
- Какие варианты оценки инициатив существуют? В чём их плюсы и минусы?
- Схема принятия решений по инициативам в рамках целей
- Тест-драйв схемы на прошлых и потенциальных инициативах
Часть 4. Как оценить работу пост-фактум?
- Какие варианты оценки эффективности бренд-маркетинга существуют?
- Выбор подходящего набор инструментов оценки эффективности
- Как реализовать эту оценку на практике?
Часть 5. Дальнейшие шаги по бренд-маркетингу?
- Список будущих инициатив (как внешних, так и внутренних)
- Зоны ответственности (для дальнейшей формулировки ролей в команде)
Результат поиска ответов на эти вопросы, вероятно, вы скоро увидите вокруг вас. Где именно, раскрыть не могу.
✈️ Метод McKinsey на примерах: @flesspro
(Бренд-маркетинг -- продвижение компании на широкой аудитории без немедленной конверсии в продажу. Пример -- реклама Кока-колы по ТВ)
Приходит один известный бренд и говорит: Слушай, помоги нам разобраться с бренд-макретингом.
- Стратегию написали.
- Позиционирование бренда сформулировано.
- С performance маркетингом всё ок.
- А вот с бренд-маркетингом до сей поры работали оппортунистически, выбирая проекты по бинарной оценке "круто или зашквар". Теперь же хотим вложить Х00М руб., и так дело не пойдёт.
Вопросы:
- Как должен выглядеть механизм выбора проектов?
- Как оценивать эффективность?
- Какую команду под это направление нанимать?
У меня нет готовых ответов на эти вопросы. Но, как всегда, у меня есть готовые структурированные вопросы 😁 для систематического поиска ответов на эти исходные вопросы. Вот так они выглядят:
(Ради тренировки попробуйте сами набросать структуру вопросов или попросите ЧатГПТ, а потом сравните с моим подходом)
- Цели маркетинговой коммуникации компании и её связь со стратегией
- Ключевые характеристики компании на основе позиционирования бренда
- Вытекающие из них принципы консистентного развития бренда
Часть 2. Кому и где мы хотим это сообщить?
- Что мы знаем о нашей аудитории: вспомним имеющиеся наработки
- Где можно до неё достучаться, а куда – не стоит соваться?
- Уточнение принципов развития бренда на основе знаний об аудитории
Часть 3. Как оценить отдельные инициативы до их реализации?
- Как можно типизировать инициативы?
- Какие варианты оценки инициатив существуют? В чём их плюсы и минусы?
- Схема принятия решений по инициативам в рамках целей
- Тест-драйв схемы на прошлых и потенциальных инициативах
Часть 4. Как оценить работу пост-фактум?
- Какие варианты оценки эффективности бренд-маркетинга существуют?
- Выбор подходящего набор инструментов оценки эффективности
- Как реализовать эту оценку на практике?
Часть 5. Дальнейшие шаги по бренд-маркетингу?
- Список будущих инициатив (как внешних, так и внутренних)
- Зоны ответственности (для дальнейшей формулировки ролей в команде)
Результат поиска ответов на эти вопросы, вероятно, вы скоро увидите вокруг вас. Где именно, раскрыть не могу.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from GoPractice!
Как пройти путь от РМ до СРО. Этапы развития и практические шаги
Путь к продуктовому лидерству совсем не похож на A → B. Он сложнее и куда извилистее.
Работаете в стартапе или корпорации? Отвечаете за фичу или целый продукт? Склонны фокусироваться на персональном вкладе в проект или стремитесь управлять командой? Эти вопросы — и множество других — скрывают за собой разветвления, которые делают каждый путь к топовой продуктовой позиции не слишком похожим на другие.
Но все же этой теме можно придать системный и структурный вид. Именно поэтому мы попросили Геворга Казаряна, Group Product Manager в Adobe, поделиться своим опытом прохождения пути к продуктовому лидерству.
🔗 https://gopractice.ru/skills/from-pm-to-cpo/
Как определять возможности роста своего продукта, вы узнаете в нашем «Симуляторе управления ростом продукта».
В нем вы получите знания и навыки, необходимые для управляемого роста продуктов, что также поможет вам сделать следующий шаг в карьере.
Путь к продуктовому лидерству совсем не похож на A → B. Он сложнее и куда извилистее.
Работаете в стартапе или корпорации? Отвечаете за фичу или целый продукт? Склонны фокусироваться на персональном вкладе в проект или стремитесь управлять командой? Эти вопросы — и множество других — скрывают за собой разветвления, которые делают каждый путь к топовой продуктовой позиции не слишком похожим на другие.
Но все же этой теме можно придать системный и структурный вид. Именно поэтому мы попросили Геворга Казаряна, Group Product Manager в Adobe, поделиться своим опытом прохождения пути к продуктовому лидерству.
🔗 https://gopractice.ru/skills/from-pm-to-cpo/
Как определять возможности роста своего продукта, вы узнаете в нашем «Симуляторе управления ростом продукта».
В нем вы получите знания и навыки, необходимые для управляемого роста продуктов, что также поможет вам сделать следующий шаг в карьере.
GoPractice
ᐈ Как пройти путь от РМ до СРО. Этапы развития и практические шаги
Геворг Казарян (Group Product Manager в Adobe) делится своим опытом прохождения пути к продуктовому лидерству.
Forwarded from Knowledge Accumulator
Direct Preference Optimization: Your Language Model is Secretly a Reward Model [2023] - продолжаем LLM-ликбез
В прошлый раз мы разбирали стандартный RLHF, теперь давайте глянем на самого популярного из конкурентов и наследников, DPO. Авторы статьи говорят про RLHF следующее:
1) Reward model у нас не особо круто работает, особенно вне data distribution, поэтому полноценный её максимизатор будет плохим.
2) Существует ещё и проблема разнообразия, которого при идеальной максимизации не будет.
3) Наши RL методы сами по себе неидеальны и дороги в вычислении и реализации/отладке.
Вместо этого они хотят сформулировать задачу для обучения более простым образом. Давайте посмотрим, что из этого вышло.
Я не погружался в доказательства вывода, изложу своё понимание результата. Авторы замечают, что двухшаговая процедура из обучения Reward Model и затем RL можно переформулировать как одношаговую процедуру обучения на задачу с одной функцией ошибки и без дополнительной Reward Model.
Почему это возможно? Во-первых, в отличие от обычного RL, никаких настоящих наград не существует, а также нет никакого онлайн-взаимодействия со средой. У нас есть только зафиксированный датасет из троек [запрос ; хороший ответ ; плохой ответ].
На таких данных задачу можно формулировать по-разному, но в сущности они будут оптимизировать одно и то же - приближать модель к генерации хороших ответов, отдалять от генерации плохих ответов, при этом накладывая регуляризацию, чтобы модель далеко не убегала от инициализации. Одну из реализаций такой функции ошибки и предложили авторы статьи.
Практического опыта у меня нет, но в статье DPO вроде бы обходит RLHF на задачах. Чуваки в статье про Llama3 пишут, что используют DPO, так что, наверное, метод действительно лучше с учётом простоты реализации.
Замечу, что метод не решает обозначенные мною проблемы в посте про RLHF. Они вытекают из самих данных с человеческой разметкой, которые, во-первых, зафиксированы, а значит, не происходит GAN-подобного обучения, в котором данные пытаются "атаковать" модель в её слабые места и тем самым позволяя ей улучшаться, а, во-вторых, недостаточно велики и разнообразны, чтобы для решения поставленной задачи нужно было обучаться логическому размышлению и построению качественной картины мира.
Наверняка для RLHF/DPO придумали множество модификаций (в том числе всякие конструкции поверх LLM типа CoT), которые дают более крутой результат, но с таким соотношением пространства параметров и объёма данных решить задачу по-нормальному пока что вряд ли получится.
@knowledge_accumulator
В прошлый раз мы разбирали стандартный RLHF, теперь давайте глянем на самого популярного из конкурентов и наследников, DPO. Авторы статьи говорят про RLHF следующее:
1) Reward model у нас не особо круто работает, особенно вне data distribution, поэтому полноценный её максимизатор будет плохим.
2) Существует ещё и проблема разнообразия, которого при идеальной максимизации не будет.
3) Наши RL методы сами по себе неидеальны и дороги в вычислении и реализации/отладке.
Вместо этого они хотят сформулировать задачу для обучения более простым образом. Давайте посмотрим, что из этого вышло.
Я не погружался в доказательства вывода, изложу своё понимание результата. Авторы замечают, что двухшаговая процедура из обучения Reward Model и затем RL можно переформулировать как одношаговую процедуру обучения на задачу с одной функцией ошибки и без дополнительной Reward Model.
Почему это возможно? Во-первых, в отличие от обычного RL, никаких настоящих наград не существует, а также нет никакого онлайн-взаимодействия со средой. У нас есть только зафиксированный датасет из троек [запрос ; хороший ответ ; плохой ответ].
На таких данных задачу можно формулировать по-разному, но в сущности они будут оптимизировать одно и то же - приближать модель к генерации хороших ответов, отдалять от генерации плохих ответов, при этом накладывая регуляризацию, чтобы модель далеко не убегала от инициализации. Одну из реализаций такой функции ошибки и предложили авторы статьи.
Практического опыта у меня нет, но в статье DPO вроде бы обходит RLHF на задачах. Чуваки в статье про Llama3 пишут, что используют DPO, так что, наверное, метод действительно лучше с учётом простоты реализации.
Замечу, что метод не решает обозначенные мною проблемы в посте про RLHF. Они вытекают из самих данных с человеческой разметкой, которые, во-первых, зафиксированы, а значит, не происходит GAN-подобного обучения, в котором данные пытаются "атаковать" модель в её слабые места и тем самым позволяя ей улучшаться, а, во-вторых, недостаточно велики и разнообразны, чтобы для решения поставленной задачи нужно было обучаться логическому размышлению и построению качественной картины мира.
Наверняка для RLHF/DPO придумали множество модификаций (в том числе всякие конструкции поверх LLM типа CoT), которые дают более крутой результат, но с таким соотношением пространства параметров и объёма данных решить задачу по-нормальному пока что вряд ли получится.
@knowledge_accumulator
Forwarded from эйай ньюз
Приношу вам самый сок. Кажется, это самый лучший доклад за сегодня.
За два часа до релиза Llama 3.2 челы выложили семейство открытых моделей Molmo (и нет, это не совпадение):
- 1B
- 7B
- 72B
По качеству на визуальных задачах Molmo выдаёт +- перформанс как Llama 3.2: где-то лучше, где-то хуже, и приближается к GPT-4o.
- Но, пре-трейн модель они делали всего на 700k размеченных парах картинка-текст (PixMo-Cap). В то время как Llama тренили на 6 млрд!
- Использовали в 9000 раз меньше данных, но гораздо более высокого качества.
- Люди не любят печатать, люди любят говорить. Поэтому разметчиков просили не печатать описание картинки, а описывать её ГОЛОСОМ 60-90 секунд. Далее запись автоматически переводили в текст. Это гораздо эффективнее, проще и помогает быстро собрать очень длинные и детальные описания картинок.
- Дополнительно разметчиков просили тыкать точками на объекты, про которые они говорят. Это помогло научить модель связывать пиксели с текстом, выдавая точки на картинке, когда она описывает какой-то объект.
Все это очень сильно подняло качество модели. Это прям крутые идеи.
По архитектуре ничего необычного – transformer с late fusion. То есть токены картинок пропускаются через обучаемый коннектор, а затем кормятся в LLM.
Трейн в два стейджа, ничего не замораживая:
(1) multimodal pre-training для генерации описаний на новом датасете – 700k картинок; (2) supervised fine-tuning на instruction-датасете, который они тоже собрали сами (там и точки на картинках, и документы, прочие задачи) – тут около 1.9 млн картинок (возможно, пересекается с претрейн-датасетом).
Трейн и эвал код и датасет (PixMo) выложат в течение 2 месяцев – я им верю!
Блогпост про модели
Arxiv
@ai_newz
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM