首页 / 资料库 / Hugging Face · 小模型课

资料库8 分钟读完Apache-2.0多模态视觉语言模型Hugging Face小模型课

视觉语言模型入门

译自《Introduction to Vision Language Models》 · 查看英文原文

原文出处Introduction to Vision Language Models 原作者:Hugging Face · 许可证:Apache-2.0 License 中文译本由诸葛AI学院整理,仅供学习参考,版权归原作者与 Hugging Face 所有。

视觉语言模型(vision language model, VLM)能同时理解图像和文本,可以做图像描述、视觉问答、多模态推理这类任务。和 LLM 一样,VLM 的训练目标也是预测下一个令牌(token),多出来的本事是处理视觉信息。比如 HuggingFaceTB/SmolVLM2-2.2B-Base 是一个基座(base)VLM,HuggingFaceTB/SmolVLM2-2.2B-Instruct 则做过指令微调(instruction tuning),适合和用户做对话式交互。

这一单元我们会探索这类模型怎么构建、怎么工作,以及最重要的:怎么把它们用起来、改造成你自己的项目。

提示 学完本单元,你会用前面单元已经学过的技术(比如监督微调 SFT)去微调一个 VLM。老规矩,这一单元还是小而快。 想更深入地学计算机视觉,可以看 The Community Computer Vision Course。 学完本单元(含课后作业)后,别忘了用测验检验一下自己。

什么是视觉语言模型?

VLM 在处理文本的同时处理图像,由此支撑图像描述、视觉问答、多模态推理等任务。

一个典型的 VLM 架构包含三部分:图像编码器(image encoder)负责提取视觉特征;投影层(projection layer)把视觉表示和文本表示对齐;语言模型负责处理或生成文本。靠这套结构,模型能把视觉元素和语言概念建立起联系。

根据场景不同,VLM 可以有不同配置。基座模型处理通用的视觉-语言任务,面向对话优化的版本支持聊天式交互。一些模型还带有额外组件:有的把预测结果落到具体的视觉区域上(grounding),有的专攻目标检测这类特定任务。

最新趋势

给语言模型加上视觉能力后,打开了许多让人兴奋的方向,包括:

  • 推理型 VLM:结合视觉输入解决复杂问题。
  • 专用 VLM:例如目标检测、图像分割或文档理解。
  • 视觉-语言-动作模型(Vision-Language-Action):为机器人直接生成动作。
  • 代理型 VLM(agentic VLM):支撑复杂工作流,比如和文档对话、看截图操作电脑。
  • 任意模态互转模型(any-to-any):不再局限于视觉和文本,输入输出可以是文本、图像、音频、视频等多种模态。

按需改造视觉语言模型

微调(fine-tuning)一个 VLM,就是把预训练模型适配到你的数据集或任务上。你在前面的单元里已经见过监督微调(SFT)偏好对齐,同样的思路在这里照样适用。

核心工具和技术与微调 LLM 时基本相同,但微调 VLM 会带来额外挑战。一个关键问题是数据表示:图像要仔细准备,模型才能有效融合视觉和文本信息。另一个因素是模型规模。VLM 往往比 LLM 大得多,效率问题因此非常要紧。

为了让训练既实用又省钱,可以借助量化(quantization)PEFT(参数高效微调,Parameter-Efficient Fine-Tuning),我们在第 1 单元里探索过这些方法。它们让微调更轻量,更多人因此有机会改造和试验强大的 VLM。

评测视觉语言模型

如我们在第 2 单元所见,评估在开发阶段和生产阶段都是关键一步。VLM 同理:开发期要有基准(benchmark)来考察模型的能力和短板,上线后要拿真实场景检验可靠性和实用性。

常用的通用基准包括:

  • MMMUMMMU-Pro:覆盖多学科的大规模基准,要求模型在艺术、科学、工程等领域之间推理。
  • MMBench:3000 多道单选题,考察 OCR、定位、推理等技能。
  • MMT-Bench:聚焦专家级的多模态任务,包括识别、定位、推理和规划。

另有一批专用领域基准,考察特定技能:

  • MathVista:评估结合图像的数学推理。
  • AI2D:聚焦图表理解。
  • ScienceQA:科学问答。
  • OCRBench:评估文档理解和 OCR 能力。

如果想让评估流程更省事,OpenVLM Leaderboard 提供了一套工具包,一条命令就能在多个基准上评测 VLM。

你会学到什么

学完本模块,你将能够:

  • 用 🤗 transformers 库调用 VLM
  • 理解 VLM 的对话模板(chat template)和会话格式
  • 在自己的数据集上微调 SmolVLM
  • 分别通过代码和命令行跑训练流程

视觉语言模型的世界很有意思,我们出发吧!

参考文献

这篇在讲什么,跟咱们的课怎么对?

资料库是大厂公开教材的中文译本,偏原理和工程做法。想看面向中小企业的白话版本,去入门课场景课