SEED-X

SEED-X

统一多粒度理解与生成的多模态AI模型

SEED-X是一个多功能的多模态基础模型,经过指令微调后可应用于各种实际场景。该模型整合了多粒度的理解和生成能力,能够满足多样化的用户需求。SEED-X既可作为交互式设计工具生成和编辑图像,又能充当智能助手理解各种尺寸的图像并提供相关建议。项目已开源模型、指令微调代码和推理代码,同时提供在线演示。

SEED-X多模态模型AI助手图像编辑指令微调Github开源项目

SEED-X

arXiv 演示 演示 静态徽章 arXiv 静态徽章

我们推出了SEED-X,这是一个统一且多功能的基础模型。经过不同的指令微调后,它可以在现实世界中充当各种多模态AI助手,通过统一多粒度理解和生成能力,能够满足用户的各种需求。

所有模型、指令微调代码和推理代码已全部发布!

新闻

2024-07-12 :hugs: 我们发布了SEED-Story,这是一个基于预训练SEED-X(早期版本)的能够生成多模态长故事的MLLM。我们还发布了StoryStream,这是一个专为训练和评估多模态故事生成而设计的大规模数据集。

2024-05-21 :hugs: 通用指令微调模型SEED-X-I的新在线演示已上线,推理速度比在huggingface上使用Zero GPU的演示更快。

2024-05-03 :hugs: 我们发布了370万张图像编辑数据SEED-Data-Edit,其中包括:(1)通过自动流程生成的大规模高质量编辑数据,(2)从互联网抓取的真实场景数据,更准确地反映了用户的图像编辑意图,(3)由Photoshop专家注释的高精度多轮编辑数据。

2024-05-02 :hugs: 我们发布了从预训练基础模型SEED-X进行指令微调的训练代码。我们的代码库支持(a)使用deepspeed zero-2和zero-3进行大规模多节点训练,(b)高效的多个训练数据管道。据我们所知,我们的SEED系列是首个开源的统一多模态理解和生成的MLLM训练工作。

2024-04-27 :hugs: 我们发布了模型,包括预训练基础模型SEED-X、通用指令微调模型SEED-X-I、编辑模型SEED-X-Edit,以及我们的解码器,可以从ViT特征生成真实图像(无条件或有条件图像)。

2024-04-22 :hugs: 我们发布了通用指令微调模型SEED-X-I的在线gradio演示。SEED-X-I可以遵循多模态指令(包括动态分辨率的图像),并在多轮对话中用图像、文本和边界框进行响应。SEED-X-I不支持图像操作。如果您想体验用于高精度图像编辑的SEED-X-Edit,推理代码和模型将很快发布。

待办事项

  • 发布多模态基础模型SEED-X。
  • 发布用于高精度图像编辑的指令微调模型SEED-X-Edit。
  • 发布370万张内部图像编辑数据。
  • 发布指令微调的训练代码。

简介

图片

图片 介绍的SEED-X是一个统一且多功能的基础模型,经过不同的指令微调后,可以在现实世界中充当各种多模态AI助手,通过统一多粒度理解和生成能力,能够满足用户的各种需求。我们的指令微调模型可以充当交互式设计师,无需描述性标题即可生成图像,同时展示创意意图,并根据用户意图展示修改后的图像可视化效果。它们可以充当知识渊博的个人助手,理解任意大小的图像,并在多轮对话中提供相关建议。

图片 SEED-X能够接受多张图像作为输入,遵循其美学视觉,将平庸(甚至是低分辨率和低质量)的照片转变为更令人印象深刻的作品(在上面的例子中,一些输入图像的分辨率低于200)。欢迎在演示中亲自尝试(将"强制图像生成"设置为True)。

SEED-Data-Edit

图片 SEED-Data-Edit中指令引导图像编辑的数据示例,包括:(1)通过自动流程生成的高质量编辑数据(第一行),(2)从互联网抓取的真实场景数据,更准确地反映用户图像编辑意图(第二行),(3)由Photoshop专家注释的高精度多轮编辑数据(第三行)。

SEED-Story

介绍的SEED-Story由SEED-X驱动,能够根据用户提供的图像和文本作为故事开头生成多模态长故事。生成的故事包含丰富连贯的叙事文本,以及在角色和风格上保持一致的图像。尽管我们在训练时最多只使用10个序列,但故事可以跨越多达25个多模态序列。

图片

使用方法

依赖项

安装

克隆仓库并安装依赖包

git clone https://github.com/AILab-CVC/SEED-X.git cd SEED-X pip install -r requirements.txt

模型权重

