Project Icon

CogCoM

链式操作助力视觉语言模型精细化理解

CogCoM是一个新型视觉语言模型,采用链式操作技术逐步处理复杂视觉问题。该项目包含6种基本操作、级联数据生成流程和多轮多图像模型架构。CogCoM在对话、描述、定位和推理等方面表现出色,并在GQA、TallyVQA等多项基准测试中取得优异成绩。这个开源项目为研究人员提供了完整的代码、模型和数据集,促进了视觉语言模型在细节理解领域的发展。

CogCoM:通过操作链深入细节训练大型视觉语言模型

如果您喜欢我们的项目,请在 GitHub 上为我们点个星 ⭐ 以获取最新更新。

hf_space arXiv License

💡 我们还有其他可能引起您兴趣的视觉语言项目 ✨。

CogVLM:预训练语言模型的视觉专家
github github
CogAgent:GUI 代理的视觉语言模型
github github

📣 新闻

  • [2024/6/15] 🎉 发布我们准备的数据集,包括合成的84K数据和人工标注的7K数学数据(参见 DataHuggingFace)。
  • [2024/2/26] 🎉 发布对话模型 CogCoM-chat-17b。
  • [2024/2/26] 🎉 发布定位模型 CogCoM-grounding-17b。
  • [2024/2/4] 🎉 发布基础模型 CogCoM-base-17b。

😮 亮点

CogCoM 使视觉语言模型能够逐步解决各种视觉问题并提供证据,无需涉及外部工具。

📖 CogCoM 简介

  • CogCoM 是一个通用的开源视觉语言模型VLM),配备了操作链(CoM),使 VLM 能够逐步解决复杂的视觉问题并提供证据。
  • 我们在初步实验的基础上正式设计了 6 种基本操作,能够处理各种视觉问题。
  • 我们引入了一个基于可靠大型语言模型(如 LLM,语言注释器)和视觉基础模型(如 VFM,视觉注释器)的级联数据生成流程,可以自动生成大量无错误的训练数据。我们使用这个流程收集了 70K 个 CoM 样本。
  • 然后,我们设计了一个与典型 VLM 结构兼容的多轮多图像模型架构。
  • 基于包含精选语料库的数据配方,我们最终训练了一个配备 CoM 推理机制的通用 VLM,名为 CogCoM,它具备对话、描述、定位和推理的能力。
  • 详情请参阅我们的论文。

🤗 演示

我们支持两种模型推理的图形界面,Web 演示命令行界面。如果您想在 Python 代码中使用它,可以很容易地修改命令行脚本以适应您的情况。

Web 演示

现在您可以使用我们使用 Gradio 实现的本地代码进行 GUI 演示。请切换到 demo/ 目录并运行:

# 本地 Gradio
python web_demo.py  --from_pretrained cogcom-base-17b --local_tokenizer path/to/tokenizer --bf16 --english

命令行演示

我们还支持使用 SAT 进行交互式命令行推理。如果您想在 Python 代码中使用它,可以很容易地修改命令行脚本以适应您的情况。程序将自动下载 SAT 模型并在命令行中进行交互(可以简单使用 vicuna-7b-1.5 分词器)。

# 启动交互式环境
python cli_demo_sat.py --from_pretrained cogcom-base-17b --local_tokenizer path/to/tokenizer --bf16 --english

程序将自动下载 SAT 模型并在命令行中进行交互(可以简单使用 vicuna-7b-1.5 分词器)。您可以通过输入指令并按回车键生成回复。输入 clear 清除对话历史,输入 stop 停止程序。

我们还支持模型并行推理,将模型分割到多个(2/4/8)GPU 上。以下命令中的 --nproc-per-node=[n] 控制使用的 GPU 数量。

提示:

  • 如果您想手动下载权重,可以将 --from_pretrained 后的路径替换为模型路径。

  • 我们的模型支持 SAT 的 4 位量化8 位量化。您可以将 --bf16 更改为 --fp16,或 --fp16 --quant 4,或 --fp16 --quant 8

例如

```bash
python cli_demo_sat.py --from_pretrained cogcom-base-17b --fp16 --quant 8
```
  • 程序提供以下超参数来控制生成过程:
    用法:cli_demo_sat.py [-h] [--max_length MAX_LENGTH] [--top_p TOP_P] [--top_k TOP_K] [--temperature TEMPERATURE]
    
    可选参数:
        -h, --help                    显示此帮助消息并退出
        --max_length MAX_LENGTH       总序列的最大长度
        --top_p TOP_P                 核采样的 top p
        --top_k TOP_K                 top k 采样的 top k
        --temperature TEMPERATURE     采样温度
    

🐳 模型库

如果您从代码仓库运行 demo/cli_demo*.py,它将自动下载 SAT 或 Hugging Face 权重。或者,您可以选择手动下载必要的权重。

模型名称输入分辨率简介Huggingface 模型SAT 模型
cogcom-base-17b490支持定位、OCR 和 CoM。即将推出链接
cogcom-grounding-17b490支持定位、OCR 和 CoM。即将推出链接
cogcom-chat-17b490支持对话、定位、OCR 和 CoM。即将推出链接

