Vary
Vary 是一款专为大型视觉语言模型(LVLM)设计的开源项目,核心目标是显著扩展模型的“视觉词汇量”。传统视觉模型往往难以精准识别复杂的文字、图表或密集排版的文档,而 Vary 通过引入高分辨率图像编码器和优化的训练策略,有效解决了这一痛点。它不仅能流畅地进行日常图像对话,更在文档理解、高精度 OCR(光学字符识别)、图表解析及物体检测等任务上表现出众,能够轻松处理包含中英文混合内容的复杂 PDF 页面。
该项目特别适合人工智能研究人员、开发者以及需要处理大量文档数据的专业人士使用。对于希望从零开始训练模型的研究者,Vary 还提供了轻量级的 Vary-tiny 版本及配套的 60 万页多语言数据集,大大降低了实验门槛。作为 ECCV 2024 的接收论文成果,Vary 的技术亮点在于其独特的架构设计,成功打破了通用视觉模型在细粒度文字识别上的瓶颈,实现了从“看图说话”到“深度读懂文档”的跨越。目前,相关代码、权重及在线演示均已开放,遵循学术研究与特定商业许可协议,欢迎社区共同探索与改进。
使用场景
某金融数据分析师需要每天从数百份包含复杂图表、密集表格和混合排版的跨国财报 PDF 中提取关键营收数据与趋势分析。
没有 Vary 时
- 细粒度文字识别失败:面对财报中字号极小的脚注或高密度表格,传统 OCR 模型频繁出现漏字、错行,导致数据提取准确率低下。
- 图表理解能力缺失:模型只能机械地转录图表中的文字,无法理解折线图、柱状图背后的数据趋势,分析师必须人工看图并手动录入数据。
- 多语言混合处理困难:在处理中英文混排的国际化报表时,经常发生语言混淆或乱码,需要额外的人工校对和清洗步骤。
- 流程割裂效率低:需要串联多个独立工具(OCR 引擎 + 图表解析脚本 + 翻译接口),调试成本高且错误难以追溯。
使用 Vary 后
- 高密度文本精准捕获:Vary 凭借扩大的视觉词汇量,能完美识别财报中密集的表格和小字脚注,直接输出结构化文本,无需二次校对。
- 原生图表语义理解:Vary 不仅能“看见”图表,还能直接回答“第三季度营收增长率是多少”这类问题,自动将视觉趋势转化为文字结论。
- 中英混合无缝解析:内置的多语言支持让 Vary 在处理中英文混杂的排版时游刃有余,准确保持原文语境,消除了乱码痛点。
- 端到端一站式处理:只需将 PDF 页面输入 Vary,即可直接获得包含数据、趋势分析和关键结论的综合报告,大幅简化了技术栈。
Vary 通过扩展大视觉语言模型的视觉词汇边界,真正实现了从“看清图片”到“读懂复杂文档”的质变,让非结构化文档的数据挖掘变得像对话一样简单。
运行环境要求
- Linux
需要 NVIDIA GPU(因依赖 flash-attn 和 deepspeed),显存需求未明确说明(建议 16GB+ 以运行 Qwen-7B 版本),需支持 CUDA
未说明

