PMI-Masking Principled Masking of Correlated Spans
Livine et al, [AI21]
arxiv.org/abs/2010.01825
Обычно в MLM мы маскируем все токены с одинаковой вероятностью. Это, вместе с BPE-токенизацией может приводить к очень простым примерам, которые модель быстро выучивает. Нарпимер в тексте "To approximate the matrix, we use the eigenvector corresponding to its largest e-mask-val-ue" одного слова "e-mask-val-ue" достаточно чтобы предсказать "gen". Маскирование целых слов (WWM) помогает случаям длинных слов, но принципиально похожие кейсы могут быть и с целыми словами.
Авторы статьи предлагают маскировать токены основываясь на их взаимной информации — PMI = p(ab) / (p(a) p(b)). Такое маскирование позволяет тренировать MLM гораздо быстрее (в смысле downstream performance) и даже иногда получать чуть-чуть лучшие результаты после сходимости. Интересно, что вроде бы на больших датасетах ускорение от PMI-masking проявлено сильнее. Выглядит полезно, в особенности в ситуациях, когда у вас ограничены вычислительные мощности (т.е. когда вы не OpenAI).
Livine et al, [AI21]
arxiv.org/abs/2010.01825
Обычно в MLM мы маскируем все токены с одинаковой вероятностью. Это, вместе с BPE-токенизацией может приводить к очень простым примерам, которые модель быстро выучивает. Нарпимер в тексте "To approximate the matrix, we use the eigenvector corresponding to its largest e-mask-val-ue" одного слова "e-mask-val-ue" достаточно чтобы предсказать "gen". Маскирование целых слов (WWM) помогает случаям длинных слов, но принципиально похожие кейсы могут быть и с целыми словами.
Авторы статьи предлагают маскировать токены основываясь на их взаимной информации — PMI = p(ab) / (p(a) p(b)). Такое маскирование позволяет тренировать MLM гораздо быстрее (в смысле downstream performance) и даже иногда получать чуть-чуть лучшие результаты после сходимости. Интересно, что вроде бы на больших датасетах ускорение от PMI-masking проявлено сильнее. Выглядит полезно, в особенности в ситуациях, когда у вас ограничены вычислительные мощности (т.е. когда вы не OpenAI).
arXiv DOOM - это то, как я чувствую себя так каждое утро. Кстати если вы не читали бомбёжку ЛеКуна насчет реджекта статей - рекомендую, там есть разумное зерно.
Forwarded from Мишин Лернинг 🇺🇦🇮🇱
👾 arXiv DOOM: BFG1000 Rejected
Шел 2021 год. На arXiv каждый день появлялись новые статьи! Скоро их станет слишком много! Экспоненциально много!
Вы боец спецподразделения ДСР: Двойного Слепого Рецензирования!
Вам позволено бороться с сотней самых последних статей в категории cs. CV!
Главное зареджектить новый пейпер Яна ЛеКуна!
👹arXiv DOOM Играй в браузере!
Шел 2021 год. На arXiv каждый день появлялись новые статьи! Скоро их станет слишком много! Экспоненциально много!
Вы боец спецподразделения ДСР: Двойного Слепого Рецензирования!
Вам позволено бороться с сотней самых последних статей в категории cs. CV!
Главное зареджектить новый пейпер Яна ЛеКуна!
👹arXiv DOOM Играй в браузере!
Multitask Prompted Training Enables Zero-Shot Task Generalization
Sanh et al [BigScience]
arxiv.org/abs/2110.08207
Новая итерация на promt engineering и тренировку с промтами. Авторы предлагают взять большую версию Т5 (11B параметров) и зафайнтюнить её на большом числе supervised датасетов с промтами, описывающими задачу.
Например, для задачи QA это может выглядить так: I know that the answer to [вопрос] is in [контекст]. Can you tell me what it is?
Всего использовали 12 различных задач, 62 датасета. На каждый датасет было порядка 8 промтов. Часть задач отложили на валидацию (например NLI задачи и coreference). При файнтюнинге учили модель генерировать ответы авторегрессионно, аналогично тому, как делали в Т5. Таким образом получается что мы всегда используем кросс-энтропию по словарю и нам не нужно несколько голов, как в классическом multitask-сетапе.
Результаты:
1. модель заметно превосходит GPT-3 на 9 из 11 датасетов в zero-shot режиме.
1. использование одного промта очень сильно увеличивает zero-shot качество по сравнению с тренировкой без промтов
1. использование нескольких промтов в среднем работает лучше чем использование одного (чуть-чуть противоречит предыдущим результатам)
1. использование большего числа датасетов для обучения улучшает среднее zero-shot качество, но не уменьшает дисперсию результатов внутри одного датасета
Модель доступна в 🤗 под именем bigscience/T0pp и у неё очень хорошая model card. Посмотреть на датасеты с промтами (~2000 различных промтов) можно тут. Вы также можете помочь проекту законтрибьютив свои промты.
Sanh et al [BigScience]
arxiv.org/abs/2110.08207
Новая итерация на promt engineering и тренировку с промтами. Авторы предлагают взять большую версию Т5 (11B параметров) и зафайнтюнить её на большом числе supervised датасетов с промтами, описывающими задачу.
Например, для задачи QA это может выглядить так: I know that the answer to [вопрос] is in [контекст]. Can you tell me what it is?
Всего использовали 12 различных задач, 62 датасета. На каждый датасет было порядка 8 промтов. Часть задач отложили на валидацию (например NLI задачи и coreference). При файнтюнинге учили модель генерировать ответы авторегрессионно, аналогично тому, как делали в Т5. Таким образом получается что мы всегда используем кросс-энтропию по словарю и нам не нужно несколько голов, как в классическом multitask-сетапе.
Результаты:
1. модель заметно превосходит GPT-3 на 9 из 11 датасетов в zero-shot режиме.
1. использование одного промта очень сильно увеличивает zero-shot качество по сравнению с тренировкой без промтов
1. использование нескольких промтов в среднем работает лучше чем использование одного (чуть-чуть противоречит предыдущим результатам)
1. использование большего числа датасетов для обучения улучшает среднее zero-shot качество, но не уменьшает дисперсию результатов внутри одного датасета
Модель доступна в 🤗 под именем bigscience/T0pp и у неё очень хорошая model card. Посмотреть на датасеты с промтами (~2000 различных промтов) можно тут. Вы также можете помочь проекту законтрибьютив свои промты.
huggingface.co
bigscience/T0pp · Hugging Face
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
Нужно больше T0. Сегодня обсуждали эту статью на reading group в лабе, думаю слайды могут быть полезны.
Также можно поиграться с моделью по этой ссылке: https://huggingface.co/spaces/akhaliq/T0pp
Также можно поиграться с моделью по этой ссылке: https://huggingface.co/spaces/akhaliq/T0pp
Google Docs
T0
Multitask Prompted Training Enables Zero-Shot Task Generalization Sanh et al. [BigScience]
И несколько примеров работы модели. Я был скептичен, но T0pp показала себя на удивление хорошо.
UPD: извиняюсь за такое количество уведомлений одновременно, не ожидал что все скриншоты пошлются как разные сообщения
UPD: извиняюсь за такое количество уведомлений одновременно, не ожидал что все скриншоты пошлются как разные сообщения
Тут подъехала довольно неприятная, но ожидаемая новость — Телеграм начинает показывать рекламу в каналах с более чем 1000 человек. Авторы каналов не могут выключить показ этой рекламы или повлиять на её содержание какими-то понятными образами. Говорят что реклама будет ориентироваться на тематику каналов, но посмотрим насколько хорошей будет имплементация.
Мне очень не нравится что в этом канале будет появляться контент, который я не контролирую. Отличить эти посты от моих можно будет по маленькой плашке "sponsored" в правом нижнем углу.
Мне очень не нравится что в этом канале будет появляться контент, который я не контролирую. Отличить эти посты от моих можно будет по маленькой плашке "sponsored" в правом нижнем углу.
Meduza
Павел Дуров заявил о запуске официальной рекламы в Telegram
Скоро в телеграм-каналах появятся рекламные сообщения, которые будет размещать администрация мессенджера. Об этом рассказал создатель Telegram Павел Дуров.
DeepLearning.ai выпустили новый курс в Natural Language Processing Specialization, рассказывающий про трансформеры (да, каким-то обраозм трансформеров там до сих пор не было).
Я проглядел его по диагонали и курс выглядит довольно неплохо. Есть домашки по машинному переводу, суммаризации, QA и чатботам. На последней неделе даже проходят reformer (длинный трансформер работающий через LSH-attention). Если кто-то решит пройти, буду рад если поделитесь своими впечатленями в чате.
UPD: Галя, отмена! В чате обратили внимание, что в отзывах говорят что курс поверностный и в нём недостаточно матана, чтобы понять как работают трансформеры.
Я проглядел его по диагонали и курс выглядит довольно неплохо. Есть домашки по машинному переводу, суммаризации, QA и чатботам. На последней неделе даже проходят reformer (длинный трансформер работающий через LSH-attention). Если кто-то решит пройти, буду рад если поделитесь своими впечатленями в чате.
UPD: Галя, отмена! В чате обратили внимание, что в отзывах говорят что курс поверностный и в нём недостаточно матана, чтобы понять как работают трансформеры.
Coursera
Natural Language Processing with Attention Models
Offered by DeepLearning.AI. In Course 4 of the Natural ... Enroll for free.
Forwarded from Мишин Лернинг 🇺🇦🇮🇱
This media is not supported in your browser
VIEW IN TELEGRAM
🤖🐶 Boston Dynamics сделали робото-cover на клип The Rolling Stones в честь 40-летия выхода альбома Tattoo You 🔊
Fast Model Editing at Scale
Mitchell et al., [Stanford]
Представьте себе, что вы ClosedAI, большая суперкорпорация по тренировке языковых моделей. Вы скачиваете весь интернет и тренируете ваш GPT-42, тратя миллиарды долларов на электричество. После чего вы спрашиваете у модели "Who is the prime minister of the UK?" и она отвечает вам "Theresa May". Это грустный, но релеалистичный сценарий.
Менять какие-то факты в классических knowledge graphs легко — меняете ссылку с сущности UK prime minister на другого человека. Но в нейросетках это нетривиальная задача. Если вы просто зафайнтюните модель на одном примере, модель просто переобучится и например всё ещё будет отвечать "Theresa May" на вопрос "Who is the UK PM?". Ещё модель может изменить свои ответы на вопросы, которые вообще с этим не связаны.
Исследователи из Стенфорда предлагают натренировать нейросеть, которая будет модифицировать градиенты файнтюнинга таким образом, чтобы модель действительно апдейтила своё знание — не влияя на несвязанные с этим вопросы, но изменяя ответ для всех связанных. Однако возникает проблема, что если у вас в модели 10B параметров, то даже линейный слой, для их модицикации будет 100B.
Авторы решают это тем, что представляют градиент параметров через downstream gradient слоёв. Если вы помните бэкпроп, то градиент в линейном слое равен X.T @ dL/d(out). Где dL/d(out) — это downstream gradient размера hidden, что сильно меньше самого градиента размера hidden, hidden. Так как X.T мы знаем, то достаточно модифицировать dL/d(out). По-моему гениальное решение, я год назад занимался похожим проектом и не думаю, что когда-нибудь додумался бы до этого.
Этот трюк позволяет использовать подход даже для очень больших моделей, таких как T5-XXL 10B. При сравнении с альтернативными подходами, этот метод показывает себя лучше и в смысле генерализации на перефразирования вопроса и в смысле сохранения ответов на несвязанные вопросы.
Mitchell et al., [Stanford]
Представьте себе, что вы ClosedAI, большая суперкорпорация по тренировке языковых моделей. Вы скачиваете весь интернет и тренируете ваш GPT-42, тратя миллиарды долларов на электричество. После чего вы спрашиваете у модели "Who is the prime minister of the UK?" и она отвечает вам "Theresa May". Это грустный, но релеалистичный сценарий.
Менять какие-то факты в классических knowledge graphs легко — меняете ссылку с сущности UK prime minister на другого человека. Но в нейросетках это нетривиальная задача. Если вы просто зафайнтюните модель на одном примере, модель просто переобучится и например всё ещё будет отвечать "Theresa May" на вопрос "Who is the UK PM?". Ещё модель может изменить свои ответы на вопросы, которые вообще с этим не связаны.
Исследователи из Стенфорда предлагают натренировать нейросеть, которая будет модифицировать градиенты файнтюнинга таким образом, чтобы модель действительно апдейтила своё знание — не влияя на несвязанные с этим вопросы, но изменяя ответ для всех связанных. Однако возникает проблема, что если у вас в модели 10B параметров, то даже линейный слой, для их модицикации будет 100B.
Авторы решают это тем, что представляют градиент параметров через downstream gradient слоёв. Если вы помните бэкпроп, то градиент в линейном слое равен X.T @ dL/d(out). Где dL/d(out) — это downstream gradient размера hidden, что сильно меньше самого градиента размера hidden, hidden. Так как X.T мы знаем, то достаточно модифицировать dL/d(out). По-моему гениальное решение, я год назад занимался похожим проектом и не думаю, что когда-нибудь додумался бы до этого.
Этот трюк позволяет использовать подход даже для очень больших моделей, таких как T5-XXL 10B. При сравнении с альтернативными подходами, этот метод показывает себя лучше и в смысле генерализации на перефразирования вопроса и в смысле сохранения ответов на несвязанные вопросы.
Тут говорят, что Microsoft теперь тоже даёт API к GPT-3 через Azure. Называется это OpenAI Service. По факту он всё так же закрыт как и API от OpenAI, так как invintation only, но может быть будут более бодро раздавать (всё ещё жду свой GPT-3 токен, который запросил больше года назад).
Согласно официальному FAQ, разница с OpenAI такова: OpenAI Service brings together OpenAI API and Azure enterprise-level security, compliance, and regional availability (то есть для нормальных людей никакой).
За наводку спасибо @addmeto
Согласно официальному FAQ, разница с OpenAI такова: OpenAI Service brings together OpenAI API and Azure enterprise-level security, compliance, and regional availability (то есть для нормальных людей никакой).
За наводку спасибо @addmeto
Microsoft
Azure OpenAI in Foundry Models | Microsoft Azure
Access and fine-tune the latest AI reasoning and multimodal models, integrate AI agents, and deploy secure, enterprise-ready generative AI solutions.