gonzo-обзоры ML статей – Telegram
gonzo-обзоры ML статей
24.1K subscribers
2.72K photos
2 videos
3 files
1.34K links
Авторы:
Гриша Сапунов, ранее руководитель разработки Яндекс-Новостей, ныне CTO Intento. Области интересов: AI/ML/DL, биоинформатика.
Лёша Тихонов, ранее аналитик в Яндексе, автор Автопоэта, Нейронной Обороны... Области интересов: discrete domain, NLP, RL.
Download Telegram
In the meantime another hot news.

Microsoft опубликовал работу про прикольную мультимодальную языковую модель (Multimodal Large Language Model, MLLM) под названием Kosmos-1. Мультимодальность в том, что кроме текста на вход модель может принимать картинки и звук (в текущей версии только картинки), и решать множество разных задач, включая image captioning, OCR-free NLP, мультимодальный диалог, visual question answering, классификацию изображений по инструкциям.

Language Is Not All You Need: Aligning Perception with Language Models
https://arxiv.org/abs/2302.14045
🔥17👍2
Good news! The model behind ChatGPT is available through OpenAI API!

The new Chat API calls gpt-3.5-turbo, the same model used in the ChatGPT product. It’s also our best model for many non-chat use cases; we’ve seen early testers migrate from text-davinci-003 to gpt-3.5-turbo with only a small amount of adjustment needed to their prompts. Learn more about the Chat API in our documentation.

Pricing
It’s priced at $0.002 per 1K tokens, which is 10x cheaper than the existing GPT-3.5 models.

Model updates
We are constantly improving our Chat models, and want to make these improvements available to developers as well. Developers who use the gpt-3.5-turbo model will always get our recommended stable model, while still having the flexibility to opt for a specific model version.

For example, today we’re releasing “gpt-3.5-turbo-0301”, which will be supported through at least June 1st, and we’ll update gpt-3.5-turbo to a new stable release in April. The models page will provide switchover updates.

Traditionally, GPT models consume unstructured text, which is represented to the model as a sequence of “tokens.” ChatGPT models instead consume a sequence of messages together with metadata. (For the curious: under the hood, the input is still rendered to the model as a sequence of “tokens” for the model to consume; the raw format used by the model is a new format called Chat Markup Language (“ChatML”).)

We’ve created a new endpoint to interact with our ChatGPT models: https://api.openai.com/v1/chat/completions

More details:
https://platform.openai.com/docs/guides/chat/chat-vs-completions

Also Whisper API is available.

https://openai.com/blog/introducing-chatgpt-and-whisper-apis
23👍1
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