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
This media is not supported in your browser
VIEW IN 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