Обзор про 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
"Stable Diffusion" from NLP world
CarperAI - лаба внутри EleutherAI; проект, связанный с чуваками, которые релизили Stable Diffusion.
Так вот, эти CarperAI анонсировали, что в скором времени выложат в открытый доступ обученную ими Instruct-GPT. В статье от OpenAI генерации из 1.3B Instruct-GPT нравятся людям больше, чем из 175B GPT-3. Поэтому CarperAI выбрали этот метод дообучения (RL на фидбек людей).
К тому же они хотят её сделать "chinchilla-optimal": в DeepMind заметили, что модели часто обучаются на недостаточном количестве примеров относительно их огромного размера. И увеличение обучающего датасета помогло их 70B модели выиграть на разных бенчмарках у моделей в 175B, 280B и 530B параметров. Короче, обучать надо дольше)
В анонсе они сравнивают свой будущий релиз с релизом Stable Diffusion, и тоже надеются на вклад сообщества. Говорят, что нехорошо такие классные модели прятать за API, надо давать их людям. Доступная модель (это будет ещё и от её размера зависеть, кстати) + креативность большого количества людей = Net Positive
Интересно посмотреть, что из этого получится)
Анонс в твиттере
CarperAI - лаба внутри EleutherAI; проект, связанный с чуваками, которые релизили Stable Diffusion.
Так вот, эти CarperAI анонсировали, что в скором времени выложат в открытый доступ обученную ими Instruct-GPT. В статье от OpenAI генерации из 1.3B Instruct-GPT нравятся людям больше, чем из 175B GPT-3. Поэтому CarperAI выбрали этот метод дообучения (RL на фидбек людей).
К тому же они хотят её сделать "chinchilla-optimal": в DeepMind заметили, что модели часто обучаются на недостаточном количестве примеров относительно их огромного размера. И увеличение обучающего датасета помогло их 70B модели выиграть на разных бенчмарках у моделей в 175B, 280B и 530B параметров. Короче, обучать надо дольше)
В анонсе они сравнивают свой будущий релиз с релизом Stable Diffusion, и тоже надеются на вклад сообщества. Говорят, что нехорошо такие классные модели прятать за API, надо давать их людям. Доступная модель (это будет ещё и от её размера зависеть, кстати) + креативность большого количества людей = Net Positive
Интересно посмотреть, что из этого получится)
Анонс в твиттере
🔥9👍4❤1
Как работает In-Context Learning (ICL)?
Интересный пост от Stanford AI Lab: https://ai.stanford.edu/blog/understanding-incontext. Они наводят теории для понимания ICL, показывают её состоятельность на синтетическом и реальных датасетах.
ICL это когда модель выполняет поставленную задачу (классификация, суммаризация, ...) без дополнительного обучения, то есть без обновления параметров. Это эмерджентное свойство обычно наблюдается у гигантских моделей после большого претрейна.
Авторы предлагают рассмотреть ICL как байсовский вывод латентной переменной (концепта), обуславливаясь на промпт, который делает возможным решение поставленной задачи. Этот нывык модель приобретает за счет того, что тексты в обущающем датасете связные и "держать у себя в голове" некий порождающий концепт оказывается полезным.
Они составили небольшой синтетический датасет, в котором их предположение верно (тексты определяются концептами, как на рисунке 1), обучили на нем трансформер и lstm, ICL возник в обоих случаях.
Далее, анализируя качество ICL классификации на реальных датасетах, они выделяют 4 аспекта:
- распределение x-ов
- распределение y-ов
- связь между x и y (является ли этот ответ y верным для данного x)
- формат
Из неожиданных выводов: оказалось, что связь между x и y не критична. То есть в промпте можно для x выбирать случайный y и от этого просадка в качестве будет небольшой (рисунок 2). Но важно показать модели то, как выглядят входы и какие существуют метки ответов. На языке их теории: модель робастна к шуму и может выводить нужный концепт из достаточно сильного сигнала из распределений отдельно x, отдельно y, и формата; все 4 аспекта излишни.
Интересно, если обучить относительно небольшую модель на синтетическом датасете, который способствует возникновению ICL, а потом дообучить на реальных данных, можно ли добиться того, что и в небольших моделях ICL будет хорошо работать?
Интересный пост от Stanford AI Lab: https://ai.stanford.edu/blog/understanding-incontext. Они наводят теории для понимания ICL, показывают её состоятельность на синтетическом и реальных датасетах.
ICL это когда модель выполняет поставленную задачу (классификация, суммаризация, ...) без дополнительного обучения, то есть без обновления параметров. Это эмерджентное свойство обычно наблюдается у гигантских моделей после большого претрейна.
Авторы предлагают рассмотреть ICL как байсовский вывод латентной переменной (концепта), обуславливаясь на промпт, который делает возможным решение поставленной задачи. Этот нывык модель приобретает за счет того, что тексты в обущающем датасете связные и "держать у себя в голове" некий порождающий концепт оказывается полезным.
Они составили небольшой синтетический датасет, в котором их предположение верно (тексты определяются концептами, как на рисунке 1), обучили на нем трансформер и lstm, ICL возник в обоих случаях.
Далее, анализируя качество ICL классификации на реальных датасетах, они выделяют 4 аспекта:
- распределение x-ов
- распределение y-ов
- связь между x и y (является ли этот ответ y верным для данного x)
- формат
Из неожиданных выводов: оказалось, что связь между x и y не критична. То есть в промпте можно для x выбирать случайный y и от этого просадка в качестве будет небольшой (рисунок 2). Но важно показать модели то, как выглядят входы и какие существуют метки ответов. На языке их теории: модель робастна к шуму и может выводить нужный концепт из достаточно сильного сигнала из распределений отдельно x, отдельно y, и формата; все 4 аспекта излишни.
Интересно, если обучить относительно небольшую модель на синтетическом датасете, который способствует возникновению ICL, а потом дообучить на реальных данных, можно ли добиться того, что и в небольших моделях ICL будет хорошо работать?
🔥7👍3🤔1