结合大语言模型的Meta-Transformer ✨✨✨
我们很高兴呈现OneLLM,它将Meta-Transformer框架与多模态大语言模型相结合,实现了多模态联合训练🚀,支持更多模态包括fMRI、深度图和法线图🚀,并在25个基准测试中展示了非常令人印象深刻的性能🚀🚀🚀。
🔥🔥 代码、预训练模型和数据集可在OneLLM公开获取。
🔥🔥 项目网站在OneLLM。
🌟 单一基础模型支持广泛应用
作为基础模型,Meta-Transformer可以处理来自12种模态的数据,这决定了它可以支持广泛的应用。如图所示,Meta-Transformer可为下游任务提供服务,包括股票分析📈、天气预报☀️ ☔ ☁️ ❄️ ⛄ ⚡、遥感📡、自动驾驶🚗、社交网络🌍、语音识别🔉等。
表1:Meta-Transformer能够处理多达12种模态,包括自然语言、RGB图像、点云、音频、视频、表格数据、图、时间序列数据、高光谱图像、IMU、医学图像和红外图像。
🚩🚩🚩 共享编码器、非配对数据、更多模态
本仓库旨在探索Transformer在多模态学习中的潜力和可扩展性。我们利用Transformer处理可变长度序列的优势,提出了遵循元方案的"数据到序列"标记化,然后将其应用于12种模态,包括文本、图像、点云、音频、视频、红外、高光谱、X射线、表格、图、时间序列和惯性测量单元(IMU)数据。
获得标记序列后,我们采用模态共享编码器来提取不同模态的表示。通过特定任务的头部,Meta-Transformer可以处理不同模态的各种任务,如分类、检测和分割。
# 🌟 新闻
- 2023.8.17: 发布直接从多模态获取嵌入的代码。我们将进一步发布利用Meta-Transformer进行以人为中心的视觉任务的代码。
- 2023.8.2: 🎉🎉🎉 已发布用于图像、点云、图形、表格、时间序列、X射线、高光谱、LiDAR数据的Meta-Transformer实现。我们还发布了一个非常强大的自动驾驶基础模型 🚀🚀🚀。
- 2023.7.22: 已发布我们Meta-Transformer的预训练权重和使用演示。全面的文档和图像模态的实现正在进行中,将很快发布。敬请期待更多精彩更新!⌛⌛⌛
- 2023.7.21: 论文发布在arxiv,代码将逐步发布。
- 2023.7.8: Github仓库初始化。
🔓 模型库
- 预训练编码器使用演示
import torch
import torch.nn as nn
from timm.models.vision_transformer import Block
from Data2Seq import Data2Seq
video_tokenier = Data2Seq(modality='video',dim=768)
audio_tokenier = Data2Seq(modality='audio',dim=768)
time_series_tokenier = Data2Seq(modality='time-series',dim=768)
features = torch.concat([video_tokenizer(video), audio_tokenizer(audio), time_series_tokenizer(time_data)],dim=1)
# 对于基础规模编码器:
ckpt = torch.load("Meta-Transformer_base_patch16_encoder.pth")
encoder = nn.Sequential(*[
Block(
dim=768,
num_heads=12,
mlp_ratio=4.,
qkv_bias=True,
norm_layer=nn.LayerNorm,
act_layer=nn.GELU
)
for i in range(12)])
encoder.load_state_dict(ckpt,strict=True)
# 对于大规模编码器:
ckpt = torch.load("Meta-Transformer_large_patch14_encoder.pth")
encoder = nn.Sequential(*[
Block(
dim=1024,
num_heads=16,
mlp_ratio=4.,
qkv_bias=True,
norm_layer=nn.LayerNorm,
act_layer=nn.GELU
)
for i in range(24)])
encoder.load_state_dict(ckpt,strict=True)
encoded_features = encoder(features)
🕙 待办事项
- [ x ] 带有大型语言模型的Meta-Transformer。
- [ x ] 使用Meta-Transformer进行多模态联合训练。
- [ x ] 支持更多模态和更多任务。
联系方式
🚀🚀🚀 我们希望将这个仓库打造成一个强大的基础,用于各种模态的主流AI感知任务。您的贡献可以在这个努力中发挥重要作用,我们热烈欢迎您参与我们的项目!
如需联系我们,请随时发送电子邮件至yiyuanzhang.ai@gmail.com
、kaixionggong@gmail.com
、zhangkaipeng@pjlab.org.cn
或xyyue@ie.cuhk.edu.hk
!
引用
如果代码和论文对您的研究有帮助,请引用:
@article{zhang2023meta,
title={Meta-transformer: A unified framework for multimodal learning},
author={Zhang, Yiyuan and Gong, Kaixiong and Zhang, Kaipeng and Li, Hongsheng and Qiao, Yu and Ouyang, Wanli and Yue, Xiangyu},
journal={arXiv preprint arXiv:2307.10802},
year={2023}
}
许可证
本项目基于Apache 2.0许可证发布。
致谢
本代码基于优秀的开源项目开发,包括MMClassification、MMDetection、MMsegmentation、OpenPoints、Time-Series-Library、Graphomer、SpectralFormer和ViT-Adapter。