快速开始
Vary:扩展大型视觉-语言模型的视觉词汇表
Haoran Wei*, Lingyu Kong*, Jinyue Chen, Liang Zhao, Zheng Ge, Jinrong Yang, Jianjian Sun, Chunrui Han, Xiangyu Zhang
发布
- [2024/12/24] 🔥🔥🔥 我关于系统-2感知的新工作已发布 slow-perception。
- [2024/9/03] 🔥🔥🔥 我们发布了一个非常强大且全面的OCR模型 GOT-OCR2.0。
- [2024/7/16] 🎉🎉🎉 OneChart 被ACM'MM 2024口头会议接受(3.97%)!
- [2024/7/2] 🔥🔥🔥 Vary已被ECCV2024接受。为了感谢大家的关注,我将很快发布一个性能与Vary-document相当的模型。
- [2024/5/27] 🔥🔥🔥 我们在Fox中提出了一个文档理解基准。
- [2024/5/24] 🔥🔥🔥 我们提出了一项多页文档理解工作——Fox,它支持8页PDF图像输入!!!
- [2024/4/21] 🔥🔥🔥 对于OneChart,我们已在项目页面上发布了网页演示。尽情体验吧!!
- [2024/4/21] 🔥🔥🔥 我们提供了一个Vary-tiny LAVIS代码库(用于从头开始训练)和Vary-600k数据集(30万英文和30万中文页面)在此处!!!
- [2024/4/15]🔥🔥🔥我们在这里发布了图表解析模型OneChart此处。
- [2024/4/12]🔥🔥🔥下周我们将发布基于Vary-tiny的图表解析模型。该模型同时支持英语和中文图表。
- [2024/3/16]🔥🔥🔥我发现很多朋友对Vary-tiny(OPT-125M)非常感兴趣,因此我在Hugging Face上将其开源,这是一个PDF密集型OCR和目标检测版本。
- [2023/1/23]🔥🔥🔥我们在此处发布了Vary-toy。此外,我们还在此处展示了Vary家族的优异成果。
- [2023/12/29]🔥🔥🔥我们将在下月初发布一款新模型(小型Vary,约20亿参数),并引入一项新功能(目标检测)。为准备部署新模型,我们的在线演示将暂时关闭。
- [2023/12/11] 我们发布了在线演示,欢迎大家体验!
- [2023/12/11] 我们还发布了Vary的代码(训练和推理)!
使用与许可声明:本数据、代码和检查点仅供研究使用,并受相关许可协议约束。它们也仅限于符合LLaMA、Vicuna、GPT-4、Qwen和LLaVA许可协议的用途。
目录
安装
- 克隆此仓库并进入Vary文件夹
git clone https://github.com/Ucas-HaoranWei/Vary.git
cd Vary
- 安装软件包
conda create -n vary python=3.10 -y
conda activate vary
pip install e .
- 安装Flash-Attention
pip install ninja
pip install flash-attn --no-build-isolation
Vary权重
- 如果您近期急需用于研究的权重,请通过电子邮件联系我。
- 在Hugging Face下载CLIP-VIT-L。
- 此处可获取Vary-toy的权重。
演示
将代码中的CLIP-VIT路径(/cache/vit-large-patch14/)更新为您自己的路径。
python vary/demo/run_qwen_vary.py --model-name /vary/model/path/ --image-file /an/image/file.png
训练
- 我们目前不计划开源中间模型的权重。
- 不过,我们已公开训练代码,因此您可以使用自己的数据集进行训练。 如果您想这样做,可以尝试以下步骤:
- 对于 Vary-base(单机运行;如果您有多台机器,则需要准备主机文件):
deepspeed Vary/train/train_qwen_vary.py --deepspeed /Vary/zero_config/zero2.json
--model_name_or_path /Qwen-7B/path/
--vision_tower /vit-large-patch14/path/
--freeze_vision_tower True
--freeze_lm_model False
--vision_select_layer -2
--use_im_start_end True
--bf16 True
--per_device_eval_batch_size 4
--gradient_accumulation_steps 1
--evaluation_strategy "no"
--save_strategy "steps"
--save_steps 5000
--save_total_limit 1
--weight_decay 0.
--warmup_ratio 0.03
--lr_scheduler_type "cosine"
--logging_steps 1 --tf32 True
--model_max_length 4096
--gradient_checkpointing True
--dataloader_num_workers 4
--report_to none
--per_device_train_batch_size 4
--num_train_epochs 1
--learning_rate 5e-5
--datasets data_name1+data_name2+data_name3
--output_dir /path/to/output/
- 对于 Vary-tiny:
deepspeed Vary/train/train_opt.py --deepspeed /Vary/zero_config/zero2.json
--model_name_or_path /opt125m/path/
--conversation_version opt
--freeze_vision_tower False
--freeze_lm_model False
--use_im_start_end True
--bf16 True
--per_device_eval_batch_size 4
--gradient_accumulation_steps 1
--evaluation_strategy "no"
--save_strategy "steps"
--save_steps 5000
--save_total_limit 1
--weight_decay 0.
--warmup_ratio 0.03
--lr_scheduler_type "cosine"
--logging_steps 1 --tf32 True
--model_max_length 4096
--gradient_checkpointing True
--dataloader_num_workers 4
--report_to none
--per_device_train_batch_size 16
--num_train_epochs 1
--learning_rate 5e-5
--datasets data_name1+data_name2+data_name3
--output_dir /path/to/output/
联系方式
如果您对代码或论文有任何疑问,请随时发送邮件至 (weihaoran18@mails.ucas.ac.cn)。
致谢
引用
如果您在研究中认为我们的工作有所帮助,请考虑引用 Vary:
@article{wei2023vary,
title={Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models},
author={Wei, Haoran and Kong, Lingyu and Chen, Jinyue and Zhao, Liang and Ge, Zheng and Yang, Jinrong and Sun, Jianjian and Han, Chunrui and Zhang, Xiangyu},
journal={arXiv preprint arXiv:2312.06109},
year={2023}
}
@article{wei2024small,
title={Small Language Model Meets with Reinforced Vision Vocabulary},
author={Wei, Haoran and Kong, Lingyu and Chen, Jinyue and Zhao, Liang and Ge, Zheng and Yu, En and Sun, Jianjian and Han, Chunrui and Zhang, Xiangyu},
journal={arXiv preprint arXiv:2401.12503},
year={2024}
}
常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
n8n
n8n 是一款面向技术团队的公平代码(fair-code)工作流自动化平台,旨在让用户在享受低代码快速构建便利的同时,保留编写自定义代码的灵活性。它主要解决了传统自动化工具要么过于封闭难以扩展、要么完全依赖手写代码效率低下的痛点,帮助用户轻松连接 400 多种应用与服务,实现复杂业务流程的自动化。 n8n 特别适合开发者、工程师以及具备一定技术背景的业务人员使用。其核心亮点在于“按需编码”:既可以通过直观的可视化界面拖拽节点搭建流程,也能随时插入 JavaScript 或 Python 代码、调用 npm 包来处理复杂逻辑。此外,n8n 原生集成了基于 LangChain 的 AI 能力,支持用户利用自有数据和模型构建智能体工作流。在部署方面,n8n 提供极高的自由度,支持完全自托管以保障数据隐私和控制权,也提供云端服务选项。凭借活跃的社区生态和数百个现成模板,n8n 让构建强大且可控的自动化系统变得简单高效。
AutoGPT
AutoGPT 是一个旨在让每个人都能轻松使用和构建 AI 的强大平台,核心功能是帮助用户创建、部署和管理能够自动执行复杂任务的连续型 AI 智能体。它解决了传统 AI 应用中需要频繁人工干预、难以自动化长流程工作的痛点,让用户只需设定目标,AI 即可自主规划步骤、调用工具并持续运行直至完成任务。 无论是开发者、研究人员,还是希望提升工作效率的普通用户,都能从 AutoGPT 中受益。开发者可利用其低代码界面快速定制专属智能体;研究人员能基于开源架构探索多智能体协作机制;而非技术背景用户也可直接选用预置的智能体模板,立即投入实际工作场景。 AutoGPT 的技术亮点在于其模块化“积木式”工作流设计——用户通过连接功能块即可构建复杂逻辑,每个块负责单一动作,灵活且易于调试。同时,平台支持本地自托管与云端部署两种模式,兼顾数据隐私与使用便捷性。配合完善的文档和一键安装脚本,即使是初次接触的用户也能在几分钟内启动自己的第一个 AI 智能体。AutoGPT 正致力于降低 AI 应用门槛,让人人都能成为 AI 的创造者与受益者。
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
