【上篇】用于手机视觉、语音和多模态实时流媒体的 GPT-4o 级 MLLM

自去年6月圈内知名的llama3-V抄袭事件已经过去了很久,我也因为海内外AI澎湃的发展,而忙于学习提升自我,都没怎么关注面壁这家有趣的国产AI公司了,呵呵🤭

羞愧啊,羞愧啊

MiniCPM-o 2.6

MiniCPM-o 2.6 是 MiniCPM-o 系列中最新、功能最强大的型号。该模型以端到端方式构建,基于 SigLip-400M、Whisper-medium-300M、ChatTTS-200M 和 Qwen2.5-7B,共有 8B 参数。与 MiniCPM-V 2.6 相比,它的性能有了显著提高,并为实时语音对话和多模态实时流媒体引入了新功能。MiniCPM-o 2.6 的显著特点包括:

  • 🔥领先的可视化能力。 MiniCPM-o 2.6 在 OpenCompass 上获得了 70.2 的平均分,OpenCompass 是对 8 个常用基准的综合评估。 仅用 8B 参数,它就超越了广泛使用的专有模型,如 GPT-4o-202405、Gemini 1.5 Pro 和 Claude 3.5 Sonnet 对单一图像的理解。 在多图像和视频理解方面,它的表现也优于 GPT-4V 和 Claude 3.5 Sonnet,并显示出良好的上下文学习能力。
  • 🎙 最先进的语音功能。 MiniCPM-o 2.6 支持中英文双语实时语音对话。 它在 ASR 和 STT 翻译等音频理解任务上的表现优于 GPT-4o-re-time,并在开源社区的语义和声学评估中显示出最先进的语音对话性能。 此外,它还能实现情感/速度/风格控制、端到端语音克隆、角色扮演等有趣的功能。
  • 🎬 强大的多模态实时流功能。作为一项新功能,MiniCPM-o 2.6 可以接受独立于用户查询的连续视频和音频流,并支持实时语音交互。它的性能优于 GPT-4o-202408 和 Claude 3.5 Sonnet,并在开源社区的 StreamingBench(实时视频理解、全方位来源(视频和音频)理解以及多模态上下文理解的综合基准)上显示出一流的性能。
  • 💪 强大的 OCR 功能和其他功能。MiniCPM-o 2.6 继承了 MiniCPM-V 系列的常用视觉功能,可处理任何长宽比、最多 180 万像素(如 1344x1344)的图像。对于 25B 以下的型号,它在 OCRBench 上达到了最先进的性能,超过了 GPT-4o-202405 等专有型号。它基于最新的 RLAIF-V 和 VisCPM 技术,具有值得信赖的行为,在 MMHal-Bench 上的表现优于 GPT-4o 和 Claude 3.5 Sonnet,并支持 30 多种语言的多语言功能。
  • 🚀 卓越的效率。 除了大小适中,MiniCPM-o 2.6 还显示出最先进的标记密度(即编码到每个视觉标记中的像素数)。 在处理 1.8 百万像素图像时,它只产生 640 个标记,比大多数模型少 75%。 这直接提高了推理速度、首次标记延迟、内存使用和功耗。 因此,MiniCPM-o 2.6 可以在 iPad 等终端设备上高效支持多模态流媒体直播。
  • 💫 易于使用。 MiniCPM-o 2.6 可通过多种方式轻松使用:(1) 支持 llama.cpp,可在本地设备上进行高效 CPU 推理;(2) 支持 16 种大小的 int4GGUF 格式量化模型;(3) 支持 vLLM,可进行高吞吐量和内存效率推理;(4) 利用 LLaMA-Factory 在新领域和新任务上进行微调;(5) 利用 Gradio 快速设置本地 WebUI 演示;(6) 在服务器上进行在线 Web 演示。

模型结构

  • 端到端全模态架构。 不同模态的编码器/解码器以端到端方式连接和训练,以充分利用丰富的多模态知识。
  • 全模式实时流媒体机制。 (1) 我们将离线模式编码器/解码器改为在线模式,用于流媒体输入/输出。 (2) 我们为 LLM 主干网中的全模式流处理设计了一种时分复用(TDM)机制。 它将并行的全模式流划分为小周期时间片内的连续信息。
  • 可配置的语音建模设计。 我们设计了一种多模态系统提示,包括传统的文本系统提示和新的音频系统提示,以确定助理语音。 这样就能在推理时灵活配置语音,还能促进端到端的语音克隆和基于描述的语音创建。
    在这里插入图片描述

评估

在这里插入图片描述

视觉理解结果

图像理解:

