更新时间:2024-11-21 GMT+08:00
分享

场景介绍

方案概览

本文档介绍了在ModelArts的Standard上使用昇腾计算资源开展常见开源大模型Llama、Qwen、ChatGLM、Yi、Baichuan等推理部署的详细过程,利用适配昇腾平台的大模型推理服务框架vLLM和华为自研昇腾Snt9B硬件,为用户提供推理部署方案,帮助用户使能大模型业务。

本方案目前仅适用于部分企业客户,完成本方案的部署,需要先联系您所在企业的华为方技术支持。

约束限制

  • 本方案目前仅适用于部分企业客户。
  • 本文档适配昇腾云ModelArts 6.3.910版本,请参考软件配套版本获取配套版本的软件包,请严格遵照版本配套关系使用本文档。
  • 推理部署使用的服务框架是vLLM。vLLM支持v0.6.0版本。
  • 仅支持FP16和BF16数据类型推理。
  • 本案例仅支持在专属资源池上运行。
  • 专属资源池驱动版本要求23.0.6。
  • 适配的CANN版本是cann_8.0.rc3。

支持的模型列表和权重文件

本方案支持vLLM的v0.6.0版本。不同vLLM版本支持的模型列表有差异,具体如表1所示。

表1 支持的模型列表和权重获取地址

序号

模型名称

是否支持fp16/bf16推理

是否支持W4A16量化

是否支持W8A8量化

是否支持W8A16量化

是否支持

kv-cache-int8量化

开源权重获取地址

1

llama-7b

https://huggingface.co/huggyllama/llama-7b

2

llama-13b

https://huggingface.co/huggyllama/llama-13b

3

llama-65b

https://huggingface.co/huggyllama/llama-65b

4

llama2-7b

https://huggingface.co/meta-llama/Llama-2-7b-chat-hf

5

llama2-13b

https://huggingface.co/meta-llama/Llama-2-13b-chat-hf

6

llama2-70b

https://huggingface.co/meta-llama/Llama-2-70b-hf

https://huggingface.co/meta-llama/Llama-2-70b-chat-hf (推荐)

7

llama3-8b

https://huggingface.co/meta-llama/Meta-Llama-3-8B-Instruct

8

llama3-70b

https://huggingface.co/meta-llama/Meta-Llama-3-70B-Instruct

9

yi-6b

https://huggingface.co/01-ai/Yi-6B-Chat

10

yi-9b

https://huggingface.co/01-ai/Yi-9B

11

yi-34b

https://huggingface.co/01-ai/Yi-34B-Chat

12

deepseek-llm-7b

x

x

x

x

https://huggingface.co/deepseek-ai/deepseek-llm-7b-chat

13

deepseek-coder-33b-instruct

x

x

x

x

https://huggingface.co/deepseek-ai/deepseek-coder-33b-instruct

14

deepseek-llm-67b

x

x

x

x

https://huggingface.co/deepseek-ai/deepseek-llm-67b-chat

15

qwen-7b

x

https://huggingface.co/Qwen/Qwen-7B-Chat

16

qwen-14b

x

https://huggingface.co/Qwen/Qwen-14B-Chat

17

qwen-72b

x

https://huggingface.co/Qwen/Qwen-72B-Chat

18

qwen1.5-0.5b

x

https://huggingface.co/Qwen/Qwen1.5-0.5B-Chat

19

qwen1.5-7b

x

https://huggingface.co/Qwen/Qwen1.5-7B-Chat

20

qwen1.5-1.8b

x

https://huggingface.co/Qwen/Qwen1.5-1.8B-Chat

21

qwen1.5-14b

x

https://huggingface.co/Qwen/Qwen1.5-14B-Chat

22

qwen1.5-32b

x

https://huggingface.co/Qwen/Qwen1.5-32B/tree/main

23

qwen1.5-72b

x

https://huggingface.co/Qwen/Qwen1.5-72B-Chat

24

qwen1.5-110b

x

https://huggingface.co/Qwen/Qwen1.5-110B-Chat

25

qwen2-0.5b

x

https://huggingface.co/Qwen/Qwen2-0.5B-Instruct

26

qwen2-1.5b

x

https://huggingface.co/Qwen/Qwen2-1.5B-Instruct

27

qwen2-7b

x

x

https://huggingface.co/Qwen/Qwen2-7B-Instruct

28

qwen2-72b

x

https://huggingface.co/Qwen/Qwen2-72B-Instruct

29

qwen2.5-0.5b

x

https://huggingface.co/Qwen/Qwen2.5-0.5B-Instruct

30

qwen2.5-1.5b

x

https://huggingface.co/Qwen/Qwen2.5-1.5B-Instruct

31

qwen2.5-3b

x

https://huggingface.co/Qwen/Qwen2.5-3B-Instruct

32

qwen2.5-7b

x

x

https://huggingface.co/Qwen/Qwen2.5-7B-Instruct

33

qwen2.5-14b

x

https://huggingface.co/Qwen/Qwen2.5-14B-Instruct

34

qwen2.5-32b

x

https://huggingface.co/Qwen/Qwen2.5-32B-Instruct

35

qwen2.5-72b

x

