gonzo-обзоры ML статей – Telegram
gonzo-обзоры ML статей
24K subscribers
2.75K photos
2 videos
3 files
1.36K links
Авторы:
Гриша Сапунов, ранее руководитель разработки Яндекс-Новостей, ныне CTO Intento. Области интересов: AI/ML/DL, биоинформатика.
Лёша Тихонов, ранее аналитик в Яндексе, автор Автопоэта, Нейронной Обороны... Области интересов: discrete domain, NLP, RL.
Download Telegram
The 6th chapter of the book is ready and available in MEAP!

We changed the book's noscript from "JAX in Action" to "Deep Learning with JAX" to better reflect the contents.

https://www.manning.com/books/deep-learning-with-jax

Chapter 6 is dedicated to vectorization and covers:

🗺- Different ways to vectorize a function
🔬- Using vmap() and its arguments
🧭- Real-life use cases for vmap()

Chapters 7 & 8 on parallelization are soon to come!
👍19🔥12💅1
И новости дистрибуции

Facebook LLAMA is being openly distributed via torrents:
https://news.ycombinator.com/item?id=35007978
16😢1
И ещё пятничное:

High-resolution image reconstruction with latent diffusion models from human brain activity

Here, we propose a new method based on a diffusion model (DM) to reconstruct images from human brain activity obtained via functional magnetic resonance imaging (fMRI).

https://sites.google.com/view/stablediffusion-with-brain/
👍9🔥6👎1
[Google] PaLM-E: An Embodied Multimodal Language Model
Danny Driess, Fei Xia, Mehdi S. M. Sajjadi, Corey Lynch, Aakanksha Chowdhery, Brian Ichter, Ayzaan Wahid, Jonathan Tompson, Quan Vuong, Tianhe Yu, Wenlong Huang, Yevgen Chebotar, Pierre Sermanet, Daniel Duckworth, Sergey Levine, Vincent Vanhoucke, Karol Hausman, Marc Toussaint, Klaus Greff, Andy Zeng, Igor Mordatch, Pete Florence
Статья: https://arxiv.org/abs/2303.03378
Сайт с видео: https://palm-e.github.io/
Пост: https://ai.googleblog.com/2023/03/palm-e-embodied-multimodal-language.html

Gato отскейлили, но сделал это не DeepMind.

