This media is not supported in your browser
VIEW IN TELEGRAM
GradInit: перебор гиперпараметров оптимизатора и warmup больше не нужны (by Google)
В гугл предложили супер крутой универсальный architecture-agnostic метод инициализации весов моделей.
Идея очень простая: добавить множители перед каждым блоком параметров и запустить по ним несколько итераций оптимизации лосса. Дальше эти множители фиксируем и учим модель как обычно. Такая инициализация не зависит от глубины и типа архитектуры (работает и на резнетах и на трансформерах) и почти полностью решает проблему взрывающихся\затухающих градиентов.
В итоге отпадает необходимость в переборе гиперпараметров оптимизатора, а трансформер вообще получилось обучить без warmup’a, что считалось практически невозможным. Как бонус, такая инициализация даёт небольшой буст на многих бенчмарках (и картиночных и текстовых).
Статья, GitHub
В гугл предложили супер крутой универсальный architecture-agnostic метод инициализации весов моделей.
Идея очень простая: добавить множители перед каждым блоком параметров и запустить по ним несколько итераций оптимизации лосса. Дальше эти множители фиксируем и учим модель как обычно. Такая инициализация не зависит от глубины и типа архитектуры (работает и на резнетах и на трансформерах) и почти полностью решает проблему взрывающихся\затухающих градиентов.
В итоге отпадает необходимость в переборе гиперпараметров оптимизатора, а трансформер вообще получилось обучить без warmup’a, что считалось практически невозможным. Как бонус, такая инициализация даёт небольшой буст на многих бенчмарках (и картиночных и текстовых).
Статья, GitHub
This media is not supported in your browser
VIEW IN TELEGRAM
🔥MTTR: End-to-End Text Referring Video Object Segmentation
Представлена новая SOTA в сегментации объектов на видео по их текстовому описанию. Качество просто невероятное!
Модель основана на мультимодальном трансформере, в который подаются фичи от текстового энкодера (RoBERTa) и видео энкодера (Video Swin). Примечательно, что в отличие от предыдущих решений, обучение здесь end2end — sequence prediction problem.
P.S. Авторы опубликали и код, и веса моделей 👍
Статья, GitHub
Представлена новая SOTA в сегментации объектов на видео по их текстовому описанию. Качество просто невероятное!
Модель основана на мультимодальном трансформере, в который подаются фичи от текстового энкодера (RoBERTa) и видео энкодера (Video Swin). Примечательно, что в отличие от предыдущих решений, обучение здесь end2end — sequence prediction problem.
P.S. Авторы опубликали и код, и веса моделей 👍
Статья, GitHub
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Dream Fields: Zero-Shot Text-Guided 3D Object Generation (by Google)
Что будет, если скрестить NeRF и CLIP? Получится zero-shot генерация 3d объектов по текстовому описанию!
NeRF — Neural Radiance Fields, способ параметризации 3d сцены с помощью MLP. В этой статье обучают такую штуку генерировать 3х-мерные объекты, минимизируя расстояние между текстовым и картиночными эмбеддингами CLIP с разных ракурсов.
Для того, чтобы это завелось, пришлось добавить аугментацию фона и ограничить размер и прозрачность сцены.
Статья, блог, видео
Что будет, если скрестить NeRF и CLIP? Получится zero-shot генерация 3d объектов по текстовому описанию!
NeRF — Neural Radiance Fields, способ параметризации 3d сцены с помощью MLP. В этой статье обучают такую штуку генерировать 3х-мерные объекты, минимизируя расстояние между текстовым и картиночными эмбеддингами CLIP с разных ракурсов.
Для того, чтобы это завелось, пришлось добавить аугментацию фона и ограничить размер и прозрачность сцены.
Статья, блог, видео
👍5
FuseDream: Новая SOTA в генерации картинок по тексту
Напомню, картинки из текста можно генерировать с помощью связки CLIP+GAN, где латентный вектор генератора оптимизируется так, чтобы получившаяся картинка была похожа на текстовое описание с точки зрения CLIP. В этой статье придумали как ЗНАЧИТЕЛЬНО улучшить такую оптимизацию.
Суть идеи:
1. Аугментировать генерируемую картинку и усреднять получающиеся картиночные эмбеддинги CLIP. Это позволяет избежать эффекта «адверсариал атаки» на модель, что улучшает качество генерации.
2. Оверпараметризация — нужно оптимизировать сразу несколько латентных векторов в виде их линейной комбинации (гениально). Это позволяет легко избегать локальных минимумов.
Статья, GitHub
Напомню, картинки из текста можно генерировать с помощью связки CLIP+GAN, где латентный вектор генератора оптимизируется так, чтобы получившаяся картинка была похожа на текстовое описание с точки зрения CLIP. В этой статье придумали как ЗНАЧИТЕЛЬНО улучшить такую оптимизацию.
Суть идеи:
1. Аугментировать генерируемую картинку и усреднять получающиеся картиночные эмбеддинги CLIP. Это позволяет избежать эффекта «адверсариал атаки» на модель, что улучшает качество генерации.
2. Оверпараметризация — нужно оптимизировать сразу несколько латентных векторов в виде их линейной комбинации (гениально). Это позволяет легко избегать локальных минимумов.
Статья, GitHub
👍5
Forwarded from я обучала одну модель
DeepMind вчера выпустили сетку Gopher на 280 миллиардов параметров (что впечатляет). Судя по их же примерам в релизе, Gopher очень хорошо может отвечать на фактологические вопросы ('Who won Womes's US Open in 2021', 'What can you tell me about cell biology'). Если заглянуть в статью с описанием архитектуры модели окажется, что это достигается не за счет числа параметров, а скорее за счет доступа к огромной базе знаний, то есть сетка частично retrieval based. Для сопоставления с базой данных берут замороженный BERT, получают эмбеддинги входного текста и эмбеддинги из базы знаний, находят ближайших соседей (и потом их используют на этапе аттеншена). Для базы данных используют MassiveText (5 триллионов токенов)
Еще для эффективности обучения используют chunked cross-attention, но под модификацию аттеншенов уже пора отдельный жанр на архиве заводить
Еще для эффективности обучения используют chunked cross-attention, но под модификацию аттеншенов уже пора отдельный жанр на архиве заводить
👍5
Wikidata — 10 миллиардов структурированных фактов
Сегодня я решил вам рассказать про такую классную штуку, как Wikidata. Это громадная база знаний, привязанная к Википедии. Тут больше 10 млрд фактов, представленных в виде триплетов.
Триплет — это тройка из объекта, субъекта и их отношения, например:
[Земля / население / 7,8 млрд].
Для всех элементов в викидате есть уникальные указатели, которые вместе образуют мультиграф. И самое классное, что для этого графа были посчитаны эмбеддинги (тык), которые позволяют обучать нейронки ориентироваться в нём.
Сегодня я решил вам рассказать про такую классную штуку, как Wikidata. Это громадная база знаний, привязанная к Википедии. Тут больше 10 млрд фактов, представленных в виде триплетов.
Триплет — это тройка из объекта, субъекта и их отношения, например:
[Земля / население / 7,8 млрд].
Для всех элементов в викидате есть уникальные указатели, которые вместе образуют мультиграф. И самое классное, что для этого графа были посчитаны эмбеддинги (тык), которые позволяют обучать нейронки ориентироваться в нём.
👍18
Forwarded from Love. Death. Transformers.
Короче да, perciver теперь доступен из Huggingface, а значит эпоха мултимодальности не за горами
https://huggingface.co/blog/perceiver
https://huggingface.co/blog/perceiver
huggingface.co
Perceiver IO: a scalable, fully-attentional model that works on any modality
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
🔥WebGPT: теперь GPT-3 умеет гуглить лучше тебя
В OpenAI зафайнтюнили GPT-3 отвечать на вопросы, пользуясь поиском Bing, а получившиеся при этом ответы оказались качественнее, чем у людей.
Сначала они разработали простенький текстовый браузер, которым могла бы пользоваться GPT — там есть основные команды типа: кликнуть на ссылку, поскроллить, найти слово на странице, скопировать фрагмент и тд. Далее они при помощи людей собрали датасет из 6000 примеров использования этого браузера и дообучили на нём GPT-3 (language modeling). Затем они нагенерили этой же моделью датасет из 25к вопросов и вручную разметили их качество. На этой разметке они обучили ранжировщик ответов и использовали его для дальнейшей фильтрации.
В итоге, судя по human evaluations на датасете ELI5, людям чаще нравятся ответы нейронки, чем своих собратьев 💁♂️
P.S. На гифке пример того, как гуглит эта модель, отвечая на вопрос «How do neural networks work?»
Статья, блог
В OpenAI зафайнтюнили GPT-3 отвечать на вопросы, пользуясь поиском Bing, а получившиеся при этом ответы оказались качественнее, чем у людей.
Сначала они разработали простенький текстовый браузер, которым могла бы пользоваться GPT — там есть основные команды типа: кликнуть на ссылку, поскроллить, найти слово на странице, скопировать фрагмент и тд. Далее они при помощи людей собрали датасет из 6000 примеров использования этого браузера и дообучили на нём GPT-3 (language modeling). Затем они нагенерили этой же моделью датасет из 25к вопросов и вручную разметили их качество. На этой разметке они обучили ранжировщик ответов и использовали его для дальнейшей фильтрации.
В итоге, судя по human evaluations на датасете ELI5, людям чаще нравятся ответы нейронки, чем своих собратьев 💁♂️
P.S. На гифке пример того, как гуглит эта модель, отвечая на вопрос «How do neural networks work?»
Статья, блог
👍12
Forwarded from эйай ньюз
🔥Генерация изображений выходит на новый уровень: GLIDE
GLIDE - это закономерное развитие модели DALL-E от OpenAI. Только теперь вместо GAN-ов, архитектура GLIDE основана на diffussion denoising моделях, о которых у меня уже было несколько постов (тык1, тык2, тык3).
GLIDE умеет генерировать изображения как по текстовому описанию с нуля, так и дополнять существующие. Поразительно, как моделька подстраивается под стиль и освещение во входной картинке, когда нужно дорисовать новый объект.
Архитектура состоит из двух моделей, первая (3.5 млрд параметров) генерит 64×64 картинку по текстовой строке, а вторая (1.5 млрд параметров) берет входной текст и картинку 64×64 и апскейлит её до 256×256. Видимо, так было проще тренировать.
GLIDE, в отличие от DALL-E, не использует CLIP классификатор и не требует ре-ранкинга результатов для увеличения их схожести со входным текстом. И, конечно, GLIDE бьёт DALL-E на всех бенчмарках.
На GPU генерация 256x256 картинки занимает меньше минуты.
Arxiv >> Код на GitHub >> Колаб
GLIDE - это закономерное развитие модели DALL-E от OpenAI. Только теперь вместо GAN-ов, архитектура GLIDE основана на diffussion denoising моделях, о которых у меня уже было несколько постов (тык1, тык2, тык3).
GLIDE умеет генерировать изображения как по текстовому описанию с нуля, так и дополнять существующие. Поразительно, как моделька подстраивается под стиль и освещение во входной картинке, когда нужно дорисовать новый объект.
Архитектура состоит из двух моделей, первая (3.5 млрд параметров) генерит 64×64 картинку по текстовой строке, а вторая (1.5 млрд параметров) берет входной текст и картинку 64×64 и апскейлит её до 256×256. Видимо, так было проще тренировать.
GLIDE, в отличие от DALL-E, не использует CLIP классификатор и не требует ре-ранкинга результатов для увеличения их схожести со входным текстом. И, конечно, GLIDE бьёт DALL-E на всех бенчмарках.
На GPU генерация 256x256 картинки занимает меньше минуты.
Arxiv >> Код на GitHub >> Колаб
👍12
XGLM: кросс-язычный аналог GPT-3 от Meta AI
Наконец появилась по-настоящему мультиязычная языковая модель! Формально GPT-3 тоже понимает много языков, но обучающих данных на НЕ английском там было всего 8 процентов, а тут целых 70! Причём на 128 разных языках.
В итоге эта модель бьёт все соты на всех кросс-язычных бенчмарках, и даже обходит многие supervised модели на WMT (machine translation).
P.S. Похоже, что XGLM должна классно работать для русского языка, ведь он тут второй по частотности после английского (см. картинку).
Статья, GitHub, HuggingFace
Наконец появилась по-настоящему мультиязычная языковая модель! Формально GPT-3 тоже понимает много языков, но обучающих данных на НЕ английском там было всего 8 процентов, а тут целых 70! Причём на 128 разных языках.
В итоге эта модель бьёт все соты на всех кросс-язычных бенчмарках, и даже обходит многие supervised модели на WMT (machine translation).
P.S. Похоже, что XGLM должна классно работать для русского языка, ведь он тут второй по частотности после английского (см. картинку).
Статья, GitHub, HuggingFace
👍24
Forwarded from DL in NLP (nlpcontroller_bot)
The Illustrated Retrieval Transformer
jalammar.github.io/illustrated-retrieval-transformer/
Мы уже обозревали RETRO в этом коротком посте, но на днях Jay Alammar опубликовал новый блогпост, где идея RETRO описывается визуально.
RETRO — это модель, которая работает на уровне GPT-3 175B имея всего 7B параметров. Это делается с помощью того, что модель может обращаться к дополнительной "базе данных" текстов и их продолжений во время генерации текста.
jalammar.github.io/illustrated-retrieval-transformer/
Мы уже обозревали RETRO в этом коротком посте, но на днях Jay Alammar опубликовал новый блогпост, где идея RETRO описывается визуально.
RETRO — это модель, которая работает на уровне GPT-3 175B имея всего 7B параметров. Это делается с помощью того, что модель может обращаться к дополнительной "базе данных" текстов и их продолжений во время генерации текста.
👍11
This media is not supported in your browser
VIEW IN TELEGRAM
GPT для чайников: от токенизации до файнтюнинга
Сделал для вас небольшой colab туториал про GPT. Там подробно и с примерами разобраны такие темы как:
1. Устройство GPT-1,2,3
2. Токенизация
3. Методы генерации текста
4. Файнтюнинг (прям в колабе)
Если вы давно хотели поиграться с GPT, но всё не доходили руки, то новогодние праздники — самое время 😉
colab, хабр
Сделал для вас небольшой colab туториал про GPT. Там подробно и с примерами разобраны такие темы как:
1. Устройство GPT-1,2,3
2. Токенизация
3. Методы генерации текста
4. Файнтюнинг (прям в колабе)
Если вы давно хотели поиграться с GPT, но всё не доходили руки, то новогодние праздники — самое время 😉
colab, хабр
👍81
DeepPavlov выложил в открытый доступ DREAM — платформу для создания чатботов
Если вы хотите сделать свою Siri или Алексу, то DREAM — это то что вам нужно. Тут в одном месте собраны десятки ml-решений для «оркестрирования» скиллами бота, извлечения признаков из сообщений пользователей и многое другое. Для генерации ответов здесь интегрированы rule-based, generative-based и даже knowledge-graph-based подходы.
P.S. Новость увидел тут.
Статья, блог, GitHub, демо
Если вы хотите сделать свою Siri или Алексу, то DREAM — это то что вам нужно. Тут в одном месте собраны десятки ml-решений для «оркестрирования» скиллами бота, извлечения признаков из сообщений пользователей и многое другое. Для генерации ответов здесь интегрированы rule-based, generative-based и даже knowledge-graph-based подходы.
P.S. Новость увидел тут.
Статья, блог, GitHub, демо
👍24
Grokking: оверфиттинг это ещё не конец (by OpenAI)
Все мы знаем, что если обучающих данных мало, то модель скорее всего заоверфиттится, запомнив весь датасет. Но оказалось, что если в этот момент не останавливать обучение и продолжать его даже при нулевой ошибке на трейне, то через какое-то время нейронка всё-таки научится обобщать.
У OpenAI таким образом удалось обучить небольшой трансформер решать уравнения, которые он никогда не видел! Грубо говоря, модель смогла заполнить пропущенные слоты в таблице умножения. При этом такая супер-обобщающая способность наступала гораздо позднее оверфиттинга, когда большинство из нас уже выкинули бы модель в помойку.
Похоже, что самую важную роль в этом эффекте играет weight decay, благодаря которому модель в конце-концов переходит от простого запоминания обучающих примеров к аналитическому решению задачи. Из интересных наблюдений — при визуализации эмбеддингов видны математические структуры, помогающие находить ответы.
Статья, видео
Все мы знаем, что если обучающих данных мало, то модель скорее всего заоверфиттится, запомнив весь датасет. Но оказалось, что если в этот момент не останавливать обучение и продолжать его даже при нулевой ошибке на трейне, то через какое-то время нейронка всё-таки научится обобщать.
У OpenAI таким образом удалось обучить небольшой трансформер решать уравнения, которые он никогда не видел! Грубо говоря, модель смогла заполнить пропущенные слоты в таблице умножения. При этом такая супер-обобщающая способность наступала гораздо позднее оверфиттинга, когда большинство из нас уже выкинули бы модель в помойку.
Похоже, что самую важную роль в этом эффекте играет weight decay, благодаря которому модель в конце-концов переходит от простого запоминания обучающих примеров к аналитическому решению задачи. Из интересных наблюдений — при визуализации эмбеддингов видны математические структуры, помогающие находить ответы.
Статья, видео
👍104
data2vec: Self-supervised Learning in Speech, Vision and Language (by Meta AI)
Картинки, звук, текст — три основные модальности данных. Большинство исследований концентрируются на какой-то одной из них: ViT, HuBERT, BERT, ведь не ясно как можно унифицировать обучение для всех трёх сразу.
В Meta AI придумали как уйти от специфичности конкретного формата данных и учить модель понимать вообще что угодно. Если коротко, то они предлагают «самодистиллировать» внутренние репрезентации модели, да ещё и в self-supervised режиме.
Если углубиться чуть сильнее, то станет ясно, что предложенный метод очень похож на DINO. Тут есть две модели: студент и учитель. Первая модель (студент) учится повторять активации второй модели из частично замаскированного инпута, а учитель — это экспоненциально сглаженные по времени веса студента.
Оказалось, что самый обыкновенный трансформер, обученный таким способом, показывает крутейшие результаты на каждой из трёх модальностей по отдельности.
Статья, GitHub
Картинки, звук, текст — три основные модальности данных. Большинство исследований концентрируются на какой-то одной из них: ViT, HuBERT, BERT, ведь не ясно как можно унифицировать обучение для всех трёх сразу.
В Meta AI придумали как уйти от специфичности конкретного формата данных и учить модель понимать вообще что угодно. Если коротко, то они предлагают «самодистиллировать» внутренние репрезентации модели, да ещё и в self-supervised режиме.
Если углубиться чуть сильнее, то станет ясно, что предложенный метод очень похож на DINO. Тут есть две модели: студент и учитель. Первая модель (студент) учится повторять активации второй модели из частично замаскированного инпута, а учитель — это экспоненциально сглаженные по времени веса студента.
Оказалось, что самый обыкновенный трансформер, обученный таким способом, показывает крутейшие результаты на каждой из трёх модальностей по отдельности.
Статья, GitHub
👍29
Forwarded from эйай ньюз
ShiftViT: An Extremely Simple Alternative to Attention Mechanism
Мелкософт говорит, что селф-атеншен больше не нужен в задачах зрения. Предлагают вместо него просто каналы случайно подвигать в плоскости картинки.
Судя по всему, это должно работать быстрее. По результатам точность на Imagenet почти как у трансформеров, чуть-чуть ниже.
Статья | Код
Мелкософт говорит, что селф-атеншен больше не нужен в задачах зрения. Предлагают вместо него просто каналы случайно подвигать в плоскости картинки.
Судя по всему, это должно работать быстрее. По результатам точность на Imagenet почти как у трансформеров, чуть-чуть ниже.
Статья | Код
👍18