https://huggingface.co/Qwen/Qwen2.5-72B-Instruct

36

baichuan2-7b

x

x

x

https://huggingface.co/baichuan-inc/Baichuan2-7B-Chat

37

baichuan2-13b

x

x

x

https://huggingface.co/baichuan-inc/Baichuan2-13B-Chat

38

gemma-2b

x

x

x

x

https://huggingface.co/google/gemma-2b

39

gemma-7b

x

x

x

x

https://huggingface.co/google/gemma-7b

40

chatglm2-6b

x

x

x

x

https://huggingface.co/THUDM/chatglm2-6b

41

chatglm3-6b

x

x

x

x

https://huggingface.co/THUDM/chatglm3-6b

42

glm-4-9b

x

x

x

x

https://huggingface.co/THUDM/glm-4-9b-chat

43

mistral-7b

x

x

x

x

https://huggingface.co/mistralai/Mistral-7B-v0.1

44

mixtral-8x7b

x

x

x

x

https://huggingface.co/mistralai/Mixtral-8x7B-Instruct-v0.1

45

falcon-11b

x

x

x

x

https://huggingface.co/tiiuae/falcon-11B/tree/main

46

qwen2-57b-a14b

x

x

x

x

https://huggingface.co/Qwen/Qwen2-57B-A14B-Instruct

47

llama3.1-8b

x

https://huggingface.co/meta-llama/Meta-Llama-3.1-8B-Instruct

48

llama3.1-70b

x

https://huggingface.co/meta-llama/Meta-Llama-3.1-70B-Instruct

49

llama-3.1-405B

x

x

x

https://huggingface.co/hugging-quants/Meta-Llama-3.1-405B-Instruct-AWQ-INT4

50

llama-3.2-1B

x

x

x

x

Llama-3.2-1B-Instruct · 模型库 (modelscope.cn)

51

llama-3.2-3B

x

x

x

x

Llama-3.2-3B-Instruct · 模型库 (modelscope.cn)

52

llava-1.5-7b

x

x

x

x

https://huggingface.co/llava-hf/llava-1.5-7b-hf/tree/main

53

llava-1.5-13b

x

x

x

x

https://huggingface.co/llava-hf/llava-1.5-13b-hf/tree/main

54

llava-v1.6-7b

x

x

x

x

https://huggingface.co/llava-hf/llava-v1.6-vicuna-7b-hf/tree/main

55

llava-v1.6-13b

x

x

x

x

https://huggingface.co/llava-hf/llava-v1.6-vicuna-13b-hf/tree/main

56

llava-v1.6-34b

x

x

x

x

llava-hf/llava-v1.6-34b-hf at main (huggingface.co)

57

internvl2-8B

x

x

x

x

OpenGVLab/InternVL2-8B at main (huggingface.co)

58

internvl2-26B

x

x

x

x

OpenGVLab/InternVL2-26B at main (huggingface.co)

59

internvl2-40B

x

x

x

x

OpenGVLab/InternVL2-40B at main (huggingface.co)

60

MiniCPM-v2.6

x

x

x

x

https://huggingface.co/openbmb/MiniCPM-V-2_6/tree/main

61

deepseek-v2-236b

x

x

x

x

https://huggingface.co/deepseek-ai/DeepSeek-V2

62

deepseek-v2-lite-16b

x

x

x

https://huggingface.co/deepseek-ai/DeepSeek-V2-Lite

63

qwen2-vl-7B

x

x

x

x

Qwen/Qwen2-VL-7B-Instruct at main (huggingface.co)

注意:Qwen2-VL 开源vllm依赖特定transformers版本, 请手动安装:

pip install git+https://github.com/huggingface/transformers.git@21fac7abba2a37fae86106f87fcf9974fd1e3830

64

qwen-vl

x

x

x

x

https://huggingface.co/Qwen/Qwen-VL

65

qwen-vl-chat

x

x

x

x

https://huggingface.co/Qwen/Qwen-VL-Chat

66

MiniCPM-v2

x

x

x

x

https://huggingface.co/HwwwH/MiniCPM-V-2

注意:需要修改源文件site-packages/timm/layers/pos_embed.py,在第46行上面新增一行代码,如下:

posemb = posemb.contiguous() #新增

posemb = F.interpolate(posemb, size=new_size, mode=interpolation,

antialias=antialias)

操作流程

图1 操作流程图
表2 操作任务流程说明

阶段

任务

说明

准备工作

准备资源

本教程案例是基于ModelArts Standard运行,需要购买ModelArts专属资源池。

准备权重

准备对应模型的权重文件。

准备代码

准备AscendCloud-6.3.910-xxx.zip。

准备镜像

准备推理模型适用的容器镜像。

准备Notebook

本案例在Notebook上部署推理服务进行调试,因此需要创建Notebook。

部署推理服务

在Notebook调试环境中部署推理服务

介绍如何在Notebook中配置NPU环境,部署并启动推理服务,完成精度测试和性能测试。

如果需要部署量化模型,需在Notebook中进行模型权重转换后再部署推理服务。

在推理生产环境中部署推理服务

介绍如何在创建AI应用,部署并启动推理服务,在线预测在线服务。

相关文档