论文: MultiModal-GPT: A Vision and Language Model for Dialogue with Humans 代码: https://github.com/open-mmlab/Multimodal-GPT (包含代码、数据、demo) 作者:OpenMMLab
深度学习自然语言处理 原创 作者: 林哲乐
使用视觉和语言指令训练一个多模态聊天机器人!
基于开源多模态模型 OpenFlamingo,作者使用公开数据集创建了各种视觉指令数据,包括视觉问答、图像字幕、视觉推理、文本 OCR 和视觉对话。此外,还使用仅包含语言指令数据的语言模型组件进行了训练。
视觉和语言指令的联合训练有效提高了模型的性能!
具体细节就跟随小编继续往下看看吧~
本文提出一种多模态GPT(视觉、语言),与人类进行多轮对话,同时设计了统一化多模态的指令数据模板
能够遵循的指令类型:生成详细的标题、计算特定的对象、处理一般的询问
基准模型:OpenFlamingo(用LoRA方式训练)
联合训练的数据:1.纯文本数据 2.图像-文本数据
其他的一些多模态GPT模型:GPT-4[1]、Mini-GPT[2]、LLaVA[3]
提到的其他LLM:Vicuna[4]、LLaMA[5]
提到的其他数据集:VQA v2.0、Ok-vqa、GQA、CLEVR、NLVR
主要是提出了一个统一的训练数据模板,把以下两种数据整合起来,提高模型理解能力
仅包含语言的指令提示模板
{instruction}, {input}为输入文本,{response} ,<EOS> 用于计算损失
使用数据:
包含视觉-语言的指令提示模板
其中,{question} 是原始文本,<image_token>是表示图像存在的token,{response}、<EOS> 用于计算损失
使用数据集:
上述合成指令使得训练集较为丰富,则模型能够更健壮
图像描述的指令,举例如下:
模型结构图
基线模型:open-flamingo模型
组成:
训练数据:用2.1和2.2两种数据,进行联合训练
训练过程:通过预测文本的下一个标记进行训练,只有{responce}和标记参与损失计算
实验设置:
实验参数 | 取值 |
---|---|
GPU | A100 * 8 |
epoch | 1 |
batch_size | 1 |
LoRA参数更新 | 每16轮 |
learning rate | 1e-5 |
Demos展示:
感兴趣可以去官方网站[6]去尝试下,真的很棒!点击阅读原文也可直达!
缺点是好像只支持英文~
[1]
OpenAI. Gpt-4 technical report. 2023: https://cdn.openai.com/papers/gpt-4.pdf
[2]
Minigpt-4: Enhancing vision-language understanding with advanced large language models: https://arxiv.org/pdf/2304.10592.pdf
[3]
Visual Instruction Tuning: https://arxiv.org/pdf/2304.08485.pdf
[4]
Vicuna: An open-source chatbot impressing gpt-4 with 90%* chatgpt quality: https://lmsys.org/blog/2023-03-30-vicuna/
[5]
Llama: Openand efficient foundation language models: https://arxiv.org/pdf/2302.13971.pdf
[6]
官方网站: https://mmgpt.openmmlab.org.cn/