F
F-loyd/DeepSeek-VL2-Tiny
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

DeepSeek-VL2-Tiny

模型信息

  • 模型 ID:deepseek-ai/deepseek-vl2-tiny
  • 架构:DeepSeek-VL2(MoE 视觉语言模型)
  • 库:transformers
  • 任务:image-text-to-text
  • 许可证:other(DeepSeek 许可证)

DeepSeek-VL2-Tiny 是由深度求索(DeepSeek-AI)推出的轻量级视觉语言模型。它将 SigLIP 视觉编码器与 DeepSeek-V2 MoE 语言骨干网络相结合。tiny 变体包含 12 层、1280 隐藏维度、10 个注意力头以及 64 个路由专家(每个 token 激活 6 个专家),使其适合在单 NPU 昇腾设备上进行高效的多模态推理。

昇腾 NPU 适配

本仓库包含 deepseek-ai/deepseek-vl2-tiny 在 vLLM-Ascend 上的昇腾 NPU 适配结果。

适配补丁

完整的适配补丁以 deepseek-vl2-tiny-adapt.patch 形式提供。其中包括:

  1. 文档:新增 DeepSeek-VL2-Tiny.md,作为 vLLM-Ascend 的部署指南
  2. 模型索引:在支持的模型索引中注册该模型
  3. 端到端测试配置:新增 DeepseekVL2Tiny.yaml 端到端测试配置
  4. 缺陷修复:修复当 rope_dim=0 时 Triton RoPE 内核崩溃的问题(由 tiny 配置中的 qk_rope_head_dim=0 导致)

支持特性

特性状态
ACLGraph已验证
文本推理已验证
图文推理已验证
专家并行(EP)支持 MoE,EP 在 tiny 变体上未明确验证
多节点不适用(单 NPU 足够)

环境

  • 硬件:Atlas A2 系列(单 NPU 足够)
  • 框架:vLLM-Ascend
  • 数据类型:bfloat16

部署

export VLLM_USE_MODELSCOPE=True
export PYTORCH_NPU_ALLOC_CONF=max_split_size_mb:256

vllm serve deepseek-ai/deepseek-vl2-tiny \
  --dtype bfloat16 \
  --trust-remote-code \
  --max-model-len 4096 \
  --gpu-memory-utilization 0.7 \
  --port 8000

已知问题与修复

  • Triton RoPE 在 rope_dim=0 时崩溃:deepseek-vl2-tiny 配置将 qk_rope_head_dim 设置为 0,这导致 vllm-ascend Triton RoPE 内核崩溃,因为 tl.arange(0, 0) 是无效的。通过在 vllm_ascend/ops/triton/rope.py 中添加提前返回保护(if rope_dim <= 0: return ...)已修复此问题。

离线推理

from vllm import LLM, SamplingParams

MODEL_PATH = "deepseek-ai/deepseek-vl2-tiny"

llm = LLM(
    model=MODEL_PATH,
    trust_remote_code=True,
    max_model_len=4096,
    limit_mm_per_prompt={"image": 1},
)

sampling_params = SamplingParams(max_tokens=32, temperature=0)

messages = [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": [
        {"type": "image_url", "image_url": {"url": "https://modelscope.oss-cn-beijing.aliyuncs.com/resource/qwen.png"}},
        {"type": "text", "text": "What is in the image?"}
    ]}
]

outputs = llm.chat(messages, sampling_params=sampling_params)
print(outputs[0].outputs[0].text)

引用

@article{deepseekvl2,
  title={DeepSeek-VL2: Mixture-of-Experts Vision-Language Models for Advanced Multimodal Understanding},
  author={DeepSeek-AI},
  journal={arXiv preprint arXiv:2412.10302},
  year={2024}
}