我们在SEED-X-17B Hugging Face发布了预训练的解码器、预训练基础模型SEED-X、通用指令微调模型SEED-X-I和编辑模型SEED-X-Edit

请下载检查点并将它们保存在./pretrained文件夹下。例如,./pretrained/seed_x

您还需要下载stable-diffusion-xl-base-1.0Qwen-VL-Chat,并将它们保存在./pretrained文件夹下。请使用以下脚本提取Qwen-VL-Chat中视觉编码器的权重。

python3 src/tools/reload_qwen_vit.py

推理

使用SEED-X解码器进行推理

# 使用ViT图像特征进行图像重建 python3 src/inference/eval_seed_x_detokenizer.py # 使用ViT图像特征和条件图像进行图像重建 python3 src/inference/eval_seed_x_detokenizer_with_condition.py

使用预训练模型SEED-X进行推理

# 用于图像理解和检测 python3 src/inference/eval_img2text_seed_x.py # 用于图像生成 python3 src/inference/eval_text2img_seed_x.py

使用通用指令微调模型SEED-X-I进行推理

# 用于图像理解和检测 python3 src/inference/eval_img2text_seed_x_i.py # 用于图像生成 python3 src/inference/eval_text2img_seed_x_i.py

使用编辑模型SEED-X-Edit进行推理

# 用于图像编辑 python3 src/inference/eval_img2edit_seed_x_edit.py

指令微调

训练

  1. 准备预训练模型,包括预训练基础模型SEED-X和Qwen-VL-Chat的视觉编码器(参见模型权重)。
  2. 准备指令微调数据。例如,对于"build_llava_jsonl_datapipes"数据加载器,每个文件夹存储多个jsonl文件,每个jsonl文件包含1万条内容,内容示例如下:
{"image": "coco/train2017/000000033471.jpg", "data": ["图像中公交车的颜色是什么?", "图像中的公交车是白色和红色的。", "在公交车后部可以看到什么特征?", "公交车后部有一个广告。", "公交车是在街道上行驶还是靠边停靠?", "公交车正在街道上行驶,街道上挤满了人和其他车辆。"]}

对于"build_caption_datapipes_with_pixels"数据加载器,每个文件夹存储多个.tar文件,并以webdataset形式读取图像-文本对。

对于"build_single_turn_edit_datapipes"数据加载器,每个文件夹存储多个jsonl文件,每个jsonl文件包含1万条内容,内容示例如下:

{"source_image": "source_images/f6f4d0669694df5b.jpg", "target_image": "target_images/f6f4d0669694df5b.jpg", "instruction": "擦除停在Roebuck大楼前面的汽车。"}
  1. 运行以下脚本。
# 用于多模态理解和生成的通用指令微调 sh scripts/train_seed_x_sft_comp_gen.sh
# 用于训练语言引导的图像编辑 sh scripts/train_seed_x_sft_edit.sh

使用您自己的模型进行推理

  1. 使用以下脚本获取"pytorch_model.bin"。
cd train_output/seed_x_sft_comp_gen/checkpoint-xxxx python3 zero_to_fp32.py . pytorch_model.bin
  1. 在"configs/clm_models/agent_seed_x.yaml"中将"pretrained_model_path"更改为新的检查点。例如,
pretrained_model_path: train_output/seed_x_sft_comp_gen/checkpoint-4000/pytorch_model.bin
  1. 更改推理脚本中的"llm_cfg_path"和"agent_cfg_path"(参见下文),这将自动将训练好的LoRA权重加载到预训练模型SEED-X上。
llm_cfg_path = 'configs/clm_models/llm_seed_x_lora.yaml' agent_cfg_path = 'configs/clm_models/agent_seed_x.yaml'
  1. 运行推理脚本,
# 用于图像理解 python3 src/inference/eval_img2text_seed_x_i.py # 用于图像生成 python3 src/inference/eval_text2img_seed_x_i.py # 用于图像编辑 python3 src/inference/eval_img2edit_seed_x_edit.py

引用

如果您觉得这项工作有帮助,请考虑引用:

@article{ge2024seed, title={SEED-X: Multimodal Models with Unified Multi-granularity Comprehension an

编辑推荐精选

讯飞智文

讯飞智文

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

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

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

讯飞星火

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

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

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

Spark-TTS

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

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

Trae

Trae

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

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

AI工具TraeAI IDE协作生产力转型热门
咔片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 的技术优势。

Hunyuan3D-2

Hunyuan3D-2

高分辨率纹理 3D 资产生成

Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。

3FS

3FS

一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。

3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。

下拉加载更多