[论文阅读笔记] A Survey on Multimodal Large Language Models

Abstract

使用LLM辅助的multimodal工作的架构特点以及运用。

Architecture

  1. Modality Encoder:

使用pre-aligned encoder将其他模态和LLM tokens对齐。

大分辨率图像尺寸图像训练出的encoder可以达到更好的效果
→\rightarrow→ 如何保证大分辨率输入?
→\rightarrow→ 1 direct scaling:将image变为新encoder对应的高分辨率后输入;2 patch division:将高分辨率图像切分成多个不同块,将各个块和压缩后低分辨率的整张图用于低分辨率的encoder上

对于encoder而言,参数量和训练数据并没有分辨率那么重要

  1. Pretrained LLM

增大LLM的参数量会带来一定程度的收益

  1. Modality Connector

LLM只接受语言类token
→\rightarrow→ 将其他模态和语言对齐
→\rightarrow→ 1 加入可学习的connector在Modality Encoder和LLM之间。

  • token-level在进入LLM前操作:将encoder输出的特征使用connector转译成tokens然后直接和text tokens拼接输入给LLM。
  • feature-level在LLM内操作:在LLM内部添加新的模块,让不同模态之间深度fusion。
    connector的参数量一般和整个
    →\rightarrow→ 2 使用expert model将其他模态转换成语言后直接交给LLM。将其他模态的输入直接转化为语言描述形式,然后输入给LLM。

Training Strategy

  1. Pretrain

需要大量的多模态数据对,旨在对齐不同模态并学习知识。

常见的pretrain方法:将encoder和LLM参数冻结,训练modality connector。
→\rightarrow→ 在不丢失pretrain知识的情况下,进行模态间的对齐。

对于short/noisy的数据,pretrain会使用低分辨率来加快训练过程;对于long/clean的数据,pretrain会使用高分辨率来减少幻觉(分辨率低 →\rightarrow→ 模态对应token数少 →\rightarrow→ 遐想空间大 →\rightarrow→ 发生幻想)。高质量数据pretrain时,解冻encoder参数可能会带来更好的对齐效果。
→\rightarrow→ 根据数据集的质量,来手动选择输入数据和encoder所对应的分辨率。高分辨率输入时,分割出的patch数目多因为分割窗口大小不变,encoder输出的token数越多。
注意:每个patch使用的encoder参数是共享的,所以不会增大参数量。LLM每个token计算时使用的参数也共享,所以也不会增大参数量。

  1. Instruction Tuning (在LLM后加下游)

Supervised Finetune:需要成对的下游任务数据集;

Prompting:通过few-shot提高模型在某一特定任务上的能力;

Instruction Tuning:用一堆不同的任务去微调模型,让模型学会如何理解没有见过的任务,并在所有下游任务上都具备良好性能。有点像agent

每条训练数据分为三大块:1 描述任务的instruction(optional);2 input;3 output

训练目标类似LLM的auto-regression,和ground truth output靠近。

训练数据集收集方法:

  1. data adaption:将已有高质量数据集拼凑在一起。Instruction由人工书写或GPT生成。

  2. self-instruction:仅仅拼凑数据集无法模拟现实生活中人们多轮对话的需求。使用一些数据集给GPT,生成模拟的上下文数据。

  3. Alignment Tuning

将模型和人类的喜好对齐。RLHF / DPO不再需要训练额外的reward model

数据集:收集人类对于模型回复的feedback

Evaluation

  1. closed-set
    问题的答案可以被预测,并且局限在有限的空间内。
  2. open-set
    问题的答案非常灵活,细分为:manual score,GPT score和case study。case study是比较两个模型的回答之间的区别,来看是否有一个模型性能更佳。

HALLUCINATION

  1. pre-correction:数据集中加入幻觉数据,让模型在学习的过程中减少幻觉情况。
  2. in-process-correction:找出模型幻觉根源,修改模型架构
  3. post-correction:在output生成后修正存在的幻觉。
相关推荐
三品吉他手会点灯8 小时前
C语言学习笔记 - 43.运算符与表达式 - 运算符1 - 运算符的分类和简单介绍
c语言·笔记·学习·算法
疯狂打码的少年8 小时前
中断处理过程与中断优先级
笔记
likerhood9 小时前
WSL 下安装 Miniconda 笔记
笔记·wsl
喜欢打篮球的普通人10 小时前
LLVM 后端流程与关键数据结构:从 IR 到机器码的入门笔记
java·数据结构·笔记
烛之武10 小时前
Pytorch学习笔记(1)
pytorch·笔记·学习
chushiyunen11 小时前
业务模型笔记
笔记
searchforAI12 小时前
2026年AI笔记工具对比实测:NotebookLM、通义听悟、Ai好记怎么选?
人工智能·笔记·gpt·ai·whisper·音视频·语音识别
硅谷秋水12 小时前
世界模型:架构、方法、推理与应用的综述(下)
人工智能·机器学习·计算机视觉·语言模型·机器人
硅谷秋水12 小时前
世界模型:架构、方法、推理与应用的综述(上)
人工智能·机器学习·计算机视觉·语言模型
zhangfeng113312 小时前
2021-2026 年全球 传统厂家AI 算力卡 GPU 前沿技术研究报告
人工智能·深度学习·语言模型·gpu算力·芯片