ModelSizeToken Density+OpenCompassOCRBenchMathVista miniChartQAMMVetMMStarMMEMMB1.1 testAI2DMMMU valHallusionBenchTextVQA valDocVQA testMathVerse miniMathVisionMMHal Score
Proprietary
GPT-4o-20240513-108869.973661.385.769.163.92328.782.284.669.255.0-92.850.230.43.6
Claude3.5-Sonnet-75067.978861.690.866.062.21920.078.580.265.949.9-95.2--3.4
Gemini 1.5 Pro--64.475457.781.364.059.12110.673.979.160.645.673.586.5-19.2-
GPT-4o-mini-20240718-108864.178552.4-66.954.82003.476.077.860.046.1----3.3
Open Source
Cambrian-34B34B182058.359150.375.653.254.22049.977.879.550.441.676.775.5---
GLM-4V-9B13B78459.177651.1-58.054.82018.867.971.246.945.0-----
Pixtral-12B12B25661.068556.981.858.554.5-72.779.051.147.075.790.7---
DeepSeek-VL2-27B (4B)27B67266.480963.986.060.061.92253.081.283.854.045.384.293.3--3.0
Qwen2-VL-7B8B78467.186658.283.062.060.72326.081.883.054.150.684.394.531.916.33.2
LLaVA-OneVision-72B72B18268.174167.583.760.665.82261.085.085.656.849.080.591.339.1-3.5
InternVL2.5-8B8B70668.382264.484.862.862.82344.083.684.556.050.179.193.039.519.73.4
MiniCPM-V 2.68B282265.2852*60.679.460.057.52348.4*78.082.149.8*48.1*80.190.825.718.33.6
MiniCPM-o 2.68B282270.2897*71.9*86.9*67.564.02372.0*80.585.850.4*51.982.093.541.4*23.1*3.8
  • 我们使用思维链提示对该基准进行了评估。
  • 标记密度:最大分辨率下每个视觉标记编码的像素数,即:#最大分辨率下的像素数/#视觉标记数、

注意:对于专有模型,我们根据官方 API 文档中定义的图像编码计费策略计算令牌密度,该策略可提供上限估计值。

多图像和视频理解
ModelSizeBLINK valMantis EvalMIRBVideo-MME (wo / w subs)
Proprietary
GPT-4o-20240513-68.0--71.9/77.2
GPT4V-54.662.753.159.9/63.3
Open-source
LLaVA-NeXT-Interleave 14B14B52.666.430.2-
LLaVA-OneVision-72B72B55.477.6-66.2/69.5
MANTIS 8B8B49.159.534.8-
Qwen2-VL-7B8B53.269.6*67.6*63.3/69.0
InternVL2.5-8B8B54.867.752.564.2/66.9
MiniCPM-V 2.68B53.069.153.860.9/63.6
MiniCPM-o 2.68B56.771.958.663.9/67.9
  • 我们自行评估官方公布的checkpoints 。
### GPT-4 多模态模型的信息与使用 GPT-4多模态版本能够处理文本之外的数据形式,比如图像其他类型的输入。这种扩展使得机器学习模型不仅限于理解文字内容,还可以解释视觉数据并生成相应的描述或回应。 对于希望利用这一功能的应用开发者来说,可以通过API接口访问这些特性[^2]。具体而言,在构建应用程序时可以发送包含图片或其他多媒体文件作为请求的一部分给到服务端口;随后接收来自服务器返回的结果——这可能是一段基于所提交材料而产生的自然语言说明或者是其他形式的内容转换成果。 为了更好地理解实践如何操作这类先进的AI技术资源,下面给出一段Python代码示例来展示怎样调用带有图像输入的GPT-4 API: ```python import requests from PIL import Image import io def call_gpt4_api(image_path, api_key): url = 'https://api.openai.com/v1/images/generations' headers = { "Authorization": f"Bearer {api_key}", "Content-Type": "application/json" } with open(image_path, 'rb') as image_file: img_data = image_file.read() response = requests.post( url, headers=headers, files={'file': ('image.png', img_data)}, data={"prompt": ""} ) if response.status_code == 200: result_image_url = response.json()['data'][0]['url'] return result_image_url else: raise Exception(f"Error calling the API: {response.text}") # 使用函数的例子 try: output_url = call_gpt4_api('path_to_your_image.jpg', 'your_openai_api_key') print(f"The generated image can be found at this URL: {output_url}") except Exception as e: print(e) ``` 此脚本展示了向OpenAI的服务上传一张照片,并获取由其生成的新图像链接的过程。请注意替换`'path_to_your_image.jpg'` `'your_openai_api_key'`为实际路径有效的API密钥。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值