Lumina-mGPT

Lumina-mGPT

多模态AI模型实现文本到图像的灵活生成

Lumina-mGPT是一个多模态自回归模型系列,适用于多种视觉和语言任务。这个开源项目特别擅长将文本描述转化为逼真图像,提供7B和34B两种参数规模的模型,以及多种图像分辨率选项。除图像生成外,Lumina-mGPT还支持图像理解和全能型任务,为AI研究和应用开发提供了灵活的工具。

Lumina-mGPT多模态图像生成自回归模型人工智能Github开源项目
<div align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/40778803-d78b-4dde-8a98-9b8bc0ac43f4.png" width="30%"/>

Lumina-mGPT

<b> 一系列能够执行各种视觉和语言任务的多模态自回归模型,特别擅长根据文本描述生成灵活的逼真图像。👋 加入我们的<a href="http://imagebind-llm.opengvlab.com/qrcode/" target="_blank">微信</a> </b>

Lumina-mGPT 

Static Badge  Static Badge 

</div> <img src="https://yellow-cdn.veclightyear.com/835a84d5/5091c6c8-5f4b-45be-bda3-0fd5295ab1a0.png">

📰 新闻

  • [2024-08-11] 🎉🎉🎉 训练代码和文档已发布!🎉🎉🎉

  • [2024-07-08] 🎉🎉🎉 Lumina-mGPT 已发布!🎉🎉🎉

⚙️ 安装

详细说明请参见 INSTALL.md

请注意,Lumina-mGPT 的实现heavily依赖于xllmx模块,该模块由LLaMA2-Accessory演变而来,用于支持以LLM为中心的多模态任务。在继续之前,请确保它已正确安装为Python包。

⛽ 训练

请参见 lumina_mgpt/TRAIN.md

📽️ 推理

[!注意]

在使用Lumina-mGPT模型之前,请运行

# bash cd lumina_mgpt

进入Lumina-mGPT实现的目录。

准备工作

由于目前transformers中的Chameleon实现不包含VQ-VAE解码器,请手动下载Meta提供的原始VQ-VAE权重,并将它们放在以下目录中:

Lumina-mGPT
- lumina_mgpt/
    - ckpts/
        - chameleon/
            - tokenizer/
                - text_tokenizer.json
                - vqgan.yaml
                - vqgan.ckpt
- xllmx/
- ...

本地Gradio演示

我们准备了三个不同的Gradio演示,每个演示都展示了独特的功能,以帮助您快速熟悉Lumina-mGPT模型的能力。

1. demos/demo_image_generation.py

这个演示专门用于图像生成任务,您可以输入文本描述并生成相应的图像。 要启动这个演示,请运行:

# 注意将`--target_size`参数设置为与检查点一致 python -u demos/demo_image_generation.py \ --pretrained_path Alpha-VLLM/Lumina-mGPT-7B-768 \ --target_size 768

2. demos/demo_image2image.py

这个演示是为使用Omni-SFT训练的模型设计的。您可以使用此演示方便地在多个下游任务之间切换。

# 注意将`--target_size`参数设置为与检查点一致 python -u demos/demo_image2image.py \ --pretrained_path Alpha-VLLM/Lumina-mGPT-7B-768-Omni \ --target_size 768

3. demos/demo_freeform.py

这是一个对输入格式限制最少的强大演示。它支持灵活的交互,适合深入探索。

# 注意将`--target_size`参数设置为与检查点一致 python -u demos/demo_freeform.py \ --pretrained_path Alpha-VLLM/Lumina-mGPT-7B-768-Omni \ --target_size 768

简单推理

Lumina-mGPT推理的最简单代码:

from inference_solver import FlexARInferenceSolver from PIL import Image # ******************** 图像生成 ******************** inference_solver = FlexARInferenceSolver( model_path="Alpha-VLLM/Lumina-mGPT-7B-768", precision="bf16", target_size=768, ) q1 = f"根据以下提示生成一张768x768的图像:\n" f"一只狗在玩水,背景是瀑布的图像。" # generated: 元组,包含(生成的响应, 生成的图像列表) generated = inference_solver.generate( images=[], qas=[[q1, None]], max_gen_len=8192, temperature=1.0, logits_processor=inference_solver.create_logits_processor(cfg=4.0, image_top_k=2000), ) a1, new_image = generated[0], generated[1][0] # ******************* 图像理解 ****************** inference_solver = FlexARInferenceSolver( model_path="Alpha-VLLM/Lumina-mGPT-7B-512", precision="bf16", target_size=512, ) # "<|image|>"符号在输入LLM之前会被替换为图像token序列 q1 = "详细描述这张图像。<|image|>" images = [Image.open("image.png")] qas = [[q1, None]] # `len(images)`应等于qas中"<|image|>"出现的次数 generated = inference_solver.generate( images=images, qas=qas, max_gen_len=8192, temperature=1.0, logits_processor=inference_solver.create_logits_processor(cfg=4.0, image_top_k=2000), ) a1 = generated[0] # generated[1],即新生成的图像列表,在这种情况下通常应该是空的。 # ********************* 全能模式 ********************* inference_solver = FlexARInferenceSolver( model_path="Alpha-VLLM/Lumina-mGPT-7B-768-Omni", precision="bf16", target_size=768, ) # 示例:深度估计 # 更多说明请参见demos/demo_image2image.py q1 = "深度估计。<|image|>" images = [Image.open("image.png")] qas = [[q1, None]] generated = inference_solver.generate( images=images, qas=qas, max_gen_len=8192, temperature=1.0, logits_processor=inference_solver.create_logits_processor(cfg=1.0, image_top_k=200), ) a1 = generated[0] new_image = generated[1][0]

🤗 检查点

配置

<img src="https://yellow-cdn.veclightyear.com/835a84d5/9bd6280d-0c1a-416b-bc98-500499622739.jpg"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/b251c7ec-6fb9-4ff0-b532-9f6699ae2e19.jpg">

7B模型

模型大小Huggingface
FP-SFT@5127BAlpha-VLLM/Lumina-mGPT-7B-512
FP-SFT@7687BAlpha-VLLM/Lumina-mGPT-7B-768
Omni-SFT@7687BAlpha-VLLM/Lumina-mGPT-7B-768-Omni
FP-SFT@10247BAlpha-VLLM/Lumina-mGPT-7B-1024

34B模型

模型大小Huggingface
FP-SFT@51234BAlpha-VLLM/Lumina-mGPT-34B-512

更多检查点即将推出。

📑 开源计划

  • 推理代码
  • 训练代码

🔥 招聘信息

我们正在上海人工智能实验室的通用视觉组招聘实习生、博士后和全职研究人员,重点关注多模态和视觉基础模型。如果您感兴趣,请联系gaopengcuhk@gmail.com

📄 引用

@misc{liu2024lumina-mgpt,
      title={Lumina-mGPT: Illuminate Flexible Photorealistic Text-to-Image Generation with Multimodal Generative Pretraining},
      author={Dongyang Liu and Shitian Zhao and Le Zhuo and Weifeng Lin and Yu Qiao and Hongsheng Li and Peng Gao},
      year={2024},
      eprint={2408.02657},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2408.02657},
}

编辑推荐精选

Trae

Trae

字节跳动发布的AI编程神器IDE

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

AI工具TraeAI IDE协作生产力转型热门
问小白

问小白

全能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 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

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

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

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

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

下拉加载更多