【论文笔记】VITA: Towards Open-Source Interactive Omni Multimodal LLM

论文地址 https://www.arxiv.org/pdf/2408.05211
项目地址 https://github.com/VITA-MLLM/VITA

模型速览

gpt4o的多模态能力和互动体验展现出了他们在实际应用中的必要性,如今的开源模型很难在这两方面表现出色。文章作者首次开源了一个能够即时处理分析多种模态信号并具有互动性的多模态模型,VITA(Video, Image, Text, Audio),其性能也经过了验证。

  • 传统音频交互的限制
    • 用户每次提问需要先说出预定义的唤醒词,类似于“Hi! Siri~”
    • 模型生成结果的过程中是不再支持交互的,只能支持顺序响应用户query
  • VITA
    • 自动滤除与人声音不相关的背景噪声,因此不需要唤醒词
    • 音频打断交互:如果用户在模型生成回复的过程中用另一个问题打断,则支持中断当前的回复,处理最新的用户query
  • VITA 训练/推理流程:
    • 基于一个MOE语言模型Mixtral 8*7B,经双语料sft扩展了语言模型的中文词表
    • 多任务训练,分别训练单独的语音和vision encoder和connector,使多模态能力对齐;定义状态token,基于构建的多模态指令调优数据训练教会模型识别不同类型的输入,使其能够在没有唤醒词的情形下也能正确响应
    • 多模态SFT
    • 采用双工方案进行部署,即同时部署两个VITA模型,一个模型负责对用户的query输出回复,另一个连续跟踪环境的输入,选择性地对新的输入做出反应并回复(非唤醒交互和用户打断的场景),如果当前的生成过程被打断,模型就根据新的用户query生成回复。为了提高交互效率,作者团队也进行了工程优化,比如采用vllm实现了推理加速

Interaction of VITA
VITA推理流程

VITA模型细节

各阶段训练策略

VITA训练流程

StageLLM Instruction TuningMultimodal AlignmentMultimodal Instruction Tuning
Strategy扩展中文词表,从32000扩到51747冻结vision encoder,只训练connector,数据group到上下文6K设计三个特殊token<1><2><3>,把这些token放在回答的起始位置,区分不同的回复类型;冻结语音和视觉编码器参数,训练LLM和connector
Effect相同文本情况下减少了token数量,提高推理速度只训connector…(文中没说为什么),数据group保证了比较均匀的token数量,提高训练效率,同时不会降低模型效果特殊token可以避免模型混淆,更容易理解
Data5M 纯文本数据4960.3K,包含图,视频,OCR和图表的描述和问答对及纯文本数据在表1的基础上做了调整,用GPT-SoVITS将一半数据的query替换成了语音版本,不同类型的数据采用不同的system prompt(表2);音频噪声干扰数据:从多模态和单模态的QA对的答案中随机采样474K句子然后转成音频

Multimodal Alignment

ModalityVisualAudio
EncoderInternViT-300M-448px4×CNN downsampling layers + a 24-layer-transformer, totaling 341M paras
Connectortwo-layer MLPtwo-layer MLP
Inputimage with 448*448audio
Output256 tokens每2s音频被编码成25个token
Processing对于高分辨率图像,采取动态的切图策略,视频作为图像的特殊案例,根据视频的时间序列长度切分出不同数量的视频帧,视频帧不作切图处理每段音频需要先经过一个梅尔滤波器组将音频信号分解为梅尔频率尺度上的各个频带,模仿人类对声音的非线性感知,即提取FBank特征
Data Source见表1Wenetspeech和Gigaspeech,都包含10000+小时的音频演讲,分别以中文和英文为主
Alignmenttune connector onlyAutomatic Speech Recognition(ASR)任务

表 1 Data recipe of visual alignment
Data recipe of visual alignment

Multimodal Instruction Tuning

Special Token<1><2><3>
Input typeAudioNoisyText
Outputtext or speech converted by TTS toolsEOS token as a terminatorpure text

However, we observe that abruptly terminating the output during training can significantly degrade performance. Consequently, we send the text corresponding to the noisy audio to a LLM and use its output text as the training target. During inference, <2> serves as another special EOS token.

也就是说训练过程中直接令输出中断是不可取的,会导致模型性能下降。因此将这段语音对应的文本输入到LLM中得到的回复作为训练目标,<2>就作为另一个特殊的EOS token

表 2 System Prompts for image input, video input, and pure text input
System Prompts

Duplex Pipeline

开始讲讲如何实现交互

无唤醒交互场景

场景要求:

  • 实时追踪环境声音信息,涉及确认是否是人声
  • 滤除环境噪声,模型只需要回复有效人声

对于第一个需求,可以借助Voice Activity Detection(VAD)任务实现,VITA采用 SileroVAD模型,是在超过6000中语言的大量预料上训练过的,在各种背景噪声中的性能表现也不错;对于第二个需求,上述第三阶段指令微调已经对此做出了优化。

音频打断交互场景

场景要求:

  • 外部query的实时跟踪和过滤
  • 回答新的问题:当出现新问题时,系统必须停止当前一轮回复,组建历史对话,并对当前的query做出回应。

为实现上述要求,作者实现了一个双工部署框架,同时部署两个VITA模型。
典型情况下,Generation model会回答用户query。同时,Monitoring model在生成过程中检测环境声音。它忽略非query的用户声音,即嘈杂的音频,但在识别query音频时停止生成模型的进程。Monitoring model 随后整合历史上下文并响应最新的用户query。此时,Generation model和Monitoring model的身份互换。

Evaluation

性能对比

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值