HART:麻省理工学院推出的自回归视觉生成模型

简介: HART(Hybrid Autoregressive Transformer)是麻省理工学院推出的自回归视觉生成模型,能够直接生成1024×1024像素的高分辨率图像,质量媲美扩散模型。HART基于混合Tokenizer技术,显著提升了图像生成质量和计算效率,适用于数字艺术创作、游戏开发、电影和视频制作等多个领域。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

高分辨率图像生成:HART能够直接生成1024×1024像素的高分辨率图像。
图像质量提升:基于混合Tokenizer技术,HART在图像重建和生成质量上超越传统自回归模型。
计算效率优化:在保持高图像质量的同时,显著提高计算效率,降低训练成本和推理延迟。

正文(附运行示例)

HART 是什么

HART-website.png

HART(Hybrid Autoregressive Transformer)是麻省理工学院研究团队推出的自回归视觉生成模型。该模型能够直接生成1024×1024像素的高分辨率图像,其生成质量可与扩散模型相媲美。HART的核心技术在于其混合Tokenizer,这种技术将自动编码器的连续潜在表示分解为离散token和连续token。离散token负责捕捉图像的主要结构,而连续token则专注于细节。

HART的轻量级残差扩散模块仅用3700万参数,大幅提升了计算效率。在MJHQ-30K数据集上,HART将重构FID从2.11降至0.30,生成FID从7.85降至5.38,提升了31%。此外,HART在吞吐量上比现有扩散模型提高了4.5-7.7倍,MAC降低6.9-13.4倍。

HART 的主要功能

  • 高分辨率图像生成:直接生成1024×1024像素的高分辨率图像,满足高质量视觉内容的需求。
  • 图像质量提升:基于混合Tokenizer技术,HART在图像重建和生成质量上超越传统的自回归模型,与扩散模型相媲美。
  • 计算效率优化:在保持高图像质量的同时,显著提高计算效率,降低训练成本和推理延迟。
  • 自回归建模:基于自回归方法,逐步生成图像,支持对生成过程进行更精细的控制。

HART 的技术原理

  • 混合Tokenizer:HART的核心是混合Tokenizer,将自动编码器的连续潜在表示分解为离散token和连续token。离散token负责捕捉图像的主要结构,连续token专注于细节。
  • 离散自回归模型:离散部分由一个可扩展分辨率的离散自回归模型建模,支持模型在不同分辨率下生成图像。
  • 轻量级残差扩散模块:连续部分由一个轻量级的残差扩散模块学习,该模块只有3700万个参数,有助于提高模型的效率。
  • 效率与性能平衡:HART在FID和CLIP分数上优于现有的扩散模型,在吞吐量上提高了4.5-7.7倍,MAC降低6.9-13.4倍,实现效率与性能的良好平衡。
  • 自回归生成:HART基于自回归方法,逐步生成图像,每一步都基于前一步的输出,支持模型在生成过程中逐步细化图像细节。

如何运行 HART

环境设置

首先,克隆HART的GitHub仓库并设置环境:

git clone https://github.com/mit-han-lab/hart
cd hart
conda create -n hart python=3.10
conda activate hart
conda install -c nvidia cuda-toolkit -y
pip install -e .
cd hart/kernels && python setup.py install

下载模型和Tokenizer

下载Qwen2-VL-1.5B-Instruct模型和HART tokenizer及模型:

git clone https://huggingface.co/mit-han-lab/Qwen2-VL-1.5B-Instruct
git clone https://huggingface.co/mit-han-lab/hart-0.7b-1024px

运行Gradio Demo

使用以下命令启动Gradio demo:

python app.py --model_path /path/to/model \
   --text_model_path /path/to/Qwen2 \
   --shield_model_path /path/to/ShieldGemma2B

命令行推理

  1. 使用单个提示生成图像:
python sample.py --model_path /path/to/model \
   --text_model_path /path/to/Qwen2 \
   --prompt "YOUR_PROMPT" \
   --sample_folder_dir /path/to/save_dir \
   --shield_model_path /path/to/ShieldGemma2B
  1. 使用多个提示生成图像:
