Open-MAGVIT2

Open-MAGVIT2

自回归视觉生成新突破 大幅提升图像分词性能

Open-MAGVIT2是一个创新的自回归视觉生成项目,采用无查找技术和262144大小的码本,克服了VQGAN的局限性。该项目用PyTorch重新实现MAGVIT2分词器,在图像分词方面取得显著进展,8倍下采样时rFID达到0.39。项目致力于推动自回归视觉生成领域发展,目前处于积极开发阶段,未来计划拓展至视频生成领域。

Open-MAGVIT2视觉生成图像分词器自回归模型大规模词表Github开源项目

Open-MAGVIT2: 民主化自回归视觉生成

<p align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/5e8746de-882d-4c6e-b5b1-48d5fa601b92.png" height=300> </p>

尽管VQGAN在码本大小和利用率方面存在限制,低估了其潜力,但它在自回归视觉生成中仍然至关重要。MAGVIT2通过无查找技术和大型码本($2^{18}$)解决了这些问题,在图像和视频生成方面展现了promising的结果,并在VideoPoet中发挥了关键作用。然而,我们目前无法获取这个分词器。:broken_heart:

在我们的代码库中,我们用PyTorch重新实现了MAGVIT2分词器,closely复现了原始结果。我们希望我们的努力能够在自回归视觉生成领域促进创新和创造力。:green_heart:

📰 新闻

  • [2024.06.17] :fire::fire::fire: 我们发布了图像分词器的训练代码和不同分辨率的检查点,与VQGAN、MaskGIT以及最近的TiTok、LlamaGen和OmniTokenizer相比,达到了最先进的性能(8倍下采样的rFID为0.39)

🎤 待办事项

  • 通过扩大训练规模改进图像分词器。
  • 完成自回归模型的训练。
  • 视频分词器及相应的自回归模型。

🤗 Open-MAGVIT2仍处于早期阶段,正在积极开发中。敬请期待更新!

📖 实现

图1. Open-MAGVIT2分词器的框架,由编码器、无查找量化器(LFQ)和解码器组成。

<p align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/273be3cc-8d8b-47a4-94e7-c71d0781a6da.png"> </p>

🛠️ 安装

  • 环境:我们已在Python 3.8.8CUDA 11.7上测试过(其他版本也可能适用)。
  • 依赖项pip install -r requirements
  • 数据集
imagenet
└── train/
    ├── n01440764
        ├── n01440764_10026.JPEG
        ├── n01440764_10027.JPEG
        ├── ...
    ├── n01443537
    ├── ...
└── val/
    ├── ...

第一阶段:视觉分词器的训练

我们遵循MAGVIT-2中生成器的设计,但在GAN训练中使用PatchGAN而非StyleGAN作为判别器。我们结合了MAGVIT-2和VQGAN中使用的损失函数,以获得更好的训练稳定性和重建质量。所有训练细节可在配置文件中找到。请注意,我们使用32个V100进行模型训练。

🍺 定量比较

表1. 不同分词器在256×256 ImageNet 50k验证集上的重建性能。Open-MAGVIT2在不同下采样率上达到了最先进的结果。

方法标记类型标记数训练数据码本大小rFIDPSNR码本利用率检查点
VQGAN2D16 × 16256 × 256 ImageNet10247.9419.4--
SD-VQGAN2D16 × 16OpenImages163845.15---
MaskGIT2D16 × 16256 × 256 ImageNet10242.28---
LlamaGen2D16 × 16256 × 256 ImageNet163842.1920.7997%-
:fire:Open-MAGVIT22D16 × 16256 × 256 ImageNet2621441.5321.53100%IN256_Base
ViT-VQGAN2D32 × 32256 × 256 ImageNet81921.28---
VQGAN2D32 × 32OpenImages163841.1923.38--
SD-VQGAN2D32 × 32OpenImages163841.14---
OmniTokenizer-VQ2D32 × 32256 × 256 ImageNet81921.11---
LlamaGen2D32 × 32256 × 256 ImageNet163840.5924.45--
:fire:Open-MAGVIT2*2D32 × 32128 × 128 ImageNet2621440.3925.78100%IN128_Base
SD-VQGAN2D64 × 64OpenImages163840.58---
TiTok-L1D32256 × 256 ImageNet40962.21---
TiTok-B1D64256 × 256 ImageNet40961.70---
TiTok-S1D128256 × 256 ImageNet40961.71---

(*)表示结果来自直接使用128×128分辨率训练的模型进行推理,未经微调。 表2. 通过在128×128分辨率下训练和测试,与原始MAGVIT2进行比较,如其原始论文中所使用。使用ImageNet 50k验证集进行测试。

方法令牌类型令牌数量数据LFQ大型码本上/下采样器rFIDURL
MAGVIT22D16×16128×128 ImageNet1.21-
Open-MAGVIT22D16×16128×128 ImageNet1.56IN128_Base

:eyes: 重建可视化

图2. 在256×256分辨率下训练并在256×256分辨率下测试的Open-MAGVIT2分词器的可视化效果(imagenet_256_Base版本)。(a)表示原始图像,而(b)表示重建图像。

<p align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/0cc87856-5a42-49ba-8a4a-648fca533e91.png"> </p>

图3. 在128×128分辨率下训练并在512×512分辨率下测试的Open-MAGVIT2分词器的可视化效果(imagenet_128_Base版本)。(a)表示原始图像,而(b)表示重建图像。

<p align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/d52806bf-678f-48e3-9128-908fd436403b.png"> </p>

🚀 训练脚本

  • 128×128分词器训练
bash run_128_B.sh
  • 256×256分词器训练
bash run_256_B.sh

🚀 评估脚本

  • 128×128分词器评估
python evaluation.py --config_file configs/imagenet_lfqgan_128_B.yaml --ckpt_path "Your Path" --image_size 128
  • 256×256分词器评估
python evaluation.py --config_file configs/imagenet_lfqgan_256_B.yaml --ckpt_path "Your Path" --image_size 256

阶段II: 自回归生成训练

MAGVIT2使用非自回归transformer进行图像生成。相反,我们希望利用相对较大的码本来探索自回归视觉生成的潜力。我们目前正在探索阶段II的训练。

❤️ 致谢

我们感谢Lijun Yu的鼓励性讨论。我们参考了很多来自VQGAN和MAGVIT的内容。感谢他们出色的工作。

✏️ 引用

如果您发现这个代码库有帮助,请引用它。

@software{Luo_Open-MAGVIT2_2024,
author = {Luo, Zhuoyan and Shi, Fengyuan and Ge, Yixiao},
month = jun,
title = {{Open-MAGVIT2}},
url = {https://github.com/TencentARC/Open-MAGVIT2},
version = {1.0},
year = {2024}
}

@inproceedings{
yu2024language,
title={Language Model Beats Diffusion - Tokenizer is key to visual generation},
author={Lijun Yu and Jose Lezama and Nitesh Bharadwaj Gundavarapu and Luca Versari and Kihyuk Sohn and David Minnen and Yong Cheng and Agrim Gupta and Xiuye Gu and Alexander G Hauptmann and Boqing Gong and Ming-Hsuan Yang and Irfan Essa and David A Ross and Lu Jiang},
booktitle={The Twelfth International Conference on Learning Representations},
year={2024},
url={https://openreview.net/forum?id=gzqrANCF4g}
}

编辑推荐精选

潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

Keevx

Keevx

AI数字人视频创作平台

Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。

下拉加载更多