Нейролента - подборка новостей о нейронных сетях, ChatGPT

[Google] Gemini: A Family of Highly Capable Multimodal...

[Google] Gemini: A Family of Highly Capable Multimodal Models
Статья: https://storage.googleapis.com/deepmind-media/gemini/gemini_1_report.pdf
Блог: https://blog.google/technology/ai/google-gemini-ai
Сайт: https://deepmind.google/technologies/gemini/
Пощупать: https://bard.google.com (вроде как доступна средняя версия модели Pro)

Как обычно, продолжая “лучшие” традиции GPT-4 (https://t.me/gonzo_ML/1413) и PaLM 2 (https://t.me/gonzo_ML/1559), статья скудна на технические детали.

Текущая версия Gemini 1.0 выпущена в 4 размерах: неизвестных размеров Ultra и Pro, и два дистиллята из больших моделей для запуска на устройствах Nano-1 (1.8B параметров) и Nano-2 (3.25B).

Архитектура: декодер трансформера. Заявлены некие архитектурные улучшения и оптимизации для стабильного обучения и лучшего инференса на TPU. Но как теперь принято “У нас есть ТАКИЕ приборы! Но мы вам о них не расскажем”.

Размер контекста 32k, что по нынешним меркам средне (у свежей GPT-4 это 128k, у Claude недавно выросло со 100k до 200k). Но дьявол, конечно, в деталях. Не все йогурты одинаково полезны.

Модель мультимодальная.

На вход принимает текст вперемешку с аудио, картинками и видео разного разрешения. Видео кодируется как последовательность кадров. Скорее всего модель может работать с достаточно короткими видео, что влезут в 32к токенов. Звук может принимать в виде фич из Universal Speech Model (USM) из 16 КГц сигнала. Примеры мультимодального промптинга здесь: https://developers.googleblog.com/2023/12/how-its-made-gemini-multimodal-prompting.html.

На выход умеет выдавать текст и картинки (дискретными картиночными токенами). То есть мультимодальность повыше уровнем, чем у конкурентов, типа GPT-4V, где кроме текста только картинки и только на входе (https://t.me/gonzo_ML/1920).

Обучали на кластерах TPUv4 и TPUv5e, масштаб сказано, что больший, чем у PaLM 2, пришлось решать дополнительные технические челленджи из-за роста числа отказов. Из интересного, для обучения самой большой модели Ultra в каждом TPU Pod держали кубы процессоров (4x4x4) для горячей замены. Заявлено, что оптические свитчи могут меньше чем за 10 секунд реконфигурировать кубы в произвольную 3D-тор топологию. Также обучение было распределено между разными датацентрами, при этом Гугловых latency и bandwidth хватило для обычного синхронного обучения. Внутри супер-подов был model parallelism, между ними -- data parallelism.

* Сегодня же анонсировали TPUv5p (https://cloud.google.com/blog/products/ai-machine-learning/introducing-cloud-tpu-v5p-and-ai-hypercomputer), который по сравнению с TPUv4 имеет в два раза больше FLOPS и в три раза больше HBM памяти. Надо уже конечно обновить старый пост про ASIC (https://blog.inten.to/hardware-for-deep-learning-part-4-asic-96a542fe6a81).

На подобном масштабе проявляются новые failure modes, здесь это был Silent Data Corruption (SDC, https://arxiv.org/abs/2102.11245), когда данные по-тихому портятся и это не детектится железом. Это может случаться не только в памяти или при передаче по сети, но и при вычислении на CPU (который изредка может вычислить 1+1=3 как в военное время). По оценке это должно было случаться раз в одну-две недели. Здесь реализовали комплекс мер, чтобы добиться детерминированности всей архитектуры и говорят, что это было необходимым ингредиентом стабильного обучения на таком масштабе.

Для обучения использовался JAX и Pathways.

Про датасет известно мало что, но он мультимодальный и мультиязычный. Включает веб, книги, код, картинки, аудио и видео.

Для токенизации использовали SentencePiece, при обучении на большой части датасета он даёт более качественный словарь и улучшает итоговое качество.

Количество токенов для обучения выбирали по рецептам Шиншиллы (https://t.me/gonzo_ML/1216). Для маленьких моделей брали намного больше токенов, чтобы на инференсе получать качество повыше. Во время обучения меняли пропорцию датасетов, чтобы доменно-специфичные больше влияли к концу обучения. Подтверждают, что качество данных критично.