Ascend-SACT/Kimi-VL-A3B-Instruct
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

介绍

本文档介绍在A3平台上,基于vLLM推理引擎进行Kimi-VL-A3B-Instruct模型的推理指导。

一、Kimi-VL-A3B-Instruct模型介绍

Kimi-VL-A3B-Instruct 是由 月之暗面(Moonshot AI)于 2025 年 4 月开源的高效多模态视觉语言模型(VLM),属于 Kimi-VL 系列的指令调优版本,专为通用多模态感知和理解任务设计,兼顾性能与部署效率。


二、环境要求

硬件环境

型号卡数模型
910C1Kimi-VL-A3B-Instruct (单卡)
910C8Kimi-VL-A3B-Instruct (单节点8卡)

软件环境

软件名版本
CANN8.5.0
PythonPython 3.11.14
hdk25.5.0
torch2.8.0
torch-npu2.8.0.post2
vllmv0.13.0

三、目录结构

Kimi-VL-A3B-Instruct/
├── docker/                      # Docker 相关文件
│   ├── Dockerfile              # 自定义镜像(可选SSH支持)
│   └── entrypoint.sh           # 容器入口脚本
├── scripts/                    # 部署脚本
│   ├── deploy/                 # 一键部署脚本(推荐)
│   │   ├── deploy_single.sh
│   │   └── deploy_8npu.sh
│   ├── start/                  # 启动服务脚本
│   │   ├── start_single.sh
│   │   └── start_8npu.sh
│   └── tools/                  # 辅助工具脚本
│       ├── download_model.sh
│       ├── pull_image.sh
│       ├── test_service.sh
│       ├── eval_accuracy.sh
│       └── eval_performance.sh
├── test_assets/                # 测试资源
│   └── Kimi-logo-2025.png     # Kimi Logo测试图片
└── README.md

四、单卡部署

4.1 一键部署(推荐)

# 基础部署(不启用SSH,通过docker exec连接)
bash scripts/deploy/deploy_single.sh

# 启用SSH支持(用于Agent自动连接)
bash scripts/deploy/deploy_single.sh --with-ssh

# 启用SSH并指定密码
bash scripts/deploy/deploy_single.sh --with-ssh --ssh-password "your_password"

4.2 连接容器

# 方式1: docker exec(推荐)
docker exec -it kimi-vl-a3b-instruct bash

# 方式2: SSH(需启用--with-ssh选项)
ssh -p 2022 root@<宿主机IP>
# 默认密码: kimi@2025

4.3 下载模型(如未下载)

bash /mnt/scripts/Kimi-VL-A3B-Instruct/scripts/tools/download_model.sh

4.4 启动服务

bash /mnt/scripts/Kimi-VL-A3B-Instruct/scripts/start/start_single.sh

4.5 测试服务

bash /mnt/scripts/Kimi-VL-A3B-Instruct/scripts/tools/test_service.sh http://localhost:2036

五、单节点8卡部署

5.1 部署模式

支持两种并行模式:

模式参数说明
张量并行--tensor-parallel-size 8适合通用场景
专家并行--enable-expert-parallel适合MoE模型,优化专家计算

5.2 张量并行部署

配置说明

参数值说明
tensor-parallel-size8张量并行数
WORLD_SIZE8总卡数
LOCAL_WORLD_SIZE8本节点卡数

一键部署

# 基础部署(不启用SSH)
bash scripts/deploy/deploy_8npu.sh

# 启用SSH支持
bash scripts/deploy/deploy_8npu.sh --with-ssh

# 启用SSH并指定密码
bash scripts/deploy/deploy_8npu.sh --with-ssh --ssh-password "your_password"

启动服务

# 在容器内执行
bash /mnt/scripts/Kimi-VL-A3B-Instruct/scripts/start/start_8npu.sh

5.3 专家并行部署

Kimi-VL-A3B-Instruct 是 MoE 模型(64个路由专家 + 2个共享专家),支持专家并行以优化推理性能。

启动命令

source /usr/local/Ascend/cann-8.5.1/set_env.sh
export LD_LIBRARY_PATH=/usr/local/Ascend/nnal/atb/8.5.1/atb/cxx_abi_0/lib:$LD_LIBRARY_PATH
export PATH=/usr/local/python3.11.14/bin:$PATH

vllm serve /mnt/Kimi-VL-A3B-Instruct \
  --served-model-name Kimi-VL-A3B-Instruct \
  --host 0.0.0.0 \
  --port 2036 \
  --max-model-len 8192 \
  --max-num-batched-tokens 512 \
  --gpu-memory-utilization 0.7 \
  --no-enable-prefix-caching \
  --seed 1024 \
  --trust-remote-code \
  --dtype float16 \
  --tensor-parallel-size 8 \
  --enable-expert-parallel \
  --allowed-local-media-path /mnt

5.4 连接容器

# 方式1: docker exec(推荐)
docker exec -it kimi-vl-a3b-instruct-8npu bash

# 方式2: SSH(需启用--with-ssh选项)
ssh -p 2022 root@<宿主机IP>
# 默认密码: kimi@2025

5.5 测试服务

bash /mnt/scripts/Kimi-VL-A3B-Instruct/scripts/tools/test_service.sh http://localhost:2036

六、视觉功能测试

仓库已包含测试图片 test_assets/Kimi-logo-2025.png,可直接测试视觉功能:

# 在容器内执行
bash /mnt/scripts/Kimi-VL-A3B-Instruct/scripts/tools/test_service.sh http://localhost:2036

手动测试:

curl http://localhost:2036/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Kimi-VL-A3B-Instruct",
    "messages": [
      {
        "role": "user",
        "content": [
          {"type": "text", "text": "描述这张图片的内容"},
          {"type": "image_url", "image_url": {"url": "file:///mnt/scripts/Kimi-VL-A3B-Instruct/test_assets/Kimi-logo-2025.png"}}
        ]
      }
    ]
  }'

七、精度测试与性能测试

7.1 精度测试

bash /mnt/scripts/Kimi-VL-A3B-Instruct/scripts/tools/eval_accuracy.sh http://localhost:2036/v1/

7.2 性能测试

bash /mnt/scripts/Kimi-VL-A3B-Instruct/scripts/tools/eval_performance.sh http://localhost:2036/v1/chat/completions

八、常见问题

8.1 容器启动失败

检查设备映射是否正确,确保 /dev/davinci_manager 等设备存在

8.2 服务启动失败

  • 检查模型路径是否正确
  • 查看日志: tail -f /mnt/vllm-logs/kimi_vllm_*.log

8.3 专家并行启动失败

  • 确保设置了正确的环境变量:
    source /usr/local/Ascend/cann-8.5.1/set_env.sh
    export LD_LIBRARY_PATH=/usr/local/Ascend/nnal/atb/8.5.1/atb/cxx_abi_0/lib:$LD_LIBRARY_PATH

8.4 内存不足

调整 --gpu-memory-utilization 参数,降低显存利用率