Обзор про emergent abilities в языковых моделях
Paper; Twitter
Emergent abilities это когда количественные изменения приводят к качественно новому поведению. Например, модель с 8B параметров вообще не умеет в logical reasoning, а с 68B - умеет.
Рассмотрели их появление для few-shot'а и для augmented prompting’а. Написали, какие способности появляются с увеличением затраченных flops на обучение.
Параграфы 5.1-5.3 интересные:
- дают возможные объяснения эмерджентности
- аргументируют, что и в небольших моделях это может возникнуть, если дольше учить / данные чище / более классный objective
- рисуют accuracy в зависимости от перплексии на WikiText-103 (а не training compute или числа параметров), на котором, впрочем, такой же график с резким скачком качества от случаного к адекватному
Любопытно кстати, после скольки шагов обучения новые способности появляются у больших моделей и появляются ли они в том же порядке, что в Table 1. Но таких графиков нет)
Paper; Twitter
Emergent abilities это когда количественные изменения приводят к качественно новому поведению. Например, модель с 8B параметров вообще не умеет в logical reasoning, а с 68B - умеет.
Рассмотрели их появление для few-shot'а и для augmented prompting’а. Написали, какие способности появляются с увеличением затраченных flops на обучение.
Параграфы 5.1-5.3 интересные:
- дают возможные объяснения эмерджентности
- аргументируют, что и в небольших моделях это может возникнуть, если дольше учить / данные чище / более классный objective
- рисуют accuracy в зависимости от перплексии на WikiText-103 (а не training compute или числа параметров), на котором, впрочем, такой же график с резким скачком качества от случаного к адекватному
Любопытно кстати, после скольки шагов обучения новые способности появляются у больших моделей и появляются ли они в том же порядке, что в Table 1. Но таких графиков нет)
👍6🤯3🔥1
Jeremy Howard (fast.ai) рассказывает, как занял первое место в kaggle соревновании по классификации картинок. Выложил подробные ноутбуки и 6 часов видео про это 👍
twitter thread
twitter thread
Twitter
Jeremy Howard
Are you ready to embark on a deep learning journey? I've just released over 6 hours of videos and the first in a series of notebooks showing the thought process of how I got to #1 in a current Kaggle comp. Follow this 🧵 for updates on the journey! kaggle…
👍6🔥1
Создание диалогов из документов
Ребята из гугла обучили T5 предсказывать по дилогу с замаскированной репликой эту самую реплику. Потом применили эту модель к документам из википедии и получили большой (11М диалогов) датасет хорошего качества, который даже выложили и написали подробную dataset card.
Генерировали диалоги авторегрессивно, то есть по
1. уже сгенерированным вопросам модели
2. первым n предложениям документа (ответами на эти вопросы)
3. следующему ответу (n+1 предложение)
генерируют к нему вопрос.
Получившийся датасет сравнили на разметке асессоров с другими небольшими датасетами. Замерили на нем MRR для ретривера. Везде хорошие результаты 🙂
Интересно было бы посмотреть, насколько такой датасет может помочь в обучении retrieval-based моделей для генерации, но это уже future work)
Paper
Ребята из гугла обучили T5 предсказывать по дилогу с замаскированной репликой эту самую реплику. Потом применили эту модель к документам из википедии и получили большой (11М диалогов) датасет хорошего качества, который даже выложили и написали подробную dataset card.
Генерировали диалоги авторегрессивно, то есть по
1. уже сгенерированным вопросам модели
2. первым n предложениям документа (ответами на эти вопросы)
3. следующему ответу (n+1 предложение)
генерируют к нему вопрос.
Получившийся датасет сравнили на разметке асессоров с другими небольшими датасетами. Замерили на нем MRR для ретривера. Везде хорошие результаты 🙂
Интересно было бы посмотреть, насколько такой датасет может помочь в обучении retrieval-based моделей для генерации, но это уже future work)
Paper
👍3❤1🔥1
Усреднение весов моделей улучшает качество
Статья с ICML 2022 с супер понятным названием:
"Model soups: averaging weights of multiple fine-tuned models improves accuracy without increasing inference time".
Всё, как и написано: усреднили веса, получили профит.
Усреднять лучше не все имеющиеся модели (uniform soup), а только те, которые добавляют качество на валидации, причем пытаться добавлять сначала те, которые имеют лучшее качество (greedy soup). Метрики на тесте выходят лучше, чем у отдельно взятых моделей, а работает так же быстро. Обучать дополнительно ничего не надо, так как все делают hyperparameter search.
Качество, кстати, получается хуже, чем у ансамбля, но ансамбль и инферить в k раз дольше; а тут одна модель.
Статья с ICML 2022 с супер понятным названием:
"Model soups: averaging weights of multiple fine-tuned models improves accuracy without increasing inference time".
Всё, как и написано: усреднили веса, получили профит.
Усреднять лучше не все имеющиеся модели (uniform soup), а только те, которые добавляют качество на валидации, причем пытаться добавлять сначала те, которые имеют лучшее качество (greedy soup). Метрики на тесте выходят лучше, чем у отдельно взятых моделей, а работает так же быстро. Обучать дополнительно ничего не надо, так как все делают hyperparameter search.
Качество, кстати, получается хуже, чем у ансамбля, но ансамбль и инферить в k раз дольше; а тут одна модель.
❤1🔥1
Вторая картинка хорошо визуализирует, почему такое усреднение может работать. Тут кажется важным, что два набора весов находятся около одного и того же минимума. Поэтому, например, усреднять веса моделей, которые были по разному инициализированы, представляется не такой разумной затеей)
Получили профит относительно похожих бейзлайнов: дистилляция ансамбля, SWA (усреднение чекпоинтов вдоль одной траектории обучения), SAM (модифицированный оптимизатор, который ищет wide минимумы функции потерь).
В основном эксперименты были с CV сетками, но и про NLP кое что есть (не делает хуже, иногда немного лучше).
Много классных визуализаций и огромный аппендикс с кучей графиков, даже страшные формулы есть для любителей)
Paper
Получили профит относительно похожих бейзлайнов: дистилляция ансамбля, SWA (усреднение чекпоинтов вдоль одной траектории обучения), SAM (модифицированный оптимизатор, который ищет wide минимумы функции потерь).
В основном эксперименты были с CV сетками, но и про NLP кое что есть (не делает хуже, иногда немного лучше).
Много классных визуализаций и огромный аппендикс с кучей графиков, даже страшные формулы есть для любителей)
Paper
👍2❤1🔥1
Диалоговая модель для Goal-Oriented & Open-Ended разговоров
Исследователи из Microsoft выложили в открытй доступ модели (220M, 770M, 2.7B) и код для их предобучения. Подчеркивают, что модель подходит и для chitchat'а, и для task-oriented режима (за счет добавления внешнего знания)
Предобучаются в 3 стадии:
1. На куче веб документов, чтобы модель научилась базовой генерации текста
2. На обычных диалогах (reddit), чтобы улучшить способности к общению
3. На grounded диалогах, чтобы научить модель использовать внешнюю информацию
Это особенно хорошо улучшило им метрики в low resource сетапе (файнтюн на 50 примерах) для ConvQA и подобных задач.
Разделили оценку качества модели на intrinsic (насколько ответы человечны) и extrinsic (насколько ответы полезны для пользователя). В последнем у асессоров больше согласия, то есть метрика более надежная.
Paper; Blogpost
Исследователи из Microsoft выложили в открытй доступ модели (220M, 770M, 2.7B) и код для их предобучения. Подчеркивают, что модель подходит и для chitchat'а, и для task-oriented режима (за счет добавления внешнего знания)
Предобучаются в 3 стадии:
1. На куче веб документов, чтобы модель научилась базовой генерации текста
2. На обычных диалогах (reddit), чтобы улучшить способности к общению
3. На grounded диалогах, чтобы научить модель использовать внешнюю информацию
Это особенно хорошо улучшило им метрики в low resource сетапе (файнтюн на 50 примерах) для ConvQA и подобных задач.
Разделили оценку качества модели на intrinsic (насколько ответы человечны) и extrinsic (насколько ответы полезны для пользователя). В последнем у асессоров больше согласия, то есть метрика более надежная.
Paper; Blogpost
👍6🤯2🔥1
Приближаем сингулярность
Диалоговая модель для Goal-Oriented & Open-Ended разговоров Исследователи из Microsoft выложили в открытй доступ модели (220M, 770M, 2.7B) и код для их предобучения. Подчеркивают, что модель подходит и для chitchat'а, и для task-oriented режима (за счет добавления…
Созданный учеными искусственный интеллект выходит из под контроля
Если вам захотелось заценить GODEL 2.7B модель, то я как раз поднял с ней демо на gradio : https://38340.gradio.app (она уже не работает, но если вам очень надо, пишите в личку)
Судя по примеру на скриншоте, присутствуют некоторые проблемы с конторлем через внешнюю инфу. Очевидный знак того, что AGI будет не остановить и он захватит мир (нет :))
Если вам захотелось заценить GODEL 2.7B модель, то я как раз поднял с ней демо на gradio : https://38340.gradio.app (она уже не работает, но если вам очень надо, пишите в личку)
Судя по примеру на скриншоте, присутствуют некоторые проблемы с конторлем через внешнюю инфу. Очевидный знак того, что AGI будет не остановить и он захватит мир (нет :))
🤯4👍2❤1
Как генерировать более фактологический текст?
Factuality Enhanced Language Models for Open-Ended Text Generation
Есть проблема, что модель начинает выдумывать несуществующие факты. В статье предложили:
- автоматический способ оценки этого, провалидировали людьми и получили хорошую корреляцию
- метод генерации и дообучения, которые позволяют найти более хороший трейдофф между фактологичностью (factuality) и качеством (generation quality, в которую входят fluency, diversity, etc) ответа
Некоторые хайлайты и мысли:
- Жадная генерация относительно семплинга имеет бОльшую factuality, но меньшую generation quality
- Чтобы что то улучшить, хорошо бы уметь это замерять 🙂
- NLI и NER модели могут быть полезны для оценки groundness моделей; особенно если ground truth внешняя информация известна
- “Начинать интересно, продолжать уместно” - в начале генерации температуру / top-p можно делать побольше, а в течение генерации уменьшать. Так ответы будут начинаться разнообразно, но вторая половина будет не такой случайной. В итоге сохраним factuality и улучшим generation quality
- Хорошего датасета недостаточно: обычное дообучение на Википедии не улучшило фактологичность, а их метод - улучшил
- Идея по улучшению фактологичности. Разбить словарь на две части: factuality-related токены (например числа, именованные сущности) и остальное. Во время обучения лосс на первой части домнодать на коэффициент больше единицы. Во время генерации смешивать жадную вероятность над первой группой токенов и семплинг над второй. Как думаете, будет работать?)
Paper
Factuality Enhanced Language Models for Open-Ended Text Generation
Есть проблема, что модель начинает выдумывать несуществующие факты. В статье предложили:
- автоматический способ оценки этого, провалидировали людьми и получили хорошую корреляцию
- метод генерации и дообучения, которые позволяют найти более хороший трейдофф между фактологичностью (factuality) и качеством (generation quality, в которую входят fluency, diversity, etc) ответа
Некоторые хайлайты и мысли:
- Жадная генерация относительно семплинга имеет бОльшую factuality, но меньшую generation quality
- Чтобы что то улучшить, хорошо бы уметь это замерять 🙂
- NLI и NER модели могут быть полезны для оценки groundness моделей; особенно если ground truth внешняя информация известна
- “Начинать интересно, продолжать уместно” - в начале генерации температуру / top-p можно делать побольше, а в течение генерации уменьшать. Так ответы будут начинаться разнообразно, но вторая половина будет не такой случайной. В итоге сохраним factuality и улучшим generation quality
- Хорошего датасета недостаточно: обычное дообучение на Википедии не улучшило фактологичность, а их метод - улучшил
- Идея по улучшению фактологичности. Разбить словарь на две части: factuality-related токены (например числа, именованные сущности) и остальное. Во время обучения лосс на первой части домнодать на коэффициент больше единицы. Во время генерации смешивать жадную вероятность над первой группой токенов и семплинг над второй. Как думаете, будет работать?)
Paper
👍5🤔3🤯2
Retrieval-based NLP
Классный пост от Stanford AI Lab. Приводят аргументы, почему retrieval-based подход в NLP это круто. Ниже коротко их тезисы.
Проблемы текущих моделей:
- Гигантские - тяжело, долго и дорого обучать и применять
- Сложно обновлять их знания, требуется дорогостоящее дообучение (модели же гигантские)
- Модель - black box. Неясно, какой документ повлиял на её ответ. А может она вообще сгенерировала ложный факт
Как retrieval-based подход чинит это:
- Разъединяет способность манипулировать (понимать и использовать) текстом и запоминание фактов. Хранение фактов в индексе, а не неявно в весах, позволяет с меньшим числом параметров получать то же качество. Кстати, вот цитата из недавнего поста от DeepMind про их retrieval-based модель RETRO: “7.5 billion parameter RETRO model outperforms the 175 billion parameter Jurassic-1 on 10 out of 16 datasets and outperforms the 280B Gopher on 9 out of 16 datasets”
- Адаптировать модель к новым фактам - просто обновить индекс
- Можно видеть, на основе какого документа был сгенерирован ответ
В посте нет про проблемы retrieval-based NLP, поэтому накину)
- Нужна не только способность манипулировать текстом, но и способность искать информацию в индексе. То есть, вместо одной модели получается как минимум две
- Как понять, что документ был использован, а не проигнорирован? Проблема интерпретации все ещё остается
- Ну и главная проблема для практиков: пока нет способа завести на любой задаче из коробки и получить профит. Значит, есть над чем работать)
Классный пост от Stanford AI Lab. Приводят аргументы, почему retrieval-based подход в NLP это круто. Ниже коротко их тезисы.
Проблемы текущих моделей:
- Гигантские - тяжело, долго и дорого обучать и применять
- Сложно обновлять их знания, требуется дорогостоящее дообучение (модели же гигантские)
- Модель - black box. Неясно, какой документ повлиял на её ответ. А может она вообще сгенерировала ложный факт
Как retrieval-based подход чинит это:
- Разъединяет способность манипулировать (понимать и использовать) текстом и запоминание фактов. Хранение фактов в индексе, а не неявно в весах, позволяет с меньшим числом параметров получать то же качество. Кстати, вот цитата из недавнего поста от DeepMind про их retrieval-based модель RETRO: “7.5 billion parameter RETRO model outperforms the 175 billion parameter Jurassic-1 on 10 out of 16 datasets and outperforms the 280B Gopher on 9 out of 16 datasets”
- Адаптировать модель к новым фактам - просто обновить индекс
- Можно видеть, на основе какого документа был сгенерирован ответ
В посте нет про проблемы retrieval-based NLP, поэтому накину)
- Нужна не только способность манипулировать текстом, но и способность искать информацию в индексе. То есть, вместо одной модели получается как минимум две
- Как понять, что документ был использован, а не проигнорирован? Проблема интерпретации все ещё остается
- Ну и главная проблема для практиков: пока нет способа завести на любой задаче из коробки и получить профит. Значит, есть над чем работать)
👍4🤔2🔥1
Наткнулся на удобную тулзу, чтобы понимать, что делает конерктная bash команда: https://explainshell.com/
Прикрепил пару собственных юскейсов. Выглядит хорошо и удобна в использовании :)
Прикрепил пару собственных юскейсов. Выглядит хорошо и удобна в использовании :)
Explainshell
explainshell.com - match command-line arguments to their help text
👍8
Улучшение диалоговой модели за счет фидбека пользователей
Вместе с нашумевшей статьей про BlenderBot 3, чуваки из $<&^ %@ опубликовали пару сопутствующих.
В этой они исследуют, как можно получать профит от различного фидбека пользователей:
- бинарный лейбл на ответ модели (понравилось / не понравилось)
- текстовый фидбек в свободной форме на плохой ответ
- исправление одного из
1. запрос в поиск
2. выбор предложений из результатов поиска
3. финальный ответ
Сравнили разные подходы к дообучению моделей для каждого из типов фидбека. Для бинарных лейблов, например, пробовали:
- generate моделью + rerank обученным классификатором
- нагенерили моделью n кандидитов, проскорили их классификатором, и сделали supervised обучение генератора на топ-1 ответах модели
- DIRECTOR - 2 головы у трансформера (LM + classification) со смешиванием вероятностей
Для реальных приложений это самый релевантный кейс. Жаль, что не добавили такой бейзлайн: обычный MLE на позитивных ответах и, опционально, unlikelihood training на негативных.
На скрине human evaluation. Рекомендую посмотреть twitter пост с выводами.
Paper
Вместе с нашумевшей статьей про BlenderBot 3, чуваки из $<&^ %@ опубликовали пару сопутствующих.
В этой они исследуют, как можно получать профит от различного фидбека пользователей:
- бинарный лейбл на ответ модели (понравилось / не понравилось)
- текстовый фидбек в свободной форме на плохой ответ
- исправление одного из
1. запрос в поиск
2. выбор предложений из результатов поиска
3. финальный ответ
Сравнили разные подходы к дообучению моделей для каждого из типов фидбека. Для бинарных лейблов, например, пробовали:
- generate моделью + rerank обученным классификатором
- нагенерили моделью n кандидитов, проскорили их классификатором, и сделали supervised обучение генератора на топ-1 ответах модели
- DIRECTOR - 2 головы у трансформера (LM + classification) со смешиванием вероятностей
Для реальных приложений это самый релевантный кейс. Жаль, что не добавили такой бейзлайн: обычный MLE на позитивных ответах и, опционально, unlikelihood training на негативных.
На скрине human evaluation. Рекомендую посмотреть twitter пост с выводами.
Paper
👍8🔥4❤1
Google объединил self-supervised NLP подходы и получил профит на 50 задачах
Обычно GPT-like (только декодер) модели обучаются на Language Modeling (LM), энкодер-декодер - на Span Corruption (SC). Первая задача больше про экстраполяцию, вторая - про интерполяцию. Поэтому GPT умеет во few-shot и в целом лучше для генерации текстов, а условный T5 хорош впонимании классификации текста.
Ученые из гугла решили обучить модель, которая бы хорошо себя показывала на всех задачах (генерация, классификация, retrieval, QA, …) и в разных постановках (supervised дообучение, zero/few - shot).
Обучали на миксе трех лоссов:
- S-denoiser - LM-like
- R-denoiser - SC
- X-denoiser - extreme SC: спаны длиннее и/или их больше
В итоге дообучение модели с таким претрейном дает им профит на большинстве из 50+ различных задач и постановок. То есть они двигают Парето границу качества, улучшая его по нескольким направлениям.
Ещё из интересного:
- Mode switching: обучали, добавляя токен задачи [R], [S] или [X]; на дообучении помогает подставлять соответствующий токен
- X-denoiser помогает, но его одного недостаточно (и много чего ещё в ablations)
- Их модель UL2 20B получает профит от Chain of Thought промптинга. Это эмерджентное свойство не наблюдалось у моделей средних размеров (да, 20B - средний размер :) )
- Дают soft advice: используйте энкодер-декодер архитектуру (разделение весов); похуже: только декодер, но с bidirectional attention на префикс; ещё хуже - vanilla decoder only; encoder only - deprecated
- Веса UL2 20B в открытом доступе
Paper; Blogpost
Подписывайтесь: https://t.iss.one/building_singularity. Здесь больше интересных постов про AI :)
Обычно GPT-like (только декодер) модели обучаются на Language Modeling (LM), энкодер-декодер - на Span Corruption (SC). Первая задача больше про экстраполяцию, вторая - про интерполяцию. Поэтому GPT умеет во few-shot и в целом лучше для генерации текстов, а условный T5 хорош в
Ученые из гугла решили обучить модель, которая бы хорошо себя показывала на всех задачах (генерация, классификация, retrieval, QA, …) и в разных постановках (supervised дообучение, zero/few - shot).
Обучали на миксе трех лоссов:
- S-denoiser - LM-like
- R-denoiser - SC
- X-denoiser - extreme SC: спаны длиннее и/или их больше
В итоге дообучение модели с таким претрейном дает им профит на большинстве из 50+ различных задач и постановок. То есть они двигают Парето границу качества, улучшая его по нескольким направлениям.
Ещё из интересного:
- Mode switching: обучали, добавляя токен задачи [R], [S] или [X]; на дообучении помогает подставлять соответствующий токен
- X-denoiser помогает, но его одного недостаточно (и много чего ещё в ablations)
- Их модель UL2 20B получает профит от Chain of Thought промптинга. Это эмерджентное свойство не наблюдалось у моделей средних размеров (да, 20B - средний размер :) )
- Дают soft advice: используйте энкодер-декодер архитектуру (разделение весов); похуже: только декодер, но с bidirectional attention на префикс; ещё хуже - vanilla decoder only; encoder only - deprecated
- Веса UL2 20B в открытом доступе
Paper; Blogpost
Подписывайтесь: https://t.iss.one/building_singularity. Здесь больше интересных постов про AI :)
👍5🔥3❤1