Cogagent Vqa Hf
CogAgent是基于CogVLM改进的开源视觉语言模型,专注于单轮视觉问答任务
下载量 238
发布时间 : 12/16/2023
模型简介
CogAgent是一个强大的视觉语言模型,特别优化了单轮视觉问答能力,支持1120x1120高分辨率图像输入,在多个VQA基准测试上表现优异
模型特点
高分辨率图像处理
支持1120x1120超高分辨率图像输入,能捕捉更精细的视觉细节
卓越的VQA性能
在9个跨模态基准测试中达到顶尖水平,包括VQAv2、MM-Vet等
优化的单轮问答
专门针对单轮视觉问答任务进行优化,相比chat版本在VQA任务上表现更优
模型能力
视觉问答
图像理解
文本生成
高分辨率图像处理
使用案例
教育
教材图像问答
回答关于教材图表、插图的各类问题
准确理解图表内容并生成正确回答
商业
商业图表分析
分析商业报告中的各类图表数据
准确提取图表信息并生成分析结果
🚀 CogAgent
CogAgent 是一个基于 CogVLM 改进的开源视觉语言模型。它在图像理解和 GUI 代理方面表现出色,支持高分辨率视觉输入和对话问答,可用于多种跨模态基准测试和 GUI 操作任务。
🚀 快速开始
使用以下 Python 代码在 cli_demo.py
中快速开始:
import torch
from PIL import Image
from transformers import AutoModelForCausalLM, LlamaTokenizer
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--quant", choices=[4], type=int, default=None, help='quantization bits')
parser.add_argument("--from_pretrained", type=str, default="THUDM/cogagent-chat-hf", help='pretrained ckpt')
parser.add_argument("--local_tokenizer", type=str, default="lmsys/vicuna-7b-v1.5", help='tokenizer path')
parser.add_argument("--fp16", action="store_true")
parser.add_argument("--bf16", action="store_true")
args = parser.parse_args()
MODEL_PATH = args.from_pretrained
TOKENIZER_PATH = args.local_tokenizer
DEVICE = 'cuda' if torch.cuda.is_available() else 'cpu'
tokenizer = LlamaTokenizer.from_pretrained(TOKENIZER_PATH)
if args.bf16:
torch_type = torch.bfloat16
else:
torch_type = torch.float16
print("========Use torch type as:{} with device:{}========\n\n".format(torch_type, DEVICE))
if args.quant:
model = AutoModelForCausalLM.from_pretrained(
MODEL_PATH,
torch_dtype=torch_type,
low_cpu_mem_usage=True,
load_in_4bit=True,
trust_remote_code=True
).eval()
else:
model = AutoModelForCausalLM.from_pretrained(
MODEL_PATH,
torch_dtype=torch_type,
low_cpu_mem_usage=True,
load_in_4bit=args.quant is not None,
trust_remote_code=True
).to(DEVICE).eval()
while True:
image_path = input("image path >>>>> ")
if image_path == "stop":
break
image = Image.open(image_path).convert('RGB')
history = []
while True:
query = input("Human:")
if query == "clear":
break
input_by_model = model.build_conversation_input_ids(tokenizer, query=query, history=history, images=[image])
inputs = {
'input_ids': input_by_model['input_ids'].unsqueeze(0).to(DEVICE),
'token_type_ids': input_by_model['token_type_ids'].unsqueeze(0).to(DEVICE),
'attention_mask': input_by_model['attention_mask'].unsqueeze(0).to(DEVICE),
'images': [[input_by_model['images'][0].to(DEVICE).to(torch_type)]],
}
if 'cross_images' in input_by_model and input_by_model['cross_images']:
inputs['cross_images'] = [[input_by_model['cross_images'][0].to(DEVICE).to(torch_type)]]
# add any transformers params here.
gen_kwargs = {"max_length": 2048,
"temperature": 0.9,
"do_sample": False}
with torch.no_grad():
outputs = model.generate(**inputs, **gen_kwargs)
outputs = outputs[:, inputs['input_ids'].shape[1]:]
response = tokenizer.decode(outputs[0])
response = response.split("</s>")[0]
print("\nCog:", response)
history.append((query, response))
然后运行:
python cli_demo_hf.py --bf16
✨ 主要特性
多版本选择
我们开源了 2 个版本的 CogAgent 检查点,你可以根据需求选择:
cogagent-chat
:该模型在 GUI 代理、视觉多轮对话、视觉定位 等方面具有强大能力。如果你需要 GUI 代理和视觉定位功能,或需要与给定图像进行多轮对话,建议使用此版本模型。cogagent-vqa
:该模型在 单轮视觉对话 方面具有 更强 的能力。如果你需要 处理 VQA 基准测试(如 MMVET、VQAv2),建议使用此模型。
强大性能表现
- 跨模态基准测试:CogAgent - 18B 在 9 个跨模态基准测试中取得了最先进的通用性能,包括 VQAv2、MM - Vet、POPE、ST - VQA、OK - VQA、TextVQA、ChartQA、InfoVQA、DocVQA。
- GUI 操作数据集:CogAgent - 18B 在 GUI 操作数据集(包括 AITW 和 Mind2Web)上显著超越了现有模型。
新增特性
- 高分辨率支持:支持更高分辨率的视觉输入和对话问答,支持 1120x1120 的超高分辨率图像输入。
- 视觉 Agent 能力:具备视觉 Agent 的能力,能够针对任何给定的 GUI 截图任务返回计划、下一步行动和带坐标的具体操作。
- 增强的 GUI 问答能力:增强了与 GUI 相关的问答能力,能够处理关于任何 GUI 截图(如网页、PC 应用程序、移动应用程序等)的问题。
- OCR 任务能力提升:通过改进预训练和微调,增强了在 OCR 相关任务中的能力。
模型参数
CogAgent - 18B 拥有 110 亿视觉参数和 70 亿语言参数。

