WeMM

July 4, 2024 · View on GitHub

[📖English Version] [🤗 HuggingFace]

Wemm 是 WeChatCV 推出的最新一代多模态大语言模型。WeMM 具备动态高分辨率图片下的中英双语对话能力,在多模态大语言模型的榜单中是百亿参数级别最强模型,整体测评结果(Avg Rank)位居第一梯队 (vlm_leaderboard)。

最新消息 🚀🚀🚀

  • 2024/06/27: 🚀🚀🚀🔥🔥🔥发布 WeMM-Chat-2K-CN 模型,支持2K分辨率的图像输入。
  • 2024/06/21: 🚀🚀🚀发布 WeMM-Chat-CN 模型,加强了模型的中英文双语对话能力。
  • 2024/06/09: 🚀🚀🔥发布 WeMM-1.2(VL) 模型及测试代码,在多模态大语言模型全部基准测试中的百亿参数模型里排名第一。
  • 2023/11/20: 已发布推理和mme评估代码。模型已发布。
  • 2023/11/13: 🚀WeMM-1.0 在MME 全套基准测试中得分2066.66分,当时位居第一。其中感知得分为1621.66,排名第一。认知得分为445,排名第三。
  • 2023/10/13: WeMM-1.0 在MME 基准测试中获得了1551.63的感知得分,当时这是最优越的表现。
  • 2023/09/13: WeMM-1.0 在 MMBench 得分68.6分,当时排名第二。

模型仓库

视觉大语言模型

模型日期下载摘要
WeMM-Chat-2K-CN 2024.06.27🤗 HF link🚀🚀支持2K分辨率的图片输入
WeMM-Chat-CN 2024.06.21🤗 HF link🚀🚀加强了中英双语对话能力
WeMM-1.2(VL)2024.06.09🤗 HF link🚀🚀在多模态大语言模型全部基准测试中的百亿参数模型里排名第一

多模态能力

WeMM 是一个多模态语言模型,具备中英文双语对话能力,其相关经典任务的评测结果如下:

MethodParam(B)Avg ScoreAvg RankMMBench_V11MMStarMMMU_VALMathVistaOCRBenchAI2DHallusionBenchMMVetMMESEEDBench_IMGPOPERealWorldQAScienceQA_TESTCCBenchLLaVABench
GPT-4o,20240513,high82.861.662.856.566382.251.766.52328.776.468.670.697.2
GPT-4v, 20240409,high79.85661.754.765678.643.967.52070.2736857.399.8
WeMM765.113.7375.75745.354.962877.947.5452150.175.986.768.183.34870.9
MiniCPM_Llama3-v2.5865.814.27251.845.854.372578.442.452.82024.672.386.763.589.245.986.7
InternLM-XComposer2-VL76515.3377.656.241.459.553281.24146.72220.474.98363.896.748.272.6
Qwen-VL-Max65.316.7374.649.55243.468475.741.261.82281.772.771.961.38063.582.3
Mini-InternVL-Chat-4B-V1.546418.5369.753.145.154.6639774343.62079.272.281.460.892.659.468.6
IDEFICS2-8B858.92768.949.545.252.262672.339.1341847.671.986.260.788.737.649.1
Qwen-VL-Plus59.728.8766.239.739.837.672665.740.655.72229.865.785.444.673.455.173.7
Phi-3-Vision4.258.329.2765.247.746.144.663778.43944.1150870.983.758.89024.163.9
Mini-InternVL-Chat-2B-V1.5258.929.7365.246.737.441.365269.737.335.51906.169.585.457.984.862.957.3

WeMM在全部的BenchMark测评中,由于不同BenchMark的分数分布差异较大,我们使用综合平均排名(Avg Rank)作为主性能参考指标。在百亿参数级别的模型中WeMM位列第一,在全部的MLLM中也位于第一梯队。

模型参数量小于20B所有的视觉大语言模型

环境要求

  • transformers<=4.40.0 (and >=4.38.0)
  • python >= 3.8
  • torch >= 2.0.0
  • flash-attn
  • numpy==1.23.5
  • sentencepiece==0.1.99
  • ninja==1.11.1
  • wheel
  • cos-python-sdk-v5
  • peft
  • einops

详细要求查看 requirements.txt

运行模型

欢迎前往我们的github查看更多执行代码。

  • 运行WeMM-1.2(VL)
import torch
from PIL import Image
from transformers import AutoModel, GenerationConfig

model_path = 'feipengma/WeMM' # the path to the model 
wemm = AutoModel.from_pretrained(model_path, torch_dtype=torch.bfloat16, trust_remote_code=True)
wemm.cuda()
wemm.eval()

query = '描述这张图片'
image = 'path/to/your/image'
pred = wemm.mm_generate(image, query)
  • 运行WeMM-Chat-CN
import torch
from PIL import Image
from transformers import AutoModel, GenerationConfig

model_path = 'feipengma/WeMM-Chat-CN'
wemm = AutoModel.from_pretrained(model_path, torch_dtype=torch.bfloat16, trust_remote_code=True)
wemm.cuda()
wemm.eval()

query = '为什么海水是蓝色的?'
image = 'path/to/your/image'
pred = wemm.mm_generate(image, query)
  • 运行WeMM-Chat-2K-CN
import torch
from PIL import Image
from transformers import AutoModel, GenerationConfig

model_path = 'feipengma/WeMM-Chat-2k-CN'
wemm = AutoModel.from_pretrained(model_path, torch_dtype=torch.bfloat16, trust_remote_code=True)
wemm.cuda()
wemm.eval()

query = '为什么海水是蓝色的?'
image = 'path/to/your/image'
pred = wemm.mm_generate(image, query)

示例

See the English example in [📖English Version]

  • 示例1
输入图片对话实例
  • 示例2
输入图片对话实例
  • 示例3
输入图片对话实例
  • 示例4
输入图片对话实例

致谢

在WeMM的研究中,我们参考并使用了Idefics2中融入了navit980结构的base vision backbone代码,以及Internlm2的LLM框架。非常感谢Idefics2和InternLM2的杰出工作。

License

本项目基于 MIT license 开发. 部分代码和模型源于其它项目并遵守他们的应用准则。

主要参与单位

  • 腾讯WechatCV Team
  • 浙江大学