多模态大模型数据分析与实践 精华
数据集是大模型竞争的关键要素之一,AI大模型的突破得益于高质量数据的发展。训练大模型需要大规模、高质量、多模态的数据集,通常需要从各个领域和多个数据源收集数据,这些数据可以是文本、图像、语音、视频等多种形式。大语言模型训练使用的数据集规模爆发式增长。从2018年GPT-1数据集约为4.6GB,2020年GPT-3数据集达到了753GB,而ChatGPT的数据集为超万亿单词的人类语言数据集(约45TB)。OpenAI并没有公开训练ChatGPT的相关数据集来源和具体信息,这也形成了一道无形的技术壁垒。常见的数据集如图1所示,主要由海外开源组织、高校、互联网巨头、政府机构等掌握。
截至2023年7月底,国内10亿参数以上的各类大模型,已达113个,当前模型的扩展速度比数据集快3倍。谷歌研究发现,数据集大小至少与模型大小一样重要,数据集和模型大小应该大约1:1以达到给定数量的训练计算下的最佳性能。因此下阶段AI的突破将得益于高质量数据,这是大模型性能提升、行业应用落地的关键,能否掌控相应的数据集,直接决定能否构建产业竞争优势[1]。
▲ 图1 常见多模态大模型训练数据集
一、典型数据集及指令分析
现有优秀的多模态大模型如LLAVA[2]、miniGPT4[3]、pink[4]、cogvlm[5]等,具有相似的模型范式,模型结构一般包括VIT、对齐层、LLM三个部分。训练流程总体可分为两个步骤:
- pretrain阶段:主要采用image caption、VQA数据集对模型进行预训练;
- finetune阶段:使用指令数据对模型进行微调,使模型具有特定能力(如对话能力)。
MLLM数据总体可分为三种:
- image caption — 图像描述数据。通常由图片文本对组成,如COYO、LAION、CC3M等;
- VQA— 图文问答数据。如VQAv2、OKVQA、OCRVQA、TextVQA、ScienceQA;
- VISUAL GROUNDING— 图文定位数据。通常带有目标坐标,如RefCOCO、VisualGenome、Flickr30K等;
下面重点分析cogvlm中使用到的多模态数据集。
1.pretrain阶段
1) image caption数据
主要使用LAION-2B和COYO-700M数据集,为了提高模型的准确率,作者分别删除损坏的URL、NSFW图像、带有嘈杂字幕的图像、带有政治偏见的图像以及长宽比大于6或小于1/6的图像,最后形成大约1.5B规模的数据集用于模型预训练。
2)带有坐标的image caption数据
该数据集主要来源于LAION-115M数据集,由于数据中存在位置坐标信息,所以需要将位置信息进行嵌入。数据制作方式参考Kosmos-2[6],样例如图2所示。
▲ 图2 Kosmos-2数据集标注示例图
- clip_similarity_vitb32:表示文本和图像(ViT-B/32) 之间的余弦相似性;
- clip_similarity_vitl14:表示文本和图像(ViT-L/14) 之间的余弦相似性;
- id:唯一的64位整数ID;
- url:图像的url;
- caption:相应的描述;
- width,height:图像长宽;
- noun_chunks:具有关联坐标框(由GLIP预测)的名词块(由spaCy提取);
- ref_exps:相应的引用表达式。
2.finetune阶段
二、多模态大模型实践
1模型架构
自研多模态大模型基于LLAVA架构如图3所示,图片经视觉编码器,再经过特征对齐层输出维度与大语言模型匹配的词元向量,合并提示词生成的词元向量合并输入大语言模型,大语言模型会输出相应的回答。
▲ 图3 模型架构图
2.数据建模
当前训练集中数据总规模约为1313.2k,数据构成如表3所示。由于多模态大模型数据标注成本较高,现有数据中大部分为开源数据,极少部分为自有标注数据。
当前数据以对话为主,能够训练模型的图像理解能力,模型拥有基于单张图片和人类对话的能力。目前开源数据都是英文的,自有场景标注数据中英文版本都有,训练中采取全英文训练。后期可以加入带位置的图像对话数据,来训练模型的目标定位能力,有相关研究提到这也能减少幻视问题。后期还可以加入视频文本对话数据,来训练模型跨图像对话能力、视频理解能力。
▲ 表3 训练数据集
自有场景数据prompt数据构建方案如表4所示,以越门经营为例,数据包括提问、选项、回答。
▲ 表4 数据构建展示
提问要将神眼场景的含义阐释清楚,越门经营包含“饭店把餐桌放在门外”以及“商店把货物放在门外”。
选项设置很关键。在定义各个选项时,尽量使各个选项的含义和字面差异大,否则会出现理由正确但是选项选错的情况;多模态大模型是因果语言模型,模型做选项时倾向于选择离选项最近的选项,所以如果要减少假阳性,要把阴性答案放在最后一个选项;选项要尽量简单,要让模型容易理解。
回答理由尽量简单直接,如果模型给的理由给太多,由于因果语言模型以及位置编码的影响,模型自己说的token影响力会盖过真实的图像token,从而导致乱选。
回答选项参考LLAVA使用“.\n###\nANSWER:”作为特殊标记符号,便于自动化提取。
3.模型训练
目前模型微调采用三阶段训练,如表5所示。在第1阶段使用图像文本对训练,可以对齐视觉编码器大语言模型模型的特征空间;第二阶段使用图像选择题、图像本文对话训练模型的图像理解和对话能力;第三阶段使用自有场景选择题数据,可以提升模型在特定场景上的准确率。
▲ 表5 训练方案
4.模型效果
▲ 表6 测试结果
三、总结与展望
本文主要对大模型数据集进行了介绍,对数据多样性和指令多样性提出了一些见解。简单介绍了团队在大模型上的一些成果。后续团队将持续关注多模态大模型的发展,持续优化自有大模型。
参考文献
[1] 大模型数据集现状与启示.
[2] Visual Instruction Tuning.
[3] MiniGPT-4: Enhancing Vision-language Understanding with Advanced Large Language Models.
[4] Pink: Unveiling the Power of Referential Comprehension for Multi-modal LLMs.
[5] CogVLM: a state-of-the-art-level open visual language model.
[6] Kosmos-2: Grounding Multimodal Large Language Models to the World.
本文转载自 AI遇见云,作者: 许伟栋