模型使用说明
本仓库中的模型权重可免费用于学术研究。希望将模型用于 商业目的 的用户必须在 此处 注册。注册用户可以免费将模型用于商业活动,但必须遵守本许可证的所有条款和条件。许可证声明应包含在软件的所有副本或重要部分中。
📄 许可证
本仓库中的代码根据 Apache - 2.0 许可证 开源,而 CogAgent 和 CogVLM 模型权重的使用必须遵守 模型许可证。
📚 详细文档
引用与致谢
如果你觉得我们的工作有帮助,请考虑引用以下论文:
@misc{hong2023cogagent,
title={CogAgent: A Visual Language Model for GUI Agents},
author={Wenyi Hong and Weihan Wang and Qingsong Lv and Jiazheng Xu and Wenmeng Yu and Junhui Ji and Yan Wang and Zihan Wang and Yuxiao Dong and Ming Ding and Jie Tang},
year={2023},
eprint={2312.08914},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
@misc{wang2023cogvlm,
title={CogVLM: Visual Expert for Pretrained Language Models},
author={Weihan Wang and Qingsong Lv and Wenmeng Yu and Wenyi Hong and Ji Qi and Yan Wang and Junhui Ji and Zhuoyi Yang and Lei Zhao and Xixuan Song and Jiazheng Xu and Bin Xu and Juanzi Li and Yuxiao Dong and Ming Ding and Jie Tang},
year={2023},
eprint={2311.03079},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
在 CogVLM 的指令微调阶段,使用了来自 [MiniGPT - 4](https://github.com/Vision - CAIR/MiniGPT - 4)、[LLAVA](https://github.com/haotian - liu/LLaVA)、[LRV - Instruction](https://github.com/FuxiaoLiu/LRV - Instruction)、[LLaVAR](https://github.com/SALT - NLP/LLaVAR) 和 Shikra 项目的一些英文图像文本数据,以及许多经典的跨模态工作数据集。我们衷心感谢他们的贡献。
相关链接
- 📖 论文:https://arxiv.org/abs/2312.08914
- 🚀 GitHub:如需了解更多信息(如演示、微调、查询提示),请参考 我们的 GitHub
Clip Vit Large Patch14 336
基于Vision Transformer架构的大规模视觉语言预训练模型,支持图像与文本的跨模态理解
文本生成图像
Transformers

C
openai
5.9M
241
Fashion Clip
MIT
FashionCLIP是基于CLIP开发的视觉语言模型,专门针对时尚领域进行微调,能够生成通用产品表征。
文本生成图像
Transformers 英语

F
patrickjohncyh
3.8M
222
Gemma 3 1b It
Gemma 3是Google推出的轻量级先进开放模型系列,基于与Gemini模型相同的研究和技术构建。该模型是多模态模型,能够处理文本和图像输入并生成文本输出。
文本生成图像
Transformers

G
google
2.1M
347
Blip Vqa Base
Bsd-3-clause
BLIP是一个统一的视觉语言预训练框架,擅长视觉问答任务,通过语言-图像联合训练实现多模态理解与生成能力
文本生成图像
Transformers

B
Salesforce
1.9M
154
CLIP ViT H 14 Laion2b S32b B79k
MIT
基于OpenCLIP框架在LAION-2B英文数据集上训练的视觉-语言模型,支持零样本图像分类和跨模态检索任务
文本生成图像
Safetensors
C
laion
1.8M
368
CLIP ViT B 32 Laion2b S34b B79k
MIT
基于OpenCLIP框架在LAION-2B英语子集上训练的视觉-语言模型,支持零样本图像分类和跨模态检索
文本生成图像
Safetensors
C
laion
1.1M
112
Pickscore V1
PickScore v1 是一个针对文本生成图像的评分函数,可用于预测人类偏好、评估模型性能和图像排序等任务。
文本生成图像
Transformers

P
yuvalkirstain
1.1M
44
Owlv2 Base Patch16 Ensemble
Apache-2.0
OWLv2是一种零样本文本条件目标检测模型,可通过文本查询在图像中定位对象。
文本生成图像
Transformers

O
google
932.80k
99
Llama 3.2 11B Vision Instruct
Llama 3.2 是 Meta 发布的多语言多模态大型语言模型,支持图像文本到文本的转换任务,具备强大的跨模态理解能力。
文本生成图像
Transformers 支持多种语言

L
meta-llama
784.19k
1,424
Owlvit Base Patch32
Apache-2.0
OWL-ViT是一个零样本文本条件目标检测模型,可以通过文本查询搜索图像中的对象,无需特定类别的训练数据。
文本生成图像
Transformers

O
google
764.95k
129
精选推荐AI模型
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers 支持多种语言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers 英语

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统 中文
R
uer
2,694
98