/ Модель

Характеристики

Лицензия
Apache 2.0
Архитектура
Emu3VisionVQ · dense
Библиотека
transformers
Опубликована
25 сен 2024

Emu3-VisionTokenizer

ЭмбеддингиТекст → embedding3 профессии

Модель BAAI семейства Emu3 для извлечения признаков и представления изображений в дискретных vision-токенах.

1 789скачиваний за 30 дней63лайкавеса обновлены8 окт 2024

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Эмбеддинги» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

BAAI/Emu3-VisionTokenizer — компонент семейства Emu3, разработанного командой Emu3 в BAAI. Это модель архитектуры Emu3VisionVQ для извлечения признаков; в репозитории веса сохранены в формате safetensors. Лицензия — Apache-2.0.

Токенизатор Emu3 преобразует изображения в дискретное пространство vision-токенов, используемое мультимодальными моделями семейства. README описывает Emu3 как семейство моделей, обученных предсказанию следующего токена и рассчитанных на генерацию изображений и видео, а также на понимание визуального содержимого с текстовыми ответами. Эти возможности семейства не следует автоматически считать возможностями одного токенизатора: карточка этой модели указывает задачу feature-extraction.

Сценарии применения

  • извлечение признаков изображения для конвейера Emu3
  • токенизация изображений для мультимодального моделирования
  • подготовка визуальных представлений для задач понимания изображений

Ограничения

Карточка этой модели не подтверждает, что сам токенизатор генерирует текст, изображения или видео; возможности генерации и понимания описаны для семейства Emu3 в целом. Конкретные параметры размера и контекста для этого репозитория не приведены.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Emu3 Team, BAAI

| Project Page | Paper | 🤗HF Models | github | Demo |

We introduce Emu3, a new suite of state-of-the-art multimodal models trained solely with next-token prediction! By tokenizing images, text, and videos into a discrete space, we train a single transformer from scratch on a mixture of multimodal sequences.

Emu3 excels in both generation and perception

Emu3 outperforms several well-established task-specific models in both generation and perception tasks, surpassing flagship open models such as SDXL, LLaVA-1.6 and OpenSora-1.2, while eliminating the need for diffusion or compositional architectures.

Highlights

  • Emu3 is capable of generating high-quality images following the text input, by simply predicting the next vision token. The model naturally supports flexible resolutions and styles.
  • Emu3 shows strong vision-language understanding capabilities to see the physical world and provides coherent text responses. Notably, this capability is achieved without depending on a CLIP and a pretrained LLM.
  • Emu3 simply generates a video causally by predicting the next token in a video sequence, unlike the video diffusion model as in Sora. With a video in context, Emu3 can also naturally extend the video and predict what will happen next.

Quickstart for Autoencoding

import os
import os.path as osp

from PIL import Image
import torch
from transformers import AutoModel, AutoImageProcessor

MODEL_HUB = "BAAI/Emu3-VisionTokenizer"

model = AutoModel.from_pretrained(MODEL_HUB, trust_remote_code=True).eval().cuda()
processor = AutoImageProcessor.from_pretrained(MODEL_HUB, trust_remote_code=True)

# TODO: you need to modify the path here
VIDEO_FRAMES_PATH = "YOUR_VIDEO_FRAMES_PATH"

video = os.listdir(VIDEO_FRAMES_PATH)
video.sort()
video = [Image.open(osp.join(VIDEO_FRAMES_PATH, v)) for v in video]

images = processor(video, return_tensors="pt")["pixel_values"]
images = images.unsqueeze(0).cuda()

# image autoencode
image = images[:, 0]
print(image.shape)
with torch.no_grad():
    # encode
    codes = model.encode(image)
    # decode
    recon = model.decode(codes)

recon = recon.view(-1, *recon.shape[2:])
recon_image = processor.postprocess(recon)["pixel_values"][0]
recon_image.save("recon_image.png")

# video autoencode
images = images.view(
    -1,
    model.config.temporal_downsample_factor,
    *images.shape[2:],
)

print(images.shape)
with torch.no_grad():
    # encode
    codes = model.encode(images)
    # decode
    recon = model.decode(codes)

recon = recon.view(-1, *recon.shape[2:])
recon_images = processor.postprocess(recon)["pixel_values"]
for idx, im in enumerate(recon_images):
    im.save(f"recon_video_{idx}.png")

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
Emu3VisionVQModel
Ревизия весов
c81f916

0 моделей