Гугл расширил свою большую (540B) языковую модель PaLM (https://arxiv.org/abs/2204.02311) на картиночную модальность + модальности для сенсоров и действий и назвал полученную модель PaLM-E (Embodied). В чём-то я бы даже сказал это больше похоже на их же отскейленную картиночно-текстовую PaLI (https://news.1rj.ru/str/gonzo_ML/1085) с добавлением модальности для действий робота. И ещё больше это похоже на отскейленную Gato (https://news.1rj.ru/str/gonzo_ML/966) от DeepMind (Gato был всего на 1B с копейками).

В итоге самая крупная модель PaLM-E на 562B параметров, на данный момент самая большая картиночно-языковая модель. Дофига для dense модели, конечно. Это GPT-подобная декодерная модель, генерирующая выходные токены авторегрессионно.

Модель заявлена как embodied, так как сенсорная модальность сливается с языковой и тем самым создаётся связь между словами и перцептами. То есть как бы решается большая проблема grounding’а символов, они не просто какие-то сложные корреляции между самими собой, а связаны с визуальными и сенсорными данными из реального мира. Мне лично это всегда казалось важной темой, в чисто языковые модели я не очень верю, особенно осознавая, как много физической интуиции закодировано в нашем опыте и просвечивает в языке. Для меня откровением в какой-то момент была книга Лакоффа и Джонсона “Метафоры, которыми мы живём” (Metaphors We Live By). Хотя, наверное, из языка таки какая-то значимая часть таких вещей восстанавливается через те самые корреляции.

Бэкбон всей модели это предобученная языковая модель PaLM (540B). В неё теми же токенами добавляются картинки через ViT (22B, https://news.1rj.ru/str/gonzo_ML/434), а также закодированные в виде последовательности векторов непрерывные наблюдения. Всё сводится к тому же латентному пространству, в котором живут эмбеддинги текстовых токенов. На входе модели таким образом оказывается мультимодальное предложение, например, “Q: What happened between <img 1> and <img 2>?“, где тегами в данном случае помечены картиночные эмбеддинги (из ViT).

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

ViT, кстати, это свежий (https://arxiv.org/abs/2302.05442) гигантский ViT, которого ещё не было. Самый большой до этого был ViT-e (enormous) на 4B из работы про PaLI. Для нового отдельного эпитета не нашлось и его назвали просто ViT-22B. Работа показала, что скейлить есть куда, и кажется это ещё не предел, насыщения не видно.

Главный вопрос в целом это как инжектить в модель непрерывные наблюдения. Для текстовых токенов в PaLM есть словарь в 256k. Для непрерывных модальностей обучается энкодер из родного непрерывного пространства в последовательность векторов пространства эмбеддингов. Одно наблюдение обычно переходит в несколько векторов, и размещается в окружении эмбеддингов токенов текста, где надо (а не в фиксированных позициях).

Проще всего с векторами, описывающими состояние робота или какого-то объекта. Такие штуки просто мапятся через MLP в пространство эмбеддингов.
🔥11👍62🤯1
В случае картинок, токены из ViT мапятся в это пространство через обучаемое аффинное преобразование. ViT при этом по сути не выделяет никаких объектов, а выдаёт репрезентации на статической сетке поверх изображения. Кроме этого пробовали object-centric representations, когда специальный энкодер выделяет конкретные объекты на изображении. Если есть ground truth маски объектов, то для них можно взять эмбеддинги из ViT для соответствующих позиций. Альтернативный подход Object Scene Representation Transformer (OSRT, https://arxiv.org/abs/2006.15055) позволяет сделать это без ground truth. Оно даёт репрезентацию сцены со слотами объектов, и каждый слот объекта через MLP превращается в несколько эмбеддингов.

Для задач планирования также хорошо уметь ссылаться на конкретные объекты (которые могут быть получены из object-centric representations). Для этого мультимодальные токены, соответствующие объектам, помечаются во входном промпте таким способом: “Object 1 is <obj 1>. . . . Object j is <obj j>.” Это позволяет PaLM-E ссылаться на конкретные объекты в сгенерированных выходных последовательностях.

PaLM-E обучается на специальном датасете, где каждый пример содержит сколько-то непрерывных наблюдений в дополнение к тексту, к которому также прилагается индекс, показывающий до какой позиции текст это промпт, и где начинается часть, которую надо предсказать. Лосс соответственно считается только на не-промптовых токенах. Специальные плейсхолдеры в тексте заменяются на эмбеддинги тех самых непрерывных наблюдений.

Собирали варианты PaLM-E, основанные на предобученных PaLM с 8B, 62B, и 540B параметров. Итого, 8B LLM + 4B ViT = PaLM-E12B, 62B LLM + 22B ViT = PaLM-E-84B, 540B LLM + 22B ViT = PaLM-E-562B. Для обработки входов есть энкодеры и проекторы (MLP).

Во время обучения можно обновлять параметры всего этого добра, но можно и замораживать LLM и обучать только входные энкодеры.

Для роботов было три среды, симуляции и реальные роботы: 1) в среде Task and Motion Planning (TAMP) робот должен манипулировать объектами, хватать их и ставить друг на друга; 2) в задаче table-top pushing environment манипулятор должен толкать объекты; 3) в mobile manipulation domain реальный робот оперирует объектами в ящике и на прилавке.

Также оценивали модель на общих картиночно-языковых задачах, хотя это и не фокус работы.

Для среды TAMP использовалась замороженная предобученная LLM, входные репрезентации обучались на датасете из 96k сцен из этой среды без любых доп.данных, в этих сценах было 3-5 объектов. Если в тесте увеличивать число объектов, то наличие предобученной LLM существенно повышает качество решения задачи, особенно когда надо ссылаться на сущности. Также пробовали out-of-distribution задачи, когда, например, на объект ссылались через его цвет, а не через спец.токен объекта. Здесь 62B LLM показывает себя лучше, чем 8B LLM, а необученная LLM вообще не генерализует. Также оценивали, какие входные репрезентации лучше работают. Для этого обучали на 3-5 объектах на 1% датасета (320 примеров по каждой задаче), обнаружили большую разницу (OSRT рулит), а также положительные трансфер между задачами.

Для второй среды с Language-Table environment на вход давалась картинка и описание задачи с далёким горизонтом (например, “sort the blocks by colors into corners”), модель должна была выдавать инструкции для низкоуровневой полиси. Предобученные LLM и ViT помогают, скейлинг помогает. Наблюдается zero-shot генерализация на объекты, которых не было в обучении (чашка с кофе там, или черепашка).
👍6
На mobile manipulation роботу надо планировать последовательность действий. Например, для инструкции “I spilled my drink, can you bring me something to clean it up?” робот должен выдать план включающий “1. Find a sponge, 2. Pick up the sponge, 3. Bring it to the user, 4. Put down the sponge.” Способности к embodied reasoning проверяли на трёх кейсах: 1) affordance prediction, 2) failure detection, 3) long-horizon planning.

