In the meantime, some slides from my talks on NLP in 2022
https://docs.google.com/presentation/d/1m7Wpzaowbvi2je6nQERXyfQ0bzzS0dD0OArWznfOjHE/edit
https://docs.google.com/presentation/d/1m7Wpzaowbvi2je6nQERXyfQ0bzzS0dD0OArWznfOjHE/edit
Google Docs
NLP in 2022 / Intento
NLP in 2022 Grigory Sapunov Internal talks / 2023.03.01-2023.03.08 gs@inten.to
👍16🔥2👏2💩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 в пространство эмбеддингов.
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 в пространство эмбеддингов.
palm-e.github.io
PaLM-E: An Embodied Multimodal Language Model
Project page for PaLM-E: An Embodied Multimodal Language Model.
🔥11👍6❤2🤯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 генерализация на объекты, которых не было в обучении (чашка с кофе там, или черепашка).
Для задач планирования также хорошо уметь ссылаться на конкретные объекты (которые могут быть получены из 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 генерализация на объекты, которых не было в обучении (чашка с кофе там, или черепашка).
arXiv.org
Object-Centric Learning with Slot Attention
Learning object-centric representations of complex scenes is a promising step towards enabling efficient abstract reasoning from low-level perceptual features. Yet, most deep learning approaches...
👍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 архитектуры я в плане сознания верю существенно больше.
Кажется ещё добавить побольше вот этого роботного экспириенса с рецепторами/эффекторами…
За низкоуровневые полиси отвечал трансформер 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
And another relevant news. Hugging Face reproduced DeepMind Flamingo (https://news.1rj.ru/str/gonzo_ML/941), a model that combines a pretrained vision encoder with a pretrained language model.
They plan to open-source this work soon.
More details: https://www.linkedin.com/posts/victor-sanh_multimodal-llm-deeplearning-activity-7038583909994885120-BjsF
They plan to open-source this work soon.
More details: https://www.linkedin.com/posts/victor-sanh_multimodal-llm-deeplearning-activity-7038583909994885120-BjsF
Telegram
gonzo-обзоры ML статей
[DeepMind] Flamingo: a Visual Language Model for Few-Shot Learning
Авторы: Jean-Baptiste Alayrac, Jeff Donahue, Pauline Luc, Antoine Miech, Iain Barr, Yana Hasson, Karel Lenc, Arthur Mensch, Katie Millican, Malcolm Reynolds, Roman Ring, Eliza Rutherford,…
Авторы: Jean-Baptiste Alayrac, Jeff Donahue, Pauline Luc, Antoine Miech, Iain Barr, Yana Hasson, Karel Lenc, Arthur Mensch, Katie Millican, Malcolm Reynolds, Roman Ring, Eliza Rutherford,…
👍10
[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 во время обучения был заморожен кроме последнего слоя.
Авторы: 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 во время обучения был заморожен кроме последнего слоя.
Telegram
gonzo-обзоры ML статей
[OpenAI CLIP] Learning Transferable Visual Models From Natural Language Supervision
Alec Radford, Jong Wook Kim, Chris Hallacy, Aditya Ramesh, Gabriel Goh, Sandhini Agarwal, Girish Sastry, Amanda Askell, Pamela Mishkin, Jack Clark, Gretchen Krueger, Ilya…
Alec Radford, Jong Wook Kim, Chris Hallacy, Aditya Ramesh, Gabriel Goh, Sandhini Agarwal, Girish Sastry, Amanda Askell, Pamela Mishkin, Jack Clark, Gretchen Krueger, Ilya…
👍8❤1
Также используются относительные позиционные энкодинги Extrapolatable Position Embedding (xPos, https://arxiv.org/abs/2212.10554), которые лучше генерализуют на разные длины и заявлены как “a universal-good design for Transformers”. По характеристикам лучше популярных RoPE (кстати, эти были в LLaMA, https://news.1rj.ru/str/gonzo_ML/1324).
Обучались на большом собранном из веба корпусе моно-, кросс-модальных и чередующихся мульти-модальных данных. В мономодальных данных текст из The Pile (исключили GitHub, arXiv, Stack Exchange, PubMed Central) и CC. В датасете картинка-текст собраны English LAION-2B, LAION-400M, COYO-700M, Conceptual Captions. В качестве чередующихся картинка-текст -- страницы с картинками из CC.
Сеть обучается предсказывать следующий токен, обычный кросс-энтропийный лосс. Обучалось на 360B токенов (что кажется сильно выше, типа на порядок, рекомендаций из Шиншиллы для такого размера модели, https://news.1rj.ru/str/gonzo_ML/1223).
Также сделали language-only instruction tuning. Модель продолжили обучать на данных формата (instructions, inputs, and outputs). При этом в лоссе учитывались только outputs. Данные взяли из Unnatural Instructions (68478 триплетов) и FLANv2 (54k примеров).
На image captioning хороший результат и обошли в разы более тяжёлые варианты Flamingo (на 3B и 9B) в zero-shot. На few-shot тоже хорошо.
На VQA регулярно бьёт Фламинги на 3 и 9B (последнюю не везде).
Потестили nonverbal reasoning на Raven’s Progressive Matrices, zero-shot без всякого файнтюна. Не радикально, но выше рандома. Что интересно, без instruction tuning лучше. Пишут, что впервые модель такое в zero-shot может выполнять.
Продемонстрировали OCR-free language understanding с более высоким качеством, чем разные модели вплоть до CLIP ViT-L/14 и обе фламинги на 3 и 9B.
В Web Page Question Answering на Web-based Structural Reading Comprehension (WebSRC), надо дать ответ по странице (включая её структуру в виде таблиц, картинок и прочего). На вход кроме извлечённого текста прилетает и картинка. Kosmos-1 справляется заметно лучше, чем LLM (также было бы логично и с какой-нибудь LayoutLM сравнить имхо).
Также продемонстрировали мультимодальный Chain-of-Thought, когда вместо сразу ответа на вопрос по картинке модель сначала генерит описание, а потом с картинкой и этим описанием в промпте лучше отвечает. Решение задачи через CoT на SST-2 повышает точность с 67.1 до 72.9. Хорошее улучшение без изменения модели.
В задаче zero-shot image classification на ImageNet обошли GIT (https://arxiv.org/abs/2205.14100). Не знаю, на самом деле, кто в этой задаче более подходящий ориентир, наверняка есть.
Прикольное расширение задачи классификации, когда можно добавить описания классов, это типа Zero-Shot Image Classification with Denoscriptions. Заметно повышает качество. На датасете с птичками с 61.7 до 90.0.
Сравнивали на 8 языковых задачах с LLM, обученной на тех же текстовых данных. В целом LLM часто чуть получше.
Продемонстрировали cross-modal transfer. Модель дообученная на language-only instruction tuning делает captioning и VQA лучше. Это трансфер из текстовой модальности в картиночную. В обратную сторону проверили на Visual Commonsense Reasoning, там тоже Kosmos-1 сработала заметно лучше, чем LLM. В этих задачах надо было сравнивать размеры двух объектов или называть цвет объекта из текста.
В следующих версиях обещают отскейлить модель и добавить речь (благо, у MS есть VALLE, https://valle-demo.github.io/).
Обучались на большом собранном из веба корпусе моно-, кросс-модальных и чередующихся мульти-модальных данных. В мономодальных данных текст из The Pile (исключили GitHub, arXiv, Stack Exchange, PubMed Central) и CC. В датасете картинка-текст собраны English LAION-2B, LAION-400M, COYO-700M, Conceptual Captions. В качестве чередующихся картинка-текст -- страницы с картинками из CC.
Сеть обучается предсказывать следующий токен, обычный кросс-энтропийный лосс. Обучалось на 360B токенов (что кажется сильно выше, типа на порядок, рекомендаций из Шиншиллы для такого размера модели, https://news.1rj.ru/str/gonzo_ML/1223).
Также сделали language-only instruction tuning. Модель продолжили обучать на данных формата (instructions, inputs, and outputs). При этом в лоссе учитывались только outputs. Данные взяли из Unnatural Instructions (68478 триплетов) и FLANv2 (54k примеров).
На image captioning хороший результат и обошли в разы более тяжёлые варианты Flamingo (на 3B и 9B) в zero-shot. На few-shot тоже хорошо.
На VQA регулярно бьёт Фламинги на 3 и 9B (последнюю не везде).
Потестили nonverbal reasoning на Raven’s Progressive Matrices, zero-shot без всякого файнтюна. Не радикально, но выше рандома. Что интересно, без instruction tuning лучше. Пишут, что впервые модель такое в zero-shot может выполнять.
Продемонстрировали OCR-free language understanding с более высоким качеством, чем разные модели вплоть до CLIP ViT-L/14 и обе фламинги на 3 и 9B.
В Web Page Question Answering на Web-based Structural Reading Comprehension (WebSRC), надо дать ответ по странице (включая её структуру в виде таблиц, картинок и прочего). На вход кроме извлечённого текста прилетает и картинка. Kosmos-1 справляется заметно лучше, чем LLM (также было бы логично и с какой-нибудь LayoutLM сравнить имхо).
Также продемонстрировали мультимодальный Chain-of-Thought, когда вместо сразу ответа на вопрос по картинке модель сначала генерит описание, а потом с картинкой и этим описанием в промпте лучше отвечает. Решение задачи через CoT на SST-2 повышает точность с 67.1 до 72.9. Хорошее улучшение без изменения модели.
В задаче zero-shot image classification на ImageNet обошли GIT (https://arxiv.org/abs/2205.14100). Не знаю, на самом деле, кто в этой задаче более подходящий ориентир, наверняка есть.
Прикольное расширение задачи классификации, когда можно добавить описания классов, это типа Zero-Shot Image Classification with Denoscriptions. Заметно повышает качество. На датасете с птичками с 61.7 до 90.0.
Сравнивали на 8 языковых задачах с LLM, обученной на тех же текстовых данных. В целом LLM часто чуть получше.
Продемонстрировали cross-modal transfer. Модель дообученная на language-only instruction tuning делает captioning и VQA лучше. Это трансфер из текстовой модальности в картиночную. В обратную сторону проверили на Visual Commonsense Reasoning, там тоже Kosmos-1 сработала заметно лучше, чем LLM. В этих задачах надо было сравнивать размеры двух объектов или называть цвет объекта из текста.
В следующих версиях обещают отскейлить модель и добавить речь (благо, у MS есть VALLE, https://valle-demo.github.io/).
Telegram
gonzo-обзоры ML статей
[Meta AI] LLaMA: Open and Efficient Foundation Language Models
Hugo Touvron, Thibaut Lavril, Gautier Izacard, Xavier Martinet, Marie-Anne Lachaux, Timothée Lacroix, Baptiste Rozière, Naman Goyal, Eric Hambro, Faisal Azhar, Aurelien Rodriguez, Armand Joulin…
Hugo Touvron, Thibaut Lavril, Gautier Izacard, Xavier Martinet, Marie-Anne Lachaux, Timothée Lacroix, Baptiste Rozière, Naman Goyal, Eric Hambro, Faisal Azhar, Aurelien Rodriguez, Armand Joulin…
👍7🔥3