Commit 5c2f7531 authored by xiabo's avatar xiabo
Browse files

添加数据文件

parent e7845f38
...@@ -11,19 +11,19 @@ https://arxiv.org/pdf/2308.12966.pdf ...@@ -11,19 +11,19 @@ https://arxiv.org/pdf/2308.12966.pdf
本项目主要针对Qwen-Chat在DCU平台的推理性能优化,达到DCU平台较快的对话效果。 本项目主要针对Qwen-Chat在DCU平台的推理性能优化,达到DCU平台较快的对话效果。
![qwen](docs/dcu/transformer.jpg) ![qwen](docs/transformer.jpg)
## 算法原理 ## 算法原理
Qwen的构建采用了类似LLaMA的架构。与标准transformer的主要差异有:1)使用非连接嵌入、2)使用旋转位置嵌入、3)在注意力中除了QKV外不使用偏置、4)使用RMSNorm代替LayerNorm、5)使用SwiGLU代替ReLU、以及6)采用快速注意力来加速训练。该模型共有32层,嵌入维度为4096,注意力头数为32。 Qwen的构建采用了类似LLaMA的架构。与标准transformer的主要差异有:1)使用非连接嵌入、2)使用旋转位置嵌入、3)在注意力中除了QKV外不使用偏置、4)使用RMSNorm代替LayerNorm、5)使用SwiGLU代替ReLU、以及6)采用快速注意力来加速训练。该模型共有32层,嵌入维度为4096,注意力头数为32。
![qwen](docs/dcu/qwen.png) ![qwen](docs/qwen.png)
## 环境配置 ## 环境配置
提供光源拉取推理的docker镜像: 提供[光源](https://www.sourcefind.cn/#/service-details)拉取推理的docker镜像:
``` ```
docker pull image.sourcefind.cn:5000/dcu/admin/base/custom:lmdeploy0.0.13_dtk23.04_torch1.13_py38 docker pull docker pull image.sourcefind.cn:5000/dcu/admin/base/custom:lmdeploy0.0.13_dtk23.04_torch1.13_py38
# <Image ID>用上面拉取docker镜像的ID替换 # <Image ID>用上面拉取docker镜像的ID替换
# <Host Path>主机端路径 # <Host Path>主机端路径
# <Container Path>容器映射路径 # <Container Path>容器映射路径
...@@ -61,11 +61,13 @@ cd .. && python3 setup.py install ...@@ -61,11 +61,13 @@ cd .. && python3 setup.py install
# <model_name> 模型的名字 ('base', 'llama', 'internlm', 'vicuna', 'internlm-chat-7b', 'internlm-chat', 'internlm-chat-7b-8k', 'internlm-chat-20b', 'internlm-20b', 'baichuan-7b', 'baichuan2-7b', 'puyu', 'llama2', 'qwen-7b', 'qwen-14b', 'codellama', 'solar') # <model_name> 模型的名字 ('base', 'llama', 'internlm', 'vicuna', 'internlm-chat-7b', 'internlm-chat', 'internlm-chat-7b-8k', 'internlm-chat-20b', 'internlm-20b', 'baichuan-7b', 'baichuan2-7b', 'puyu', 'llama2', 'qwen-7b', 'qwen-14b', 'codellama', 'solar')
# <model_path> 模型路径 # <model_path> 模型路径
# <model_format> 模型的格式 ('llama', 'hf', 'qwen') # <model_format> 模型的格式 ('llama', 'hf', 'qwen')
# <tokenizer_path> tokenizer模型的路径(默认None,会去model_path里面找qwen.tiktoken) # <tokenizer_path> tokenizer模型的路径
# <model_format> 保存输出的目标路径(默认./workspace) # <model_format> 保存输出的目标路径(默认./workspace)
# <tp> 用于张量并行的GPU数量应该是2^n # <tp> 用于张量并行的GPU数量应该是2^n
# <quant_path> 量化模型的路径,可以为None(用于int4量化,使用默认None)
# <group_size> AWQ中用于将fp16权重量化为4位的参数(用于int4量化,使用默认'0')
lmdeploy convert --model_name qwen-7b --model_path /path/to/model --model_format qwen --tokenizer_path None --dst_path ./workspace_qwe7b --tp 1 mdeploy convert --model_name qwen-7b --model_path /path/to/model --model_format qwen --tokenizer_path None --dst_path ./workspace_qwe7b --tp 1 --quant_path None --group_size 0
# bash界面运行 # bash界面运行
lmdeploy chat turbomind --model_path ./workspace_qwe7b --tp 1 # 输入问题后执行2次回车进行推理 lmdeploy chat turbomind --model_path ./workspace_qwe7b --tp 1 # 输入问题后执行2次回车进行推理
...@@ -87,20 +89,20 @@ lmdeploy serve gradio --model_path_or_server ./workspace_qwe7b --server_name {ip ...@@ -87,20 +89,20 @@ lmdeploy serve gradio --model_path_or_server ./workspace_qwe7b --server_name {ip
### 运行 Qwen-14B-chat ### 运行 Qwen-14B-chat
``` ```
# 模型转换 # 模型转换
lmdeploy convert --model_name qwen-14b --model_path /path/to/model --model_format qwen --tokenizer_path None --dst_path ./workspace_qwe14b --tp 2 mdeploy convert --model_name qwen-7b --model_path /path/to/model --model_format qwen --tokenizer_path None --dst_path ./workspace_qwe7b --tp 2 --quant_path None --group_size 0
# bash界面运行 # bash界面运行
lmdeploy chat turbomind --model_path ./workspace_qwe14b --tp 2 lmdeploy chat turbomind --model_path ./workspace_qwe7b --tp 2
# 服务器网页端运行 # 服务器网页端运行
在bash端运行: 在bash端运行:
lmdeploy serve gradio --model_path_or_server ./workspace_qwe14b --server_name {ip} --server_port {pord} --batch_size 32 --tp 1 --restful_api False lmdeploy serve gradio --model_path_or_server ./workspace_qwe7b --server_name {ip} --server_port {pord} --batch_size 32 --tp 1 --restful_api False
在网页上输入{ip}:{pord}即可进行对话 在网页上输入{ip}:{pord}即可进行对话
``` ```
## result ## result
![qwen推理](docs/dcu/qwen推理.gif) ![qwen推理](docs/qwen推理.gif)
### 精度 ### 精度
......
This image diff could not be displayed because it is too large. You can view the blob instead.
# 模型唯一标识
modelCode = 456
# 模型名称
modelName=qwen_lmdeploy
# 模型描述
modelDescription=qwen是阿里云研发的通义千问大模型系列的70亿参数规模的模型
# 应用场景
appScenario=推理,对话问答,医疗,科研,金融,教育
# 框架类型
frameType=lmdeploy
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment