- 项目主页: https://panda-gpt.github.io/
- 代码: https://github.com/yxuansu/PandaGPT
- 论文: http://arxiv.org/abs/2305.16355
- 线上 Demo 展示: https://huggingface.co/spaces/GMFTBY/PandaGPT
为了实现图像 & 视频、文本、音频、热力图、深度图、IMU 读数六种模态下的指令跟随能力,PandaGPT 将 ImageBind 的多模态编码器与 Vicuna 大型语言模型相结合(如上图所示)。
为了使 ImageBind 的多模态编码器和 Vicuna 的大型语言模型的特征空间对齐,PandaGPT 使用了组合 LLaVa 和 Mini-GPT4 发布的共 160k 基于图像的语言指令跟随数据作为训练数据。每个训练实例包括一张图像和相应一组多轮对话。
为了避免破坏 ImageBind 本身的多模态对齐性质和减少训练成本,PandaGPT 只更新了以下模块:
- 在 ImageBind 的编码结果上新增一个线性投影矩阵,将 ImageBind 生成的表示转换后插入到 Vicuna 的输入序列中;
- 在 Vicuna 的注意力模块上添加了额外的 LoRA 权重。两者参数总数约占 Vicuna 参数的 0.4%。训练函数为传统的语言建模目标。值得注意的是,训练过程中仅对模型输出对应部分进行权重更新,不对用户输入部分进行计算。整个训练过程在 8×A100 (40G) GPUs 上完成训练需要约 7 小时。
值得强调的是,目前的 PandaGPT 版本只使用了对齐的图像 - 文本数据进行训练,但是继承了 ImageBind 编码器的六种模态理解能力(图像 / 视频、文本、音频、深度度、热量图和 IMU)和它们之间的对齐属性,从而具备在所有模态之间跨模态能力。
在实验中,作者展示了 PandaGPT 对不同模态的理解能力,包括基于图像 / 视频的问答,基于图像 / 视频的创意写作,基于视觉和听觉信息的推理等等,下面是一些例子:
图像:
音频:
视频:
与其他多模态语言模型相比,PandaGPT 最突出的特点是它能够理解并将不同模态的信息自然地组合在一起。
视频 + 音频:
图像 + 音频:
总结
作者们也总结了目前 PandaGPT 的诸多问题以及未来的发展方向。尽管 PandaGPT 在处理多种模态及其组合方面具有惊人的能力,但仍有多种方法可以极大程度的提升 PandaGPT 的性能。
- PandaGPT 可以通过使用其他模态对齐数据来进一步提升图像以外模态的理解能力,例如利用 ASR 和 TTS 数据来进行音频 - 文本模态的模态理解和指令跟随能力。
- 文本以外的其他模态仅仅使用了一个 embedding 向量进行表示,导致语言模型无法理解文本之外模型的细粒度信息。更多关于细粒度特征提取的研究,如跨模态注意力机制,可能有助于提高性能。
- PandaGPT 目前仅允许将文本之外的模态信息用作输入。未来该模型有潜力将整个 AIGC 统一到同一个模型之中,即一个模型同时完成图像 & 视频生成、语音合成、文本生成等任务。
- 需要新的基准测试来评估多模态输入的组合能力。
- PandaGPT 还可能表现出现有语言模型的一些常见缺陷,包括幻觉、毒性和刻板印象。
最后,作者们强调,PandaGPT 仅仅是一个研究原型,暂时还不足以直接应用于生产环境。