OFASys:多模态多任务学习框架
Qwen 推出了 OFASys,这是一款旨在简化多模态多任务学习的 AI 框架。通过使用简洁的 “Instruction” 接口,系统允许开发者仅用一行代码构建多模态多任务学习任务,消除数据预处理、模型构建和训练稳定性方面的复杂性。
通过指令简化任务定义
OFASys 用基于模板的 Instruction 系统取代了复杂的实现过程。Instruction 使用特定语法(例如 input -> output)定义任务的输入和期望输出,使系统能够自动处理底层数据管道。
- 图像字幕示例:指令
[IMAGE:img] -> cap告诉系统数据集中有一个绑定到img列的图像输入,输出应为cap列中的文本序列。 - 自然语言推理(NLI)示例:对于 NLI 任务,系统支持对编码器的多输入,并提供诸如
no_loss的特定信号以避免对重复输入进行损失计算,以及closed_set用于指示闭合标签集。
系统架构与设计
OFASys 采用模块化设计,将 Instruction 转换为可执行的任务计划。该架构确保不同模态能够通过一致的内部接口进行处理。
任务计划组件
每个任务计划由包含以下内容的模型层次结构组成:
- 特定模态组件:预处理器、后处理器和适配器,处理特定数据类型的细节。
- 通用模型:一种与模态无关的计算模型,融合多模态输入并生成输出。由于输入和输出被视为表示序列,通用模型在任何模态下都保持通用性。
训练与执行
为管理多任务学习的规模,OFASys 实现了以下功能:
- 参数共享:默认情况下,系统在适配器和通用模型之间共享可训练参数,以最大化跨示例的优化。
- 任务与逻辑调度器:任务调度器管理联合优化和任务优先级,而逻辑调度器处理跨多个物理设备的工作流。
- 分阶段组件:提供开箱即用的生成器和准则,以支持训练和推理。
性能验证:OFA+ 模型
为展示框架的有效性,Qwen 开发了 OFA+,这是一款能够同时处理文本、图像、语音、视频和动作数据的通用模型。
研究人员比较了模型的三个版本:
- OFA+(通用型):基于 OFA 的通用模型。
- OFA+(通用型 MoE):利用模态级专家混合(Mixture of Experts,MoE)改进的版本。
- OFA+(专用型):在特定任务上微调的原始 OFA 模型,用作基线比较。
结果表明,OFA+ 在扩展到 7 种不同模态的 23 项多样任务的同时,仍保留了专用模型超过 95% 的性能。这表明多任务学习能够为通用模型提供广泛能力,而不会牺牲在特定任务上的顶级表现。