Vary

GitHub
1.9k 145 较难 1 次阅读 1周前语言模型图像其他
AI 解读 由 AI 自动生成,仅供参考

Vary 是一款专为大型视觉语言模型(LVLM)设计的开源项目,核心目标是显著扩展模型的“视觉词汇量”。传统视觉模型往往难以精准识别复杂的文字、图表或密集排版的文档,而 Vary 通过引入高分辨率图像编码器和优化的训练策略,有效解决了这一痛点。它不仅能流畅地进行日常图像对话,更在文档理解、高精度 OCR(光学字符识别)、图表解析及物体检测等任务上表现出众,能够轻松处理包含中英文混合内容的复杂 PDF 页面。

该项目特别适合人工智能研究人员、开发者以及需要处理大量文档数据的专业人士使用。对于希望从零开始训练模型的研究者,Vary 还提供了轻量级的 Vary-tiny 版本及配套的 60 万页多语言数据集,大大降低了实验门槛。作为 ECCV 2024 的接收论文成果,Vary 的技术亮点在于其独特的架构设计,成功打破了通用视觉模型在细粒度文字识别上的瓶颈,实现了从“看图说话”到“深度读懂文档”的跨越。目前,相关代码、权重及在线演示均已开放,遵循学术研究与特定商业许可协议,欢迎社区共同探索与改进。

使用场景

某金融数据分析师需要每天从数百份包含复杂图表、密集表格和混合排版的跨国财报 PDF 中提取关键营收数据与趋势分析。

没有 Vary 时

  • 细粒度文字识别失败:面对财报中字号极小的脚注或高密度表格,传统 OCR 模型频繁出现漏字、错行,导致数据提取准确率低下。
  • 图表理解能力缺失:模型只能机械地转录图表中的文字,无法理解折线图、柱状图背后的数据趋势,分析师必须人工看图并手动录入数据。
  • 多语言混合处理困难:在处理中英文混排的国际化报表时,经常发生语言混淆或乱码,需要额外的人工校对和清洗步骤。
  • 流程割裂效率低:需要串联多个独立工具(OCR 引擎 + 图表解析脚本 + 翻译接口),调试成本高且错误难以追溯。

使用 Vary 后

  • 高密度文本精准捕获:Vary 凭借扩大的视觉词汇量,能完美识别财报中密集的表格和小字脚注,直接输出结构化文本,无需二次校对。
  • 原生图表语义理解:Vary 不仅能“看见”图表,还能直接回答“第三季度营收增长率是多少”这类问题,自动将视觉趋势转化为文字结论。
  • 中英混合无缝解析:内置的多语言支持让 Vary 在处理中英文混杂的排版时游刃有余,准确保持原文语境,消除了乱码痛点。
  • 端到端一站式处理:只需将 PDF 页面输入 Vary,即可直接获得包含数据、趋势分析和关键结论的综合报告,大幅简化了技术栈。

Vary 通过扩展大视觉语言模型的视觉词汇边界,真正实现了从“看清图片”到“读懂复杂文档”的质变,让非结构化文档的数据挖掘变得像对话一样简单。

运行环境要求

操作系统
  • Linux
GPU

需要 NVIDIA GPU(因依赖 flash-attn 和 deepspeed),显存需求未明确说明(建议 16GB+ 以运行 Qwen-7B 版本),需支持 CUDA

内存

未说明

依赖
notes1. 必须安装 Flash-Attention (flash-attn) 且编译时需禁用隔离构建 (--no-build-isolation)。 2. 训练脚本使用 DeepSpeed,需配置 zero_config (如 zero2.json)。 3. 模型权重(Vary-base/Vary-tiny)未直接在 README 提供下载链接,需联系作者或通过 HuggingFace 获取特定变体(如 Vary-toy, Vary-tiny-opt125M)。 4. 需单独下载 CLIP-VIT-Large 预训练权重并配置路径。 5. 基础模型依赖 Qwen-7B 或 OPT-125M。
python3.10
flash-attn
ninja
deepspeed
transformers (隐含,基于 Qwen/LLaVA)
torch (隐含,基于 flash-attn)
Vary hero image

