Kimi-VL 开源


MLNLP社区是国内外知名的机器学习与自然语言处理社区,受众覆盖国内外NLP硕博生、高校老师以及企业研究人员。
社区的愿景是促进国内外自然语言处理,机器学习学术界、产业界和广大爱好者之间的交流和进步,特别是初学者同学们的进步。
来源 | NLP工作站
作者 | 刘聪NLP
今天发现Kimi开源了两个MoE视觉理解大模型-Kimi-VL-A3B-Instruct和Kimi-VL-A3B-Thinking,总参数16.4B,激活参数仅为2.8B,上下文长度128K。

Github: https://github.com/MoonshotAI/Kimi-VL

Paper: https://github.com/MoonshotAI/Kimi-VL/blob/main/Kimi-VL.pdf

在榜单上,大多数超过Qwen2.5-7B模型,如下表所示。

模型架构是由 MoE语言模型、原生分辨率视觉编码器(MoonViT)和 MLP 映射层 组成,如下图所示。

Pre-Train阶段涉及4个阶段,总计4.4T Tokens。

  • 独立ViT训练:训练MoonViT,使其成为一个健壮的原生分辨率视觉编码器。
  • 联合预训练:同时使用纯文本数据和多种多模态数据训练整体模型。
  • 联合冷却阶段:使用高质量的语言和多模态数据集进行模型训练,并且加入合成数据,提升模型在数学推理、知识类任务和代码生成方面的表现。
  • 联合长文本激活阶段:将模型的上下文长度从8192扩展到131072,以处理长文本和长视频。

Posting-Train阶段涉及3个阶段:

  • SFT阶段:利用多模态指令数据进行微调,先在32k序列长度下训练模型1个epoch,学习率从2e−5衰减到2e−6,然后在128k序列长度下再训练1个epoch。在第一阶段(32K),升温到1e−5最终衰减到1e−6。
  • CoT阶段:通过精心设计的提示工程构建了一个小而高质量的长CoT数据集,为了让模型学习基本的规划、评估、反思和探索的过程。
  • RL阶段:采用强化学习(RL)对模型进行训练,使其能够自主生成结构化的CoT推理路径。

最后快速使用

from PIL import Image
from transformers import AutoModelForCausalLM, AutoProcessor

model_path = "moonshotai/Kimi-VL-A3B-Instruct"
model = AutoModelForCausalLM.from_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 = "demo.png"
image = Image.open(image_path)
messages = [
    {"role""user""content": [{"type""image""image": image_path}, {"type""text""text""What is the dome building in the picture? Think step by step."}]}
]
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)

(文:机器学习算法与自然语言处理)

欢迎分享

发表评论