多模态大模型数据构造方法 原创
本文将以LLaVA和MiniGPT-4为例介绍多模态大模型数据构造的方式。
数据质量是决定多模态模型性能的关键因素。高质量的数据能够减少噪声干扰,提高模型的学习和预测准确性。同时多模态数据的多样性直接影响模型的泛化能力。一个包含丰富多样数据的集合能够训练出更加健壮的模型,使其能够在不同的应用场景中表现良好。
本文以LLaVA和MiniGPT-4为例,介绍相关多模态数据的构造过程,给大家在训练或者微调自己的多模态模型提供思路。
LLava数据构造
LLaVA利用图文对创建了两个数据集:简单的对话数据集(低质量,数据量大,标注成本低),复杂的对话数据集(高质量,数据量小,标注成本高)。
- 简单的图文对对话数据。首先利用已有的图文对数据集(图片+对应描述caption),然后利用ChatGPT生成不同的提问方式(描述该图),并将caption作为问题的答案:
"Describe the image concisely."
"Provide a brief description of the given image."
"Offer a succinct explanation of the picture presented."
"Summarize the visual content of the image."
"Give a short and clear explanation of the subsequent image."
"Share a concise interpretation of the image provided."
"Present a compact description of the photo’s key features."
"Relay a brief, clear account of the picture shown."
"Render a clear and concise summary of the photo."
"Write a terse but informative summary of the picture."
"Create a compact narrative representing the image presented."
- 更复杂的图文对对话数据。为了生成多轮对话数据并提高训练数据的多样性。为了使用ChatGPT成带图片的多轮对话数据,作者使用目标检测将图片变成ChatGPT可以读懂的图片描述,如下图所示,更定更加精确的坐标信息等:
MiniGPT-4数据构造
MiniGPT-4细致构建了一个专为对齐任务设计的优质图像与文本数据集,以微调MiniGPT-4模型。在第一阶段,图像与文本的初始对齐是通过使用第一个预训练阶段得到的模型来完成的,该模型能够为给定的图像生成详尽的描述。
首先设置了一个通用的问答对话模版:
###Human: <Img><ImageFeature></Img> Describe this image in detail. Give as many details as possible. Say everything you see. ###Assistant:
其中,<ImageFeature>是指由线性投影层产生的视觉特征。为了识别不完整的句子,检查生成的句子是否超过80个tokens。如果没有,会添加一个额外的提示:
###Human: Continue ###Assistant:
此外,由于生成的图像描述中存在诸多问题,如噪声较多、错误频出(包括单词或句子的重复)以及陈述不连贯等,为了解决这些问题,我们采用了ChatGPT,并借助特定的提示来优化和完善这些描述。
修正给定段落中的错误。删除任何重复的句子、无意义的字符、非英语句子等等。删除不必要的重复。重写任何不完整的句子。直接返回结果,无需解释。如果输入的段落已经正确,则直接返回该段落,无需解释。
Fix the error in the given paragraph. Remove any repeating sentences, meaningless characters, not English sentences, and so on. Remove unnecessary repetition. Rewrite any incomplete sentences. Return directly the results without explanation. Return directly the input paragraph if it is already correct without explanation.
在上述后处理步骤完成后,要对每张图像的描述进行细致人工审核,以确保其达到高标准的质量。具体而言,逐个检查生成的图像描述是否符合预期的格式,并对ChatGPT未能识别的冗余词汇或句子进行了手动编辑和润色,即可用来进行第一阶段的训练。
在第二阶段微调时,使用以下模板中预定义的提示:
###Human: <Img><ImageFeature></Img> <Instruction> ###Assistant:
在此提示中,<Instruction>表示从预定义的指令集中随机采样的指令,其中包含各种形式的指令,如“详细描述此图像”或“您能为我描述此图像的内容吗”。
文转载自公众号瓦力算法学研所,作者:喜欢瓦力的卷卷