/ Модель

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

Лицензия
Своя лицензия
Архитектура
vtp · dense
Библиотека
transformers
Опубликована
16 дек 2025

VTP-Base-f16d64

Эмбеддинги изображенийИзображение → embedding3 профессии

Производная модели MiniMaxAI/VTP-Large-f16d64. VTP-Large-f16d64 — визуальный токенизатор для извлечения семантических признаков изображений, классификации и подготовки представлений для генеративных моделей.

174скачиваний за 30 дней21лайквеса обновлены16 дек 2025

Бенчмарки

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

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

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

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

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

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

Карточка модели MiniMaxAI/VTP-Base-f16d64 на Hugging Face совпадает с карточкой MiniMaxAI/VTP-Large-f16d64, поэтому описание составлено по ней.

VTP-Large-f16d64 — крупный визуальный токенизатор, обученный командой MiniMax совместно с исследователями Huazhong University of Science and Technology. Модель реализует подход Visual Tokenizer Pre-training (VTP): совместно оптимизирует контрастивное обучение изображений и текста, самообучение и реконструкцию, чтобы формировать латентные представления изображений с семантической информацией.

Модель предназначена для извлечения признаков изображений, классификации без примеров и с линейным пробингом, реконструкции изображений и подготовки латентных представлений для генеративных моделей, включая DiT. В отчёте авторы приводят точность zero-shot-классификации 78,2, rFID 0,36 и ускорение сходимости генерации в 3 раза по сравнению с рассмотренными методами дистилляции. Репозиторий содержит веса в формате safetensors; для использования предлагается библиотека Transformers.

Авторы отмечают, что работа ещё продолжается. Для модели указана лицензия other, поэтому условия использования следует проверять в материалах проекта перед внедрением. README описывает визуальные сценарии, но не приводит сведения о поддержке текстового входа в самой модели.

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

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

Ограничения

Авторы отмечают, что работа ещё продолжается; заявленные результаты приведены в README и зависят от описанных там условий оценки. Лицензия обозначена как other, поэтому перед использованием необходимо проверить её условия.

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

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

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

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

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

Открыть на Hugging Face

Jingfeng Yao1, Yuda Song2, Yucong Zhou2, Xinggang Wang1,*

1Huazhong University of Science and Technology 2MiniMax
*Corresponding author: xgwang@hust.edu.cn

Work still in Progress.

MiniMax Hailuo HUSTVL HuggingFace GitHub arXiv

News

Takeaways

By integrating contrastive, self-supervised, and reconstruction learning, we have trained numerous visual tokenizers from scratch. We are seeking to unveil the novel scalability interlinking understanding, generation, and reconstruction.

  • Same FLOPs in DiT Training, VTP scaling helps better generation.

  • Traditional auto-encoders CANNOT be scaled up for diffusion generative models.

  • Understanding is the key driver for improving the learnability scaling.

  • Parameter, data and training scalability can be seen while representation learning involved.

Get Checkpoints

Checkpoints
VTP-S-f16d64
VTP-B-f16d64
VTP-L-f16d64

Weights will be released very soon.

pip install -r requirements.txt
import torch
from PIL import Image
from torchvision import transforms

from vtp.models.vtp_hf import VTPConfig, VTPModel
from vtp.tokenizers import get_tokenizer

model = VTPModel.from_pretrained("/path/to/MiniMaxAI/VTP-Large-f16d64")
model.eval()

# print model parameters
def count_params(m): return sum(p.numel() for p in m.parameters()) / 1e6
print(f"Vision Encoder: {count_params(model.trunk):.1f}M")
print(f"Pixel Decoder:  {count_params(model.pixel_decoder):.1f}M")
print(f"Text Encoder:   {count_params(model.text_transformer):.1f}M")

preprocess = transforms.Compose([
    transforms.Resize((256, 256)),
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
])
image = preprocess(Image.open("figures/dog.png")).unsqueeze(0)

# ---------------------------------------------------------------------------------------
# use it as auto-encoder; rFID=0.36
# ---------------------------------------------------------------------------------------
denormalize = transforms.Normalize(
    mean=[-0.485/0.229, -0.456/0.224, -0.406/0.225],
    std=[1/0.229, 1/0.224, 1/0.225]
)
with torch.no_grad(), torch.autocast("cuda"):
    latents = model.get_reconstruction_latents(image)  # encode
    recon = model.get_latents_decoded_images(latents)  # decode
recon_image = denormalize(recon[0]).clamp(0, 1).permute(1, 2, 0).cpu().numpy()
Image.fromarray((recon_image * 255).astype("uint8")).save("output/reconstructed.png")


