DL in NLP
12.5K subscribers
547 photos
13 videos
27 files
1.1K links
Новости и обзоры статей на тему обработки естественного языка, нейросетей и всего такого.

Связь: @dropout05 (рекламы нет)
Download Telegram
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 различных промтов) можно тут. Вы также можете помочь проекту законтрибьютив свои промты.
Пример хотдог-детектора на Т0. 28 секунд на инференс на 6-ядерном Core i7.
Нужно больше T0. Сегодня обсуждали эту статью на reading group в лабе, думаю слайды могут быть полезны.

Также можно поиграться с моделью по этой ссылке: https://huggingface.co/spaces/akhaliq/T0pp
И несколько примеров работы модели. Я был скептичен, но T0pp показала себя на удивление хорошо.

UPD: извиняюсь за такое количество уведомлений одновременно, не ожидал что все скриншоты пошлются как разные сообщения
Тут подъехала довольно неприятная, но ожидаемая новость — Телеграм начинает показывать рекламу в каналах с более чем 1000 человек. Авторы каналов не могут выключить показ этой рекламы или повлиять на её содержание какими-то понятными образами. Говорят что реклама будет ориентироваться на тематику каналов, но посмотрим насколько хорошей будет имплементация.

Мне очень не нравится что в этом канале будет появляться контент, который я не контролирую. Отличить эти посты от моих можно будет по маленькой плашке "sponsored" в правом нижнем углу.
DeepLearning.ai выпустили новый курс в Natural Language Processing Specialization, рассказывающий про трансформеры (да, каким-то обраозм трансформеров там до сих пор не было).

Я проглядел его по диагонали и курс выглядит довольно неплохо. Есть домашки по машинному переводу, суммаризации, QA и чатботам. На последней неделе даже проходят reformer (длинный трансформер работающий через LSH-attention). Если кто-то решит пройти, буду рад если поделитесь своими впечатленями в чате.

UPD: Галя, отмена! В чате обратили внимание, что в отзывах говорят что курс поверностный и в нём недостаточно матана, чтобы понять как работают трансформеры.
Я тут решил попробовать 🤗 Inference API для своих pet-project. Заодно узнал смысл жизни по T0.

Но всё-таки главная мысль теперь: если хочется инферить что-то большое и тебе не нужно это делать часто, то API это же идеально. Ничего разворачивать не надо, никаких GPU не надо, работает моментально.
А вот это уже угроза 😱
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. При сравнении с альтернативными подходами, этот метод показывает себя лучше и в смысле генерализации на перефразирования вопроса и в смысле сохранения ответов на несвязанные вопросы.
Тут говорят, что 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
Прямо сейчас идёт T0 Discussion with Victor Sanh

Общаются на тему Т0, который мы разбирали пару недель назад, с одним из главных авторов.
— Почти все рекламинуемые каналы созданы 21-22 октября, либо конец октября
— Все на «очень широкие и популярные темы»
— Все а-ля паблики, без авторов
— Все выглядят одинаково и созданы под копирку

Возможно это какая-то новая будущая огромная медиа-сеть пабликов, на которую выделили большой рекламный бюджет.

Ожидание от рекламы в TG: большие бренды, адекватные рекламные кампании, креатив

Реальность рекламы в TG: паблики гонят себе трафик с топовых каналов за копейки.

Павел, браво! Запуск прошёл прекрасно.

Простое сравнение.

Когда Instagram запускал первые рекламные кампании, Кевин Систром (основатель Instagram) ЛИЧНО отсматривал рекламные объявления, давал по ним правки и не пропускал то, что по его мнению не отражало ценности Instagram.
MLSpace
github.com/abhishekkrthakur/mlspace

Интересный заход на работу с окружениями от Abhishek Thakur, специфичный для ML. Устанавливает за вас Nvidia driver, CUDA и CUDNN нужных версий, ставит дефолтные вещи типа torch и jupyter. Под капотом этой штуки докер, но интерфейс больше похож на conda.

На данный момент это наверное даже не альфа версия, а просто идея. Я пока что не рекомендую использовать MLSpace, но советую обратить внимание. Сейчас документация частично отсутствует, единственный backend это torch с GPU, код выглядит очень сыро, работает только под Ubuntu.

Мне нравится идея, очень уж много часов своей жизни я убил на установку/переустановку Nvidia-штук.