多 模态AI模型实现文本到图像的灵活生成
Lumina-mGPT是一个多模态自回归模型系列,适用于多种视觉和语言任务。这个开源项目特别擅长将文本描述转化为逼真图像,提供7B和34B两种参数规模的模型,以及多种图像分辨率选项。除图像生成外,Lumina-mGPT还支持图像理解和全能型任务,为AI研究和应用开发提供了灵活的工具。
<b> 一系列能够执行各种视觉和语言任务的多模态自回归模型,特别擅长根据文本描述生成灵活的逼真图像。👋 加入我们的<a href="http://imagebind-llm.opengvlab.com/qrcode/" target="_blank">微信</a> </b>
</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模型之前,请运行
# 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演示,每个演示都展示了独特的功能,以帮助您快速熟悉Lumina-mGPT模型的能力。
这个演示专门用于图像生成任务,您可以输入文本描述并生成相应的图像。 要启动这个演示,请运行:
# 注意将`--target_size`参数设置为与检查点一致 python -u demos/demo_image_generation.py \ --pretrained_path Alpha-VLLM/Lumina-mGPT-7B-768 \ --target_size 768
这个演示是为使用Omni-SFT训练的模型设计的。您可以使用此演示方便地在多个下游任务之间切换。
# 注意将`--target_size`参数设置为与检查点一致 python -u demos/demo_image2image.py \ --pretrained_path Alpha-VLLM/Lumina-mGPT-7B-768-Omni \ --target_size 768
这是一个对输入格式限制最少的强大演示。它支持灵活的交互,适合深入探索。
# 注意将`--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@512 | 7B | Alpha-VLLM/Lumina-mGPT-7B-512 |
FP-SFT@768 | 7B | Alpha-VLLM/Lumina-mGPT-7B-768 |
Omni-SFT@768 | 7B | Alpha-VLLM/Lumina-mGPT-7B-768-Omni |
FP-SFT@1024 | 7B | Alpha-VLLM/Lumina-mGPT-7B-1024 |
34B模型
模型 | 大小 | Huggingface |
---|---|---|
FP-SFT@512 | 34B | Alpha-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},
}
字节跳动发布的AI编程神器IDE
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
全能AI智能助手,随时解答生活与工作的多样问题
问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。
实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让 全世界的语言交流不再有国界。
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
深度推理能力全新升级,全面对标OpenAI o1
科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的 帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。
一种基于大语言模型的高效单流解 耦语音令牌文本到语音合成模型
Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。
AI助力,做PPT更简单!
咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。
选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。
专业的AI公文写作平台,公文写作神器
AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。
OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。
openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号