# ---------------------------------------------------------------------------------------
# use it as clip; zero-shot 78.2
# ---------------------------------------------------------------------------------------
tokenizer = get_tokenizer('ViT-B-32', context_length=model.config.text_context_length)
text = tokenizer(["a diagram", "a dog", "a cat", "a person"])
with torch.no_grad(), torch.autocast("cuda"):
    image_features = model.get_clip_image_feature(image, normalize=True)
    text_features = model.get_clip_text_feature(text, normalize=True)
    text_probs = (100.0 * image_features @ text_features.T).softmax(dim=-1)
print("Label probs:", [f"{p:.4f}" for p in text_probs[0].tolist()])

# ---------------------------------------------------------------------------------------
# use it as ssl feature extractor; linear probing 85.7
# ---------------------------------------------------------------------------------------
with torch.no_grad(), torch.autocast("cuda"):
    # get last layer features (cls token + patch tokens)
    features = model.get_last_layer_feature(image)
    cls_token = features['cls_token']      # (B, 1024)
    patch_tokens = features['patch_tokens']  # (B, 256, 1024) for 256x256 image

    # or get intermediate layer features for linear probing
    intermediate = model.get_intermediate_layers_feature(
        image, n=4, return_class_token=True
    )  # returns 4 x (patch_tokens, cls_token), each cls_token is (B, 1024)
    for i in range(1, 5):
        print('Last %d layers:' % i)
        print('Patch tokens shape:', intermediate[-i][0].shape)
        print('Cls token shape:', intermediate[-i][1].shape)

Performance

Introduction

The quality of the latent space in visual tokenizers (e.g., VAEs) is crucial for modern generative models. However, the standard reconstruction-based training paradigm produces a latent space that is biased towards low-level information, leading to a foundation flaw: better pixel-level accuracy does not lead to higher-quality generation. This implies that pouring extensive compute into visual tokenizer pre-training translates poorly to improved performance in generation.

We identify this as the "pre-training scaling problem" and suggest a necessary shift: to be effective for generation, a latent space must concisely represent high-level semantics. We present visual tokenizer pre-training, VTP, a unified visual tokenizer pre-training framework, pioneering the joint optimization of image-text contrastive, self-supervised, and reconstruction losses. Our large-scale study reveals two principal findings: (1) understanding is a key driver of generation, and (2) much better scaling properties, where generative performance scales effectively with compute, parameters, and data allocated to the pretraining of the visual tokenizer. After large-scale pre-training, our tokenizer delivers a competitive profile (78.2 zero-shot accuracy, 0.36 rFID) and 3× faster convergence on generation compared to advanced distillation methods. More importantly, it scales effectively: without modifying standard DiT training specs, solely investing more FLOPS in pretraining VTP achieves 65.8% FID improvement in downstream generation, while conventional autoencoder stagnates very early at 1/10 FLOPS.

Evaluation

Installation

conda create -n vtp python=3.10
conda activate vtp
git submodule update --init --recursive
pip install -r requirements.txt

Zero-shot Classification

Modify the corresponding paths in scripts/test_zero_shot_hf.sh. Run:

bash scripts/test_zero_shot_hf.sh 

Linear Probing Classification

Modify the corresponding paths in scripts/test_linear_probing_hf.sh. Run:

bash scripts/test_linear_probing_hf.sh

ImageNet Reconstruction

Modify the corresponding paths in scripts/test_reconstruction_hf.sh. Run:

bash scripts/test_reconstruction_hf.sh

ImageNet Generation

We use LightningDiT codes to evaluate our generation performance.

Feature extraction:

bash generation/scripts/extract_features_vtp.sh generation/configs/train_vtp_l_dit_xl.yaml

LightningDiT training:

bash generation/scripts/train_lightningdit_vtp.sh generation/configs/train_vtp_l_dit_xl.yaml

LightningDiT sampling:

bash generation/scripts/inference_lightningdit_vtp.sh generation/configs/train_vtp_l_dit_xl.yaml

Acknowledgements

Our pre-training codes are built upon OpenCLIP and DINOv2. Our final model variant uses DINOv3 architecture.

We use LightningDiT for generation evaluation.

Thanks for their great codes.

Citation

@article{vtp,
  title={Towards Scalable Pre-training of Visual Tokenizers for Generation},
  author={Yao, Jingfeng and Song, Yuda and Zhou, Yucong and Wang, Xinggang},
  journal={arXiv preprint arXiv:2512.13687},
  year={2025}
}

Contact Us

Contact us at model@minimax.io.

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

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

GPU в ailist

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

Нельзя запустить

Архитектура vtp неизвестна transformers в образе рантайма.

Класс архитектуры
VTPModel
Ревизия весов
21fe3a9

0 моделей