ONE-PEACE
统一多模态表示学习框架,同时处理图像、音频、文本三大感知模态,无需预训练模型初始化
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
统一多模态表示学习框架,同时处理图像、音频、文本三大感知模态,无需预训练模型初始化
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
长期以来,视觉、语言、语音三大感知模态仿佛三条平行轨道——计算机视觉研究者专注图像理解,自然语言处理专家钻研文本生成,语音团队则独立优化声学模型。每个领域的模型都经过了数十年的迭代优化,各有一套成熟的技术体系。然而,这种「分而治之」的架构在现实应用中遇到了瓶颈:当用户问「这段视频里的人在说什么」,系统必须同时理解画面、声音和语义,跨越模态边界进行信息融合,而这恰恰是单模态模型的软肋。
ONE-PEACE(One General Representation Model Toward Unlimited Modalities)正是为解决这一痛点而生。它由阿里巴巴-OFA团队于2023年5月提出,目标是打造一个能同时处理图像、音频和文本的统一表示学习框架,且无需依赖任何已预训练的视觉或语言模型作为初始化起点。这意味着 ONE-PEACE 从零开始学习跨模态对齐,从根本上避免了多模态预训练中常见的「捷径学习」问题——即某些模态过于强大而主导了整个表示空间。
截至目前,ONE-PEACE 在 GitHub 上已获得超过 1000 颗星,引发了学术界和工业界的广泛关注,被认为是通向「无限模态」通用人工智能的重要一步。
ONE-PEACE 的核心设计哲学是「模态无关」(Modality-Agnostic):同一个 Transformer 架构可以处理任意模态的输入,模态之间的差异仅体现在输入嵌入层(embedding layer)。这种设计借鉴了 OFA 团队在统一序列建模方面的深厚积累,并融合了 CLIP 等视觉-语言预训练方法的成功经验。
从代码结构来看,ONE-PEACE 包含三个主要模块:
one_peace/ — 核心模型与训练代码
trainer.py(55KB):自定义训练器,封装了分布式训练、梯度累积、混合精度等高级训练策略train.py(18KB):预训练主入口,支持 vision-language、audio-language、audio+vision+text 的跨模态对比学习evaluate.py(7KB):评测脚本,覆盖检索、分类、VQA 等下游任务models/:模型定义,包含完整的 Transformer 架构tasks/:任务定义,每个下游任务对应一个 Task 类criterions/:损失函数,包含对比损失(Contrastive Loss)等核心预训练目标run_scripts/:各任务的训练脚本one_peace_vision/ — 独立视觉分支 团队发现 ONE-PEACE 的视觉编码器(Vision Branch)可以独立提取图像特征,用于纯视觉任务而无需加载完整多模态模型。这使得资源受限场景下的图像分类、目标检测、语义分割成为可能。该模块包含:
classification/:ImageNet 图像分类(384/512 分辨率)det/:COCO 目标检测与实例分割seg/:ADE20K 语义分割video/:K400 动作识别fairseq/ — 底层训练框架 ONE-PEACE 基于 Facebook Research 的 fairseq 框架构建,这是一个专为序列到序列模型设计的高性能训练库。fairseq 提供了分布式数据并行(DDP)、混合精度训练(AMP)、梯度累积等开箱即用的能力,大幅降低了大规模预训练工程的复杂度。
ONE-PEACE 的训练策略包含三大核心预训练任务,不同任务模块的组合可以支撑丰富的下游应用:
视觉任务(独立视觉分支):ImageNet 图像分类、COCO 目标检测与实例分割、ADE20K 语义分割、Kinetics-400 视频动作识别。预训练权重支持 384×384 和 512×512 两种分辨率,用户可根据算力灵活选择。
音频任务:FSD50K 音频分类、VggSound 视频声音分类、AudioCaps 音频字幕生成,以及语音-文本检索(Audio-Language Retrieval)。这类任务展示了 ONE-PEACE 在语音模态上的强大泛化能力。
视觉-语言跨模态任务:COCO/Flickr30K 图像-文本检索(Image-Text Retrieval)、RefCOCO 系列视觉定位(Visual Grounding)、NLVR2 视觉推理、VQA 视觉问答。特别值得注意的是其零样本跨模态检索能力——即使某些模态配对在预训练中从未见过,ONE-PEACE 也能实现有效的跨模态对齐。
项目提供了完整的微调脚本和预训练权重下载地址,支持研究者和开发者快速复现论文结果或在自己数据上微调。
模态无关架构:与此前需要在视觉编码器和语言编码器之间设计复杂对齐机制的多模态方法不同,ONE-PEACE 使用同一套参数处理不同模态,大幅简化了模型设计。
无需现成预训练模型初始化:大多数多模态方法依赖 CLIP 或 BERT 作为初始化,而 ONE-PEACE 完全从随机初始化开始训练,反而在某些任务上取得了更好的泛化效果。这说明「从零开始」的多模态联合训练可能比「嫁接已有模型」更能学到真正的跨模态表示。
涌现的零样本能力:训练完成后,ONE-PEACE 展现出在没有配对数据的情况下跨模态对齐的能力——例如,音频可以对应到从未在音频-图像配对数据上训练过的图像,这暗示模型学到了比训练信号更为通用的语义结构。
丰富的预训练任务设计:项目使用了三种模态无关的预训练任务(对比学习、掩码建模等),使得模型在视觉、音频、语言三个方向上均能保持竞争力,而非偏向某一模态。
需要提前说明的是,ONE-PEACE 并非面向终端用户的开箱即用产品,而是一个面向研究社区的深度学习框架。其实验环境要求相对较高:
硬件要求:
依赖环境:
requirements.txt 中的 ./fairseq/ 安装)安装流程:
git clone https://github.com/OFA-Sys/ONE-PEACE.git
cd ONE-PEACE
pip install -r requirements.txt
cd fairseq && pip install --no-build-isolation --editable . && cd ..
目前项目没有提供 Docker 镜像或一键部署脚本,部署难度评为「复杂」,适合有一定深度学习训练经验的开发者使用。
首先,高昂的算力门槛限制了 ONE-PEACE 在学术界的普及——完整预训练需要 8×A100 级别的集群,这对于中小实验室来说是难以承受的。其次,由于项目主要面向研究用途,目前没有提供 Web UI 或 API 服务,生产环境集成需要开发者自行封装。此外,项目代码库基于 fairseq 构建,学习曲线较陡,对于不熟悉 fairseq 的开发者来说,理解训练流程需要一定时间。
在模型规模方面,ONE-PEACE 公开的最大版本参数量约为 4B,与 GPT-4 等大型多模态模型相比仍有一定差距,但其「模态无关」的架构设计理念在通用人工智能研究中具有重要的参考价值。
ONE-PEACE 属于多模态表示学习领域的一次重要探索,其「模态无关 Transformer」的架构范式启发了后续大量研究。相比于分别训练各模态模型再做后期融合的设计,从随机初始化开始的多模态联合训练展现了更强的跨模态对齐能力。
从技术趋势来看,「统一表示」正在成为多模态 AI 的主流方向。ONE-PEACE 的出现印证了一个重要假设:不同感知模态之间存在共享的语义结构,足够强大的联合训练可以让模型自主发现这种结构,而非依赖人工设计的对齐机制。
如果你正在进行多模态研究,或希望在图像、音频、文本的交叉领域探索新应用,ONE-PEACE 是一个值得深入研究的开源项目。其代码结构清晰、文档完整,且提供了丰富的预训练权重和微调脚本,可以显著降低多模态实验的门槛。
项目地址:https://github.com/OFA-Sys/ONE-PEACE
论文:ONE-PEACE: Exploring One General Representation Model Toward Unlimited Modalities(arXiv:2305.11172)
HuggingFace Demo:ONE-PEACE Multimodal Retrieval