README.md 3.91 KB
Newer Older
wanglch's avatar
wanglch committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# DeepSeek-VL2

## 论文

`DeepSeek-VL2: Mixture-of-Experts Vision-Language Models for Advanced Multimodal Understanding`

* https://arxiv.org/abs/2412.10302


## 模型结构

DeepSeek-VL2 由三个核心模块组成:视觉编码器、视觉语言适配器和混合专家 (MoE) 语言模型。DeepSeek-VL2 在其前身 DeepSeek-VL 的仅解码器 LLaVA 风格架构的基础上引入了两项重大改进:动态拼接策略和具有多头潜在注意力 的 DeepSeekMOE 语言模型。 这些创新使得能够更有效地处理高分辨率视觉输入和文本数据。

![alt text](images/arch.png)

## 算法原理

DeepSeek-VL2 的语言模型基于 DeepSeekMoE,它结合了多头潜在注意力机制。 MLA 通过将键值缓存压缩为潜在向量来提高推理效率,从而实现更高的吞吐量能力。 该模型还结合了 MoE 架构,允许通过稀疏计算进行高效推理。 在 MoE 训练期间,DeepSeek-VL2 为每个专家引入一个全局偏差项,以经济高效地改善专家之间的负载平衡。在视觉语言对齐阶段,主要目标是建立视觉特征和语言特征之间的稳固连接。这种对齐使预训练的语言模型能够有效地处理视觉输入。与之前保持固定预训练视觉编码器和语言模型的方法不同,DeepSeek-VL2 调整了固定分辨率的视觉编码器以适应动态高分辨率图像。在此阶段,DeepSeek-VL2 优化了视觉编码器和视觉语言适配器,同时保持语言模型冻结。

![alt text](images/theory.png)


## 环境配置

### Docker(方法一)
    
    docker pull image.sourcefind.cn:5000/dcu/admin/base/pytorch:2.3.0-py3.10-dtk24.04.3-ubuntu20.04

    docker run --shm-size 500g --network=host --name=dpvl2 --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v 项目地址(绝对路径):/home/ -v /opt/hyhal:/opt/hyhal:ro -it <your IMAGE ID> bash
    

    # 部署模型环境
    
    cd ./project_path

    pip install -e .
dcuai's avatar
dcuai committed
37
    pip install -r requirements.txt
wanglch's avatar
wanglch committed
38
39
40
41
42
43
44
45
46
47
48


### Dockerfile(方法二)

    docker build -t <IMAGE_NAME>:<TAG> .

    docker run --shm-size 500g --network=host --name=dpvl2 --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v 项目地址(绝对路径):/home/ -v /opt/hyhal:/opt/hyhal:ro -it <your IMAGE ID> bash

    cd ./project_path
    
    pip install -e .
dcuai's avatar
dcuai committed
49
    pip install -r requirements.txt
wanglch's avatar
wanglch committed
50

wanglch's avatar
wanglch committed
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
### Anaconda(方法三)

关于本项目DCU显卡所需的特殊深度学习库可从[光合](https://developer.hpccube.com/tool/)开发者社区下载安装。
```
DTK驱动:dtk24.04.3
python:python3.10
torch:2.3.0
torchvision: 0.18.0
deepspped: 0.14.2
```
`Tips:以上dtk驱动、python、paddle等DCU相关工具版本需要严格一一对应`

关于本项目DCU显卡所需的特殊深度学习库可从[光合](https://developer.hpccube.com/tool/)开发者社区下载安装。
```
    conda create -n deepseek-vl2 python=3.10
    conda activate deepseek-vl2

    cd ./project_path
    
    pip install -e .
    pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple
```

wanglch's avatar
wanglch committed
74
75
76
77
78
79
80
81
82
83
84
85

## 数据集



## 训练



## 推理

```
dcuai's avatar
dcuai committed
86
HIP_VISIBLE_DEVICES=0 python inference.py --model_path "DeepSeek-VL2/deepseek-vl2-tiny/"
wanglch's avatar
wanglch committed
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
```

## result

![alt text](images/result.png)

### 精度



## 应用场景

### 算法类别

`图像理解`

### 热点应用行业

`电商,教育,广媒,交通,政府`

## 预训练权重

[SCNet高速下载通道]
* [Deepseek Vl2](http://113.200.138.88:18080/aimodels/deepseek-ai/deepseek-vl2)
* [Deepseek Vl2 Small](http://113.200.138.88:18080/aimodels/deepseek-ai/deepseek-vl2-small)
* [Deepseek Vl2 Tiny](http://113.200.138.88:18080/aimodels/deepseek-ai/deepseek-vl2-tiny)


## 源码仓库及问题反馈

dcuai's avatar
dcuai committed
117
* https://developer.sourcefind.cn/codes/modelzoo/Deepseek-vl2_pytorch
wanglch's avatar
wanglch committed
118
119
120
121

## 参考资料

* https://github.com/deepseek-ai/DeepSeek-VL2