一、模型概述
Kimi-VL 是一个高效的开源多模态模型,基于 Mixture-of-Experts (MoE) 架构,专注于视觉和语言任务。它在激活仅 2.8B 参数的语言解码器(Kimi-VL-A3B)的情况下,展现了强大的多模态推理能力、长文本处理能力和智能代理能力。
主要特点
-
多模态推理:在多轮对话和复杂视觉语言任务中表现出色。
-
长文本处理:支持 128K 的扩展上下文窗口,能处理长视频和长文档。
-
高效性:在保持高性能的同时,计算成本较低。
二、技术架构
Kimi-VL 的核心架构包括以下几个部分:
1. 语言模型
-
采用 Mixture-of-Experts (MoE) 架构,激活参数为 2.8B。
-
支持长文本处理,上下文窗口扩展至 128K。
2. 视觉编码器
-
使用原生分辨率视觉编码器 MoonViT,能够处理超高分辨率的视觉输入。
-
在 InfoVQA 和 ScreenSpot-Pro 等视觉任务中表现优异。
3. 多模态投影器
- 通过 MLP 投影器将视觉和语言特征融合,实现多模态交互。
三、性能表现
Kimi-VL 在多个基准测试中展现了卓越的性能,以下是一些关键指标:
1. 多模态任务
-
MMBench-EN-v1.1 (Acc):83.1%
-
MMStar (Acc):61.3%
-
MMVet (Pass@1):66.7%
2. 数学推理
-
MathVista (Pass@1):68.7%
-
MathVision (Pass@1):21.4%
3. OCR 任务
-
InfoVQA (Acc):83.2%
-
OCRBench (Acc):867
4. 长文档和长视频
-
MMLongBench-Doc (Acc):35.1%
-
LongVideoBench (val):64.5%
5. 与其他模型的比较
Kimi-VL 在多个任务中与 GPT-4o-mini、Qwen2.5-VL-7B 等模型竞争,并在某些领域超越了 GPT-4o。
四、使用方法
Kimi-VL 提供了两种主要的推理方式:
1. Hugging Face Transformers
from PIL import Image
from transformers import AutoModelForCausalLM, AutoProcessor
model_path = "moonshotai/Kimi-VL-A3B-Instruct"
model = AutoModelForCausal.fromLM_pretrained(
model_path,
torch_dtype="auto",
device_map="auto",
trust_remote_code=True,
)
processor = AutoProcessor.from_pretrained(model_path, trust_remote_code=True)
image_path = "./figures/demo.png"
image = Image.open(image_path)
messages = [
{"role": "user", "content": [{"type": "image", "image": image_path}, {"type": "text", "text": "What is the do "}]}
]
text = processor.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt")
inputs = processor(images=image, text=text, return_tensors="pt", padding=True, truncation=True).to(model.device)
generated_ids = model.generate(**inputs, max_new_tokens=512)
generated_ids_trimmed = [out_ids[len(in_ids):] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)]
response = processor.batch_decode(
generated_ids_trimmed,
skip_special_tokens=True,
clean_up_tokenization_spaces=False
)[0]
print(response)
2. VLLM
Kimi-VL 也支持通过 VLLM 进行高效推理,具体实现方式可参考项目提交的 Merge Request。
五、总结
Kimi-VL 是一个高效且功能强大的多模态模型,适用于多种任务场景,包括多轮对话、长文本处理、数学推理和 OCR 等。它在保持高性能的同时,计算成本较低,是多模态领域的优秀选择。