python sample.py --model_path /path/to/model \
   --text_model_path /path/to/Qwen2 \
   --prompt_list [Prompt1, Prompt2, ..., PromptN] \
   --sample_folder_dir /path/to/save_dir \
   --shield_model_path /path/to/ShieldGemma2B

延迟基准测试

使用以下命令进行延迟基准测试:

python latency_profile.py --model_path /path/to/model \
   --text_model_path /path/to/Qwen2

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

相关文章
|
PyTorch 算法框架/工具 计算机视觉
用thop去获得模型参数量和计算量(pytorch)
用thop去获得模型参数量和计算量(pytorch)
1133 2
|
SQL Oracle 关系型数据库
FastAPI数据库系列(一) MySQL数据库操作 一、简介
FastAPI中你可以使用任何关系型数据库,可以通过SQLAlchemy将其轻松的适应于任何的数据库,比如: PostgreSQL MySQL SQLite Oracle Microsoft SQL Server ...
|
1月前
|
机器学习/深度学习 自然语言处理 数据可视化
大模型应用:文本转语音实践:Tacotron2预训练模型和SpeechT5模型应用.19
本文详解Tacotron2与SpeechT5两大主流TTS模型:前者是经典序列到序列架构,语音质量高、原理清晰;后者为微软轻量统一模型,支持多语言、多说话人及语音克隆。内容涵盖原理、代码实战、音色定制与语速调节,适合初学者系统入门。
163 23
|
PHP 计算机视觉
罗德里格斯公式推导,以及如何使用cv2.Rodrigues进行旋转矩阵和旋转向量之间的相互转化
罗德里格斯公式推导,以及如何使用cv2.Rodrigues进行旋转矩阵和旋转向量之间的相互转化
902 0
|
存储 人工智能 算法
Magic 1-For-1:北大联合英伟达推出的高质量视频生成量化模型,支持在消费级GPU上快速生成
北京大学、Hedra Inc. 和 Nvidia 联合推出的 Magic 1-For-1 模型,优化内存消耗和推理延迟,快速生成高质量视频片段。
672 3
Magic 1-For-1:北大联合英伟达推出的高质量视频生成量化模型,支持在消费级GPU上快速生成
|
机器学习/深度学习 人工智能 PyTorch
【AI系统】数据并行
数据并行是一种在分布式AI系统中广泛应用的技术,通过将数据集划分成多个子集并在不同计算节点上并行处理,以提高计算效率和速度。在大规模机器学习和深度学习训练中,数据并行可以显著加快模型训练速度,减少训练时间,提升模型性能。每个计算节点接收完整的模型副本,但处理不同的数据子集,从而分摊计算任务,提高处理速度和效率。数据并行按同步方式可分为同步数据并行和异步数据并行,按实现方式包括数据并行、分布式数据并行、完全分片的数据并行等。其中,分布式数据并行(DDP)是当前应用最广泛的并行算法之一,通过高效的梯度聚合和参数同步机制,确保模型一致性,适用于大型NPU集群和AI系统。
772 7
【AI系统】数据并行
|
存储 人工智能 编译器
【AI系统】昇腾数据布局转换
华为昇腾NPU采用独特的NC1HWC0五维数据格式,旨在优化AI处理器的矩阵乘法运算和访存效率。此格式通过将C维度分割为C1份C0,适应达芬奇架构的高效计算需求,支持FP16和INT8数据类型。此外,昇腾还引入了NZ分形格式,进一步提升数据搬运和矩阵计算效率。AI编译器通过智能布局转换,确保在不同硬件上达到最优性能。
959 3
|
API vr&ar Android开发
一文搞懂ARKit,ARCore,RealityKit和Vuforia
AR框架的一个核心是含能够理解特征的场景和各种类型的锚点。锚点有很多种,可根据特定场景来摆放3D模型 ,甚至可以真人来做距离测量(ARBodyAnchor)。并且这些框架不容忽视的优势是具有进行场景重建和人形遮挡(occlusion)的32位尝试数据。
1975 4
|
存储 编译器 C语言
c语言中int的作用和类型
c语言中int的作用和类型
1575 0
|
机器学习/深度学习 TensorFlow API
TensorFlow 2.0 快速入门指南:第一部分
TensorFlow 2.0 快速入门指南:第一部分
439 0

热门文章

最新文章