VLLM 测试 Mixtral MoE 的 GPTQ 量化版本
这里是 VLLM 测试 Mixtral MoE 的 GPTQ 量化版本 的笔记哦。
主要命令
- 安装 huggingface_hub:
pip install huggingface_hub -U
- 下载模型
huggingface-cli download TheBloke/Mixtral-8x7B-Instruct-v0.1-GPTQ --local-dir Mixtral-8x7B-Instruct-v0.1-GPTQ --local-dir-use-symlinks=False
- 上传模型:
rsync -avPr -e "ssh -p 36189" Mixtral-GPTQ root@abc.seedcloud.com:autodl-fs/
- 安装 vllm:
pip install vllm
- 执行 benchmark:
python benchmark_throughput.py --model ~/autodl-fs/Mixtral-8x7B-Instruct-v0.1-GPTQ --backend vllm --input-len 128 --output-len 512 --quantization gptq --num-prompts 50 --seed 1100 --dtype float16
相关链接
- https://github.com/vllm-project/vllm
- https://docs.vllm.ai/en/latest/
- https://huggingface.co/TheBloke/Mixtral-8x7B-Instruct-v0.1-GPTQ
其他
rsync 命令参数解释
rsync -avPr -e "ssh -p 36189" Mixtral-GPTQ root@abc.seedcloud.com:autodl-fs/
这条 rsync
命令用于同步文件和目录,并通过 SSH 进行安全传输。下面是命令的各个部分的简要介绍:
-
rsync
:这是主命令,用于文件和目录的同步。 -
-avPr
:这是一系列选项的组合。-a
(archive):保留文件属性,并递归复制目录。-v
(verbose):显示详细的过程信息。-P
:等同于--partial --progress
,在中断后允许部分传输,并显示传输进度。-r
(recursive):递归复制所有子目录和文件。
-
-e "ssh -p 36189"
:这指定了远程shell使用 SSH,并设置了自定义端口 36189。 -
Mixtral-GPTQ
:这是源目录或文件的名称。 -
root@abc.seedcloud.com:autodl-fs/
:这是目标位置,格式为用户名@主机:目标目录
。在这里,它表示以root
用户身份连接到abc.seedcloud.com
服务器上的autodl-fs
目录。
综上所述,这个命令将 Mixtral-GPTQ
目录(或文件)同步到远程服务器 abc.seedcloud.com
上的 autodl-fs
目录中,使用 SSH 进行安全连接,并在端口 36189 上操作。同时,它保留了文件的属性,允许中断后继续传输,并显示详细的同步进度。
vllm benchmark 命令参数解释
python benchmark_throughput.py \
--model ~/autodl-fs/Mixtral-8x7B-Instruct-v0.1-GPTQ \
--backend vllm \
--input-len 128 \
--output-len 512 \
--quantization gptq \
--num-prompts 50 \
--seed 1100 \
--dtype float16
这个命令是用于测试一个名为 Mixtral-8x7B-Instruct-v0.1-GPTQ 的模型的性能。它使用了 vllm 后端,并且涉及到一些关键参数的设置,我会简要解释每个参数:
--model ~/autodl-fs/Mixtral-8x7B-Instruct-v0.1-GPTQ
: 指定要测试的模型路径和名称。--backend vllm
: 使用 vllm 作为后端。--input-len 128
: 设置输入长度为 128 个单位。--output-len 512
: 设置输出长度为 512 个单位。--quantization gptq
: 应用 gptq 量化方法,这可能与模型的性能优化有关。--num-prompts 50
: 测试将会使用 50 个提示。--seed 1100
: 设置随机种子为 1100,以确保实验可重复性。--dtype float16
: 使用 float16 数据类型,这是一种精度较低但计算效率更高的数据类型。
--input-len
的大小会直接影响最终的性能表现,比如你可以用 32 而不是 128 看看效果。