cogvlm
智谱AI开源的多模态视觉-语言模型,支持图像理解、视觉定位与GUI Agent操控,CVPR 2024 Highlight收录
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
智谱AI开源的多模态视觉-语言模型,支持图像理解、视觉定位与GUI Agent操控,CVPR 2024 Highlight收录
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下,你给 AI 发送一张手机截图,它不仅能描述截图中显示的界面,还能告诉你:「这个搜索框在页面左侧偏上方,坐标约 [[212, 498, 787, 564]],你可以点击它输入内容。」——这不是科幻,而是 CogAgent 已经开源实现的 GUI Agent 能力。CogVLM 系列是智谱AI(Zhipu AI)开源的视觉-语言模型家族,其中 CogVLM-17B 在 10 项跨模态基准测试中达到 SOTA 性能,CogAgent-18B 进一步拓展了 GUI 操控能力,相关论文被 CVPR 2024 收录为 Highlight。
传统的语言大模型(LLM)只处理文本,输入图片后只能「看图说话」,无法像人类一样真正理解视觉信息并采取行动。2023 年智谱 AI 团队提出了一个核心问题:如何在不改变预训练语言模型权重的前提下,让 LLM 高效理解图像?
答案是**视觉专家(Visual Expert)**机制。CogVLM 的核心创新在于,它训练了一个独立的视觉专家模块,与冻结的 Vicuna 等语言模型对齐,从而在不破坏语言能力的前提下注入视觉理解能力。这种「嫁接」思路让 CogVLM-17B 拥有了 10B 参数的视觉编码器和 7B 参数的语言底座,总计 17B 参数规模。

图1:CogVLM 在 TouchStone 基准上以 742.0 分大幅领先 MiniGPT-4(531.7)和 LLaVA-1.5,展示了视觉-语言深度融合的优势。
CogVLM 的架构包含四个核心组件:
这种设计的关键在于:视觉专家是可训练的,但它不会直接改变语言模型的权重,因此语言模型原有的强大推理能力得以完整保留。相比之下,LLaVA 系列需要对 LLM 进行部分微调,风险更高。

图2:CogVLM 的 Visual Expert 架构,通过 MLP 投影层对齐视觉特征与语言模型的表征空间,实现跨模态深度融合。
| 能力 | CogVLM-17B | CogAgent-18B |
|---|---|---|
| 图像理解 | 支持 490×490 | 支持 1120×1120 |
| 多轮对话 | ✅ | ✅ |
| 视觉定位(grounding) | ✅ | ✅ |
| GUI Agent 操作 | ❌ | ✅ 支持 AITW/Mind2Web |
| 文档/图表理解 | 部分 | 强(DocVQA, ChartQA) |
CogAgent 在 CogVLM 的基础上引入了 GUI Agent 能力,可以规划操作步骤并输出具体坐标。在 Android-in-the-Wild(AITW)和 Mind2Web 等 GUI 操控数据集上大幅超越现有方法,这意味着它可以用于自动化测试、辅助操作手机/电脑界面等场景。

图3:CogAgent 的 GUI Agent 工作流:理解截图 → 规划步骤 → 输出带坐标的操控指令。
pip install -r requirements.txt
streamlit run basic_demo/web_demo.py --server.port 7860
一行命令即可启动带 UI 的本地 Demo,拖入图片即可对话。不过这仅限推理——如果用 CogAgent 的 18B 模型,至少需要 INT4 量化 + 24GB 显存(RTX 3090),FP16 则需要 A100(80GB)。
python basic_demo/cli_demo_hf.py \
--from_pretrained THUDM/cogagent-chat-hf \
--version chat --quant 4
使用 HuggingFace 版本的模型,4-bit 量化后显存需求降至约 12.6GB( CogAgent)或 11GB(CogVLM),单卡 RTX 3090 可跑。GitHub 仓库中提供了完整的 OpenAI API 兼容接口,方便集成到现有系统。
# 启动 API 服务
python openai_demo/openai_api.py
# 请求示例
python openai_demo/openai_api_request.py
如果你有调用 OpenAI GPT-4V 的代码,只需要修改 endpoint 和 API key,就能无缝切换到 CogAgent 的视觉能力。

图4:Streamlit Web Demo 界面截图,支持图片上传和多轮对话。
CogVLM 还支持精细化的视觉定位功能,可以回答「图片中某个物体的位置」并给出坐标:
Can you point out the person in the image and provide bounding boxes?
→ [[086,540,400,760]]
坐标格式为 [[x1,y1,x2,y2]](相对坐标,×1000,原点为左上角)。在 RefCOCO、RefCOCOg 等视觉定位基准上,CogVLM ground-generalist 模型达到了 92.76 / 88.68 / 89.75 的高精度。

图5:视觉定位示例——CogVLM 能够精准定位图像中的特定物体并返回坐标。
对于希望在自己的数据上微调 CogVLM/CogAgent 的开发者,仓库提供了完整的 LoRA 微调脚本:
# 使用 LoRA 微调 CogVLM
bash finetune_demo/finetune_cogvlm_lora.sh
# 使用 LoRA 微调 CogAgent
bash finetune_demo/finetune_cogagent_lora.sh
微调需要 4×A100(80GB)或 8×RTX 3090,门槛较高。GitHub 也提供了合并权重和评估的脚本,整体工具链较为完整。
CogVLM 的开源对多模态 AI 领域有重要影响:它不仅是首个将 Visual Expert 机制大规模验证的开源方案,还首次在开源社区引入了「GUI Agent」这一新范式。CogAgent 的论文被 CVPR 2024 接收,标志着国产多模态研究在国际顶会的认可度持续提升。其 HuggingFace 版本降低了使用门槛,推动了视觉-语言模型在中小规模团队的落地应用。
总体来说,CogVLM 系列代表了 2023-2024 年开源 VLM 的前沿水平,尤其在视觉定位和 GUI Agent 方向具有独特优势,适合对多模态推理有深度需求的开发者和研究者。
分析基于 GitHub 仓库 v1 版本(2024-05-29 最后更新),CogVLM2(THUDM/CogVLM2)为当前活跃版本。