[论文阅读笔记] 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生成后修正存在的幻觉。
相关推荐
一只小菜鸡..7 小时前
Stanford CS144 学习笔记 (二):传输层与数据通信机制
网络·笔记·学习
Yunzenn9 小时前
强化学习1-Liu2026_GFlowRL_精读笔记
人工智能·笔记·深度学习·机器学习·transformer·集成学习·vllm
阿萨德528号9 小时前
Kimi K3:全球首个开源 3T 级大模型,技术解读与手记
人工智能·ai·语言模型·开源
天天爱吃肉82189 小时前
# 商用车多体动力学整车仿真学习笔记(开篇总览)
人工智能·笔记·python·功能测试·学习·汽车
一起努力啊~9 小时前
DataWhale组队学习笔记--llm-algo-leetcode(三)
笔记·学习·llm
kdxiaojie10 小时前
Linux 驱动研究 —— V4L2 (3)
linux·运维·笔记·学习
Amazing_Cacao11 小时前
CFCA精品可可饮品中级参数推演:突破液态表达的混沌,实现萃取微观结构的绝对物理可控
笔记
十月的皮皮11 小时前
C语言学习笔记20260717-预处理机制
c语言·笔记·学习
Zzj_tju11 小时前
Alignment Science 与可控生成:偏好学习、宪法式训练和可验证对齐
人工智能·学习·语言模型
WHS-_-202212 小时前
CL-SEC: Cross-Layer Semantic Error Correction Empowered byLanguage Models
人工智能·语言模型·php