快速开始

Vary:扩展大型视觉-语言模型的视觉词汇表

Ucas-HaoranWei%2FVary | Trendshift

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许可协议的用途。

目录

安装

  1. 克隆此仓库并进入Vary文件夹
git clone https://github.com/Ucas-HaoranWei/Vary.git
cd Vary
  1. 安装软件包
conda create -n vary python=3.10 -y
conda activate vary
pip install e .
  1. 安装Flash-Attention
pip install ninja
pip install flash-attn --no-build-isolation

Vary权重

  • 如果您近期急需用于研究的权重,请通过电子邮件联系我。
  • Hugging Face下载CLIP-VIT-L。
  • 此处可获取Vary-toy的权重。

演示

  1. 将代码中的CLIP-VIT路径(/cache/vit-large-patch14/)更新为您自己的路径。

python vary/demo/run_qwen_vary.py  --model-name  /vary/model/path/ --image-file /an/image/file.png

训练

  • 我们目前不计划开源中间模型的权重。
  • 不过,我们已公开训练代码,因此您可以使用自己的数据集进行训练。 如果您想这样做,可以尝试以下步骤:
  1. 对于 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/
  1. 对于 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)。

致谢

  • LLaVA:我们在此基础上构建了代码库!
  • Qwen:Vary 的基础大语言模型,擅长处理英语和中文!

引用

如果您在研究中认为我们的工作有所帮助,请考虑引用 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),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|2周前
Agent开发框架图像

n8n

n8n 是一款面向技术团队的公平代码(fair-code)工作流自动化平台,旨在让用户在享受低代码快速构建便利的同时,保留编写自定义代码的灵活性。它主要解决了传统自动化工具要么过于封闭难以扩展、要么完全依赖手写代码效率低下的痛点,帮助用户轻松连接 400 多种应用与服务,实现复杂业务流程的自动化。 n8n 特别适合开发者、工程师以及具备一定技术背景的业务人员使用。其核心亮点在于“按需编码”:既可以通过直观的可视化界面拖拽节点搭建流程,也能随时插入 JavaScript 或 Python 代码、调用 npm 包来处理复杂逻辑。此外,n8n 原生集成了基于 LangChain 的 AI 能力,支持用户利用自有数据和模型构建智能体工作流。在部署方面,n8n 提供极高的自由度,支持完全自托管以保障数据隐私和控制权,也提供云端服务选项。凭借活跃的社区生态和数百个现成模板,n8n 让构建强大且可控的自动化系统变得简单高效。

184.7k|★★☆☆☆|今天
数据工具开发框架Agent

AutoGPT

AutoGPT 是一个旨在让每个人都能轻松使用和构建 AI 的强大平台,核心功能是帮助用户创建、部署和管理能够自动执行复杂任务的连续型 AI 智能体。它解决了传统 AI 应用中需要频繁人工干预、难以自动化长流程工作的痛点,让用户只需设定目标,AI 即可自主规划步骤、调用工具并持续运行直至完成任务。 无论是开发者、研究人员,还是希望提升工作效率的普通用户,都能从 AutoGPT 中受益。开发者可利用其低代码界面快速定制专属智能体;研究人员能基于开源架构探索多智能体协作机制;而非技术背景用户也可直接选用预置的智能体模板,立即投入实际工作场景。 AutoGPT 的技术亮点在于其模块化“积木式”工作流设计——用户通过连接功能块即可构建复杂逻辑,每个块负责单一动作,灵活且易于调试。同时,平台支持本地自托管与云端部署两种模式,兼顾数据隐私与使用便捷性。配合完善的文档和一键安装脚本,即使是初次接触的用户也能在几分钟内启动自己的第一个 AI 智能体。AutoGPT 正致力于降低 AI 应用门槛,让人人都能成为 AI 的创造者与受益者。

183.6k|★★★☆☆|今天
Agent语言模型插件

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|2周前
开发框架图像Agent

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 真正成长为懂上

161.1k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

109.2k|★★☆☆☆|2天前
开发框架图像Agent