Project Icon

SEED-X

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

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

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
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号