За низкоуровневые полиси отвечал трансформер RT-1 (https://arxiv.org/abs/2212.06817), получающий на вход картинку и инструкции на естественном языке, и выдающий команды эффекторам. RT-1, кажется, вообще может оказаться “GPT для роботов”.

В affordance prediction надо определить, заданный скилл низкоуровневого полиси вообще достижим ли в текущей обстановке. Это формулируется в виде VQA задачи “Given <img>. Q: Is it possible to <skill> here?”. PaLM-E-12B обходит PaLI-17B и thresholding на value-функциях из QT-OPT (https://arxiv.org/abs/1806.10293).

В failure detection надо предсказать неудачу. Это делается мультимодальным промптом “Given <img>. Q: Was <skill> successful?”. Тоже хороший результат.

В long-horizon planning на реальном роботе структура промпта такая: “Human: <instruction> Robot: <step history>. I see <img>.”. Модель должна выдать следующий шаг плана по истории и текущей картинке. Шаг декодируется в низкоуровневую полиси. На инструкции “bring me the rice chips from the drawer” робот справляется даже когда человек ему мешает (выбивает из руки).

Хоть и не фокус, но проверили на общих картиночно-языковых задачах на OK-VQA, VQA v2 и COCO captioning. Генералист PaLM-E-562B установил наивысший зарепорченный результат на OK-VQA, а также более мелкий PaLM-E с замороженной LLM продемонстрировал наибольший известный авторам результат на VQA v2. То есть в дополнение к embodied reasoning модель также и вполне сильный visual-language generalist.

Также посмотрели перформанс PaLM-E на 21 NLU/NLG задаче и сравнили с простым PaLM. Малые модели заметно деградируют (забывают свои способности: -15%/-87.3% на NLU/NLG), но на больших этот эффект пропадает (+0.4%/-3.8%).

Из выводов. Есть явный положительный трансфер (уровня 2x) от обучения одновременно на разных задачах. Трансфер явно помогает учиться на очень скромных по размеру данных с роботов (типа от 10 до 80 примеров, иногда до 320).

Языковые способности модели можно сохранить. Один вариант -- просто заморозить LLM и обучать только входные энкодеры. Другой вариант, если обучать надо всё, то на большом размере модели деградация заметно меньше.

Эта вся движуха очень интересна. Напрямую с Gato модель сравнить сложно, та была и мелкая, и на других задачах проверялась, и SoTA не ставила. Новая модель при этом и роботные задачи хорошо делает, и на общих картиночно-языковых отменные цифры имеет. Кажется, по всем параметрам и результатам PaLM-E существенно ближе к мультимодальному embodied генералисту.

Вот в PaLM-E реально интересно было бы покопаться, на предмет что там за репрезентации, меняется ли что-то в работе с метафорами в языке, помогает ли embodiment в каких-либо классах сложных языковых задач, где лажают обычные LLM. Ну и наконец, не возникает ли там где-то что-то похожее на сознание, потому что вот в такие мультимодальные embodied архитектуры я в плане сознания верю существенно больше.

Кажется ещё добавить побольше вот этого роботного экспириенса с рецепторами/эффекторами…
🔥11👍3
This media is not supported in your browser
VIEW IN TELEGRAM
👍5😢2
[Microsoft Kosmos-1] Language Is Not All You Need: Aligning Perception with Language Models
Авторы: Shaohan Huang, Li Dong, Wenhui Wang, Yaru Hao, Saksham Singhal, Shuming Ma, Tengchao Lv, Lei Cui, Owais Khan Mohammed, Barun Patra, Qiang Liu, Kriti Aggarwal, Zewen Chi, Johan Bjorck, Vishrav Chaudhary, Subhojit Som, Xia Song, Furu Wei
Статья: https://arxiv.org/abs/2302.14045

Тренд на мультимодальность пошёл очевидный. Позапрошлый год я бы назвал годом контрастных моделей по типу CLIP (https://news.1rj.ru/str/gonzo_ML/665) / Align (https://news.1rj.ru/str/gonzo_ML/679) / Florence (https://news.1rj.ru/str/gonzo_ML/734). Прошлый был явно годом диффузионных text-to-image моделей типа DALLE-2 (https://news.1rj.ru/str/gonzo_ML/919) и последующих Imagen, Stable Diffusion и т.п. Нынешний, мне кажется, может стать годом картиночно-языковых моделей (Visual Language Model, VLM) или скорее даже мультимодальных языковых моделей (Multimodal Large Language Model, MLLM), а то и воплощённых LLM (Embodied LLM). Из этой когорты уже появились в прошлом году VLM Flamingo от DeepMind (https://news.1rj.ru/str/gonzo_ML/941) (которую оказывается реимплементит HuggingFace, https://news.1rj.ru/str/gonzo_ML/1362) и CoCa (https://news.1rj.ru/str/gonzo_ML/997) с PaLI (https://news.1rj.ru/str/gonzo_ML/1085) от Гугла, да и дипмайндовская Gato (https://news.1rj.ru/str/gonzo_ML/966) вполне можно назвать ELLM. Теперь в эту же когорту можно записать свежую PaLM-E (https://news.1rj.ru/str/gonzo_ML/1350), и вот Microsoft недавно же анонсировал MLLM Kosmos-1 (https://news.1rj.ru/str/gonzo_ML/1339). Ещё и GPT-4, кстати, нам пообещали мультимодальную на следующей неделе (https://www.heise.de/news/GPT-4-is-coming-next-week-and-it-will-be-multimodal-says-Microsoft-Germany-7540972.html). Пока ждём GPT-4, разберём Kosmos-1 (хотя на самом деле в ближайшее время, я, наверное, переключусь на другие когорты интересных работ для разнообразия).

Что такого есть в Kosmos-1?

Модель это традиционный трансформер (декодер), который авторегрессионно генерит текст (как GPT) с картиночным энкодером из CLIP. На входе теперь в произвольных местах могут быть мультимодальные данные (в этой работе картинки, но потенциально и что угодно ещё, например, звук). Всего модель 1.6B параметров, весьма скромная. Для сравнения у Flamingo самая большая модель была 80B, из них 70B это Шиншилла (https://news.1rj.ru/str/gonzo_ML/1216).

В целом в подобных моделях главный челлендж это как встроить не-текстовые модальности. Авторы строят работу на своей же MetaLM (https://arxiv.org/abs/2206.06336), в которой LLM выступала универсальным интерфейсом, выполняющим разные задачи, в который втыкались энкодеры всяких модальностей. Там же была предложена semi-causal language modeling objective, позволяющая тренировать совместно интерфейс с энкодерами. В этой постановке некоторые диапазоны токенов представлены двунаправленными энкодерами, а интерфейсная LM это традиционная causal LM.

Входной текст в модель размечается тегами <s> и </s> для определения начала/конца предложения, <image> и </image> для пометки границ диапазона картиночных эмбеддингов. Текстовые токены и другие входные модальности эмбеддятся в вектора и отправляются в декодер. В текущей работе картинки эмбеддили через vision encoder, также использовался Resampler из Flamingo (там он получал пространственно-временные признаки из зрительного энкодера и выдавал фиксированного размера множество визуальных токенов), он нужен для уменьшения количества картиночных эмбеддингов.

Декодер это трансформер Magneto (https://arxiv.org/abs/2210.06423), в котором есть дополнительные LayerNorm (такой подход называется Sub-LN в отличие от Pre/Post-LN), а также улучшенная теоретически обоснованная инициализация. У Magneto лучше перформанс и стабильность.

В декодере 24 слоя, 32 головы, 2048 скрытое измерение, 8192 FFN. Всего 1.3B параметров. Картиночные эмбеддинги размерности 1024 берутся из предобученного CLIP ViT-L/14. CLIP во время обучения был заморожен кроме последнего слоя.
👍81