⚙️ 要求和安装

我们推荐以下要求。

  • Python == 3.11
  • SwissArmyTransformer>=0.4.8
  • torch>=2.1.2
  • CUDA >= 11.7
  • Transformers == 4.37.0
  • xformers == 0.0.24
  • pydantic == 1.10.1
  • gradio == 3.50.2
  • 安装所需包:
pip install -r requirements.txt
python -m spacy download en_core_web_sm

[!警告]

🚨 请安装适当版本的 `pydantic` 以确保顺利推理,如 [问题3](https://github.com/THUDM/CogCoM/issues/3) 中所述。

🗝️ 训练和验证

微调 CogCoM

您可能希望在自己的任务中使用 CogCoM,这需要不同的输出风格或领域知识所有用于微调的代码位于 finetune.shfinetune.py 文件中。

硬件要求

  • 模型推理:

    • 对于 INT4 量化:1 * RTX 3090(24G)
    • 对于 FP16:1 * A100(80G) 或 2 * RTX 3090(24G)
  • 微调:

    • 对于 FP16:4 * A100(80G) [推荐] 或 8* RTX 3090(24G)。

评估

点击查看 GQA、TallyVQA、TextVQA、ST-VQA 的结果。
方法GQATallyVQA-sTallyVQA-cTextVQAST-VQA
Flamingo---54.1-
GIT---59.8-
GIT2---67.3-
BLIP-244.7*---21.7
InstructBLIP49.5*---50.7*
Qwen-VL49.5*---50.7*
CogCoM71.784.070.171.170.0
点击查看定位基准的结果。
RefCOCORefCOCO+RefCOCOg
验证集测试集A测试集B验证集测试集A测试集B验证集测试集
CogCoM-grounding-generalist92.3494.5789.1588.1992.8082.0889.3290.45

🍭 示例

CogCoM展示了适应不同多模态场景的灵活能力,包括论证性视觉推理、视觉定位、基于定位的描述、图像描述、多项选择和详细描述。

💡 使用指南

任务提示

  1. 一般多轮对话:随意说话。

  2. 操作链:显式启动CoM推理。

    • 我们随机在CoM链中添加启动提示来解决细致的视觉问题,因此您可以通过添加以下启动提示来明确让CogCoM以CoM机制运行(我们随机生成了大量启动提示以提高灵活性,详见com_dataset.py):
    请通过一系列操作逐步解决问题,每一步你可以选择性地采用以下操作之一:GROUNDING(短语)->框,OCR(图像或区域)->文本,CROP_AND_ZOOMIN(给定图像上的区域)->新图像,CALCULATE(可计算目标)->数字,或者如果有帮助的话发明一个新的操作。{问题}
    
  3. 视觉定位。我们的模型与MultiInstruct和CogVLM的定位指令兼容,这里我们提供三个功能的基本用法:

    • 视觉定位(VG):根据物体描述返回定位坐标(边界框)。使用指令模板中的任意模板。例如(将<expr>替换为物体描述):

      "在图像中找到"<expr>"所描述的区域。"

    • 基于定位的描述(GC):根据边界框坐标提供描述。使用指令模板中的模板。例如(将<objs>替换为位置坐标):

      "描述图片中*[[086,540,400,760]]*的内容。"

    • 带坐标的图像描述(IDC):带有定位坐标(边界框)的图像描述。使用caption_with_box模板中的任意模板作为模型输入。例如:

      你能提供图像的描述,并包含每个提到物体的坐标[[x0,y0,x1,y1]]吗?

**坐标格式:**模型输入和输出中的边界框坐标使用[[x1, y1, x2, y2]]格式,原点在左上角,x轴向右,y轴向下。(x1, y1)和(x2, y2)分别是左上角和右下角,值为相对坐标乘以1000(前面补零至三位数)。

常见问题

  • 如果您访问huggingface.co有困难,可以添加--local_tokenizer /path/to/vicuna-7b-v1.5来加载tokenizer。
  • 使用🔨SAT下载模型,模型将保存到默认位置~/.sat_models。通过设置环境变量SAT_HOME来更改默认位置。例如,如果您想将模型保存到/path/to/my/models,可以在运行python命令之前执行export SAT_HOME=/path/to/my/models

🔒 许可证

本仓库中的代码基于Apache-2.0许可证开源,而使用CogCoM模型权重必须遵守模型许可证

✒️ 引用 & 致谢

@article{qi2024cogcom,
  title={CogCoM: Train Large Vision-Language Models Diving into Details through Chain of Manipulations},
  author={Qi, Ji and Ding, Ming and Wang, Weihan and Bai, Yushi and Lv, Qingsong and Hong, Wenyi and Xu, Bin and Hou, Lei and Li, Juanzi and Dong, Yuxiao and Tang, Jie},
  journal={arXiv preprint arXiv:2402.04236},
  year={2024}
}
项目侧边栏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

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

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