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

一站式AI创作平台

提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作

扣子-AI办公

扣子-AI办公

AI办公助手,复杂任务高效处理

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

Keevx

Keevx

AI数字人视频创作平台

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

TRAE编程

TRAE编程

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

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

热门AI工具生产力协作转型TraeAI IDE
蛙蛙写作

蛙蛙写作

AI小说写作助手,一站式润色、改写、扩写

蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。

AI助手AI工具AI写作工具AI辅助写作蛙蛙写作学术助手办公助手营销助手
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

聊天机器人AI助手热门AI工具AI对话
Transly

Transly

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

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

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

热门AI工具AI办公办公工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

模型训练热门AI工具内容创作智能问答AI开发讯飞星火大模型多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

下拉加载更多