mirror of
https://github.com/kvcache-ai/ktransformers.git
synced 2026-04-30 11:11:19 +00:00
Update DeepseekR1_tutorial_zh_for_Ascend_NPU.md
This commit is contained in:
@@ -1,10 +1,24 @@
|
||||
# 基准测试结果
|
||||
|
||||
| Prompt length | 1K | 2K | 4K |
|
||||
| --------------------------------- | ------ | ------ | ------ |
|
||||
| KTrans Prefill token/s | 174.68 | 185.66 | 158.92 |
|
||||
| KTrans Decode token/s | 16.07 | 15.7 | 15.96 |
|
||||
|
||||
## 先决条件
|
||||
我们在以下配置下进行了最佳性能测试: <br>
|
||||
服务器型号:Atlas 2UP <br>
|
||||
NPU:300I A2 <br>
|
||||
CPU: HUAWEI Kunpeng 920 7270Z <br>
|
||||
内存: DDR5服务器内存(1TB)
|
||||
|
||||
# 部署
|
||||
|
||||
## 物理机安装
|
||||
|
||||
部署满血版DeepseekV3,需要机器物理内存能够存放下全部路由专家的权重,约400GB。
|
||||
|
||||
目前支持的NPU型号:**800I A2**。
|
||||
目前支持的NPU型号:**300I A2**。
|
||||
|
||||
在技术人员的支持下完成硬件安装。
|
||||
|
||||
@@ -60,6 +74,9 @@ pip3 install transformers==4.57.1 #此处注意运行时transformers版本要求
|
||||
source /usr/local/Ascend/ascend-toolkit/set_env.sh # 以实际CANN安装路径为准
|
||||
source /usr/local/Ascend/nnal/atb/set_env.sh # 以实际NNAL安装路径为准
|
||||
```
|
||||
由于环境对于torch_npu版本号有特定要求,使用编译后的torch_npu包需要手动移除版本信息中的哈希后缀,操作如下:
|
||||
使用文本编辑器打开/usr/local/lib/python3.11/site-packages/torch_npu/version.py(不同环境python路径可能不同,可以使用pip show torch_npu查看安装的python路径)
|
||||
将__version__ = '2.5.1.post4+git69550dfc'改为__version__ = '2.5.1.post4'
|
||||
|
||||
|
||||
## 权重准备
|
||||
@@ -95,7 +112,7 @@ export TASK_QUEUE_ENABLE=0 # 保证算子下发顺序有序
|
||||
cd ktransformers
|
||||
git submodule update --init --recursive
|
||||
```
|
||||
- 对于arm平台,注释掉`./requirements-local_chat.txt`中的`cpufeature`。
|
||||
- 对于arm平台,注释掉`./third_party/llamafile/iqk_mul_mat_arm82.cpp`中的`#define iqk_mul_mat iqk_mul_mat_arm82 #define iqk_mul_mat_moe iqk_mul_mat_moe_arm82`这两行
|
||||
|
||||
- 执行`source /usr/local/Ascend/ascend-toolkit/set_env.sh`(以实际CANN-TOOLKIT安装路径为准)。
|
||||
- 执行`apt install cmake libhwloc-dev pkg-config`安装依赖。
|
||||
@@ -109,6 +126,8 @@ export TASK_QUEUE_ENABLE=0 # 保证算子下发顺序有序
|
||||
export USE_MERGE=0
|
||||
export INF_NAN_MODE_FORCE_DISABLE=1
|
||||
export TASK_QUEUE_ENABLE=0
|
||||
export RANK=0
|
||||
export LOCAL_WORLD_SIZE=1
|
||||
#export PROF_DECODE=1
|
||||
#export PROF_PREFILL=1
|
||||
|
||||
@@ -117,13 +136,13 @@ source /usr/local/Ascend/nnal/atb/set_env.sh
|
||||
|
||||
python ktransformers/server/main.py \
|
||||
--port 10002 \
|
||||
|
||||
--model_path /mnt/data/models/DeepSeek-R1-q4km-w8a8 \
|
||||
--gguf_path /mnt/data/models/DeepSeek-R1-q4km-w8a8 \
|
||||
--model_path <your model path> \
|
||||
--gguf_path <your model path> \
|
||||
--model_name DeepSeekV3ForCausalLM \
|
||||
--cpu_infer 60 \
|
||||
--cpu_infer 100 \
|
||||
--optimize_config_path ./ktransformers/optimize/optimize_rules/DeepSeek-V3-Chat-300IA2-npu-serve.yaml \
|
||||
--max_new_tokens 128 \
|
||||
--max_new_tokens 1024 \
|
||||
--cache_lens 20480 \
|
||||
--max_batch_size 4 \
|
||||
--use_cuda_graph \
|
||||
--tp 1 \
|
||||
@@ -136,6 +155,7 @@ python ktransformers/server/main.py \
|
||||
- `--gguf_path`:kTransformers原生参数,str,此处用来指定合并后的模型文件路径
|
||||
- `--cpu_infer`:kTransformers原生参数,int,用来控制CPU侧实际worker线程数,非必选
|
||||
- `--optimize_config_path`:kTransformers原生参数,str,用来指定所用的模型优化配置文件,需要注意相对路径的使用,此处为**必选**
|
||||
- `--cache_lens 20480` 调度器申请 kvcache 的总长度。所有请求共享 20480 个 tokens 对应 kvcache 空间,请求完成后会释放其所占用的 kvcache 空间,非必选
|
||||
- `--use_cuda_graph`:kTransformers原生参数,bool,为True表示开启图下沉,为False表示关闭图下沉,非必选
|
||||
- `--max_new_tokens`:kTransformers原生参数,int,当统计到输出的tokens数量达到该值时,会直接中止输出,非必选
|
||||
- `--tp`:新增参数,int,用于开启tensor model parallel功能,目前local_chat只支持tp大小与ws大小相同(不支持local_chat使用多dp),非必选
|
||||
|
||||
Reference in New Issue
Block a user