本文于 2024-12-26 19:08 更新,部分内容具有时效性,如有失效,请留言
综合介绍
Infinity是一个开创性的高分辨率图像生成框架,由FoundationVision团队开发。该项目通过创新的位级视觉自回归建模方法,突破了传统图像生成模型的限制。Infinity的核心特点是采用了无限词汇量的分词器和分类器,配合位级自校正机制,能够生成超高质量的真实感图像。项目完全开源,提供了从2B到20B参数规模的模型选择,支持最高1024x1024分辨率的图像生成。作为一个前沿的研究项目,Infinity不仅推动了计算机视觉领域的技术进步,也为图像生成任务提供了新的解决方案。
功能列表
- 2B参数模型支持高达1024x1024分辨率的高质量图像生成
- 提供无限词汇量的视觉分词器,支持更精细的图像特征提取
- 实现位级自校正机制,提高生成图像的质量和准确性
- 支持多种模型规模(125M、1B、2B、20B参数)的灵活选择
- 提供交互式推理接口,方便用户进行图像生成实验
- 集成了完整的训练和评估框架
- 支持模型性能的多维度评估(GenEval、DPG、HPSv2.1等指标)
- 提供在线演示平台,允许用户直接体验图像生成效果
使用帮助
1. 环境配置
1.1 基本要求:
- Python环境
- PyTorch >= 2.5.1(需要FlexAttention支持)
- 通过pip安装其他依赖:
pip3 install -r requirements.txt
2. 模型使用
2.1 快速开始:
- 从HuggingFace下载预训练模型:infinity_2b_reg.pth
- 下载视觉分词器:infinity_vae_d32_reg.pth
- 使用interactive_infer.ipynb进行交互式图像生成
2.2 训练配置:
# 使用单条命令启动训练
bash scripts/train.sh
# 不同规模模型的训练命令
# 125M模型(256x256分辨率)
torchrun --nproc_per_node=8 train.py --model=layer12c4 --pn 0.06M
# 2B模型(1024x1024分辨率)
torchrun --nproc_per_node=8 train.py --model=2bc8 --pn 1M
2.3 数据准备:
- 训练数据需要准备为JSONL格式
- 每个数据项包含:图像路径、长短文本描述、图像宽高比等信息
- 项目提供了样例数据集供参考
2.4 模型评估:
- 支持多种评估指标:
- ImageReward:评估生成图像的人类偏好分数
- HPS v2.1:基于798K人工排名的评估指标
- GenEval:评估文本到图像的对齐度
- FID:评估生成图像的质量和多样性
2.5 在线演示:
- 访问官方演示平台:https://opensource.bytedance.com/gmpt/t2i/invite
- 输入文本描述,即可生成对应的高质量图像
- 支持多种图像分辨率和生成参数的调整
3. 进阶功能
3.1 位级自校正机制:
- 自动识别和修正生成过程中的错误
- 提高生成图像的质量和准确性
3.2 模型扩展:
- 支持模型规模的灵活扩展
- 提供从125M到20B参数的多个型号
- 适应不同的硬件环境和应用需求
4. 注意事项
- 确保硬件资源满足模型要求
- 大规模模型需要足够的GPU内存
- 推荐使用高性能计算设备进行训练
- 定期备份训练检查点
- 注意遵守MIT开源协议