当前位置: 首页 > news >正文

【工程记录】QwQ-32b 8bit量化部署教程(vLLM | 缓解复读)

文章目录

  • 写在前面
  • 1. 环境配置
  • 2. 下载QwQ-32b 8bit量化模型
  • 3. 使用vLLM本地推理

写在前面

仅作个人学习记录用。本文记录QwQ-32b 8bit量化模型的部署的详细方法。

1. 环境配置

以下环境经测试无bug(Deepseek R1用这个环境也能直接跑):

gpu: V100(32GB) * 2
python 3.12
cuda 12.1
pytorch==2.5.1
modelscope==1.22.3
tqdm==4.67.1
transformers==4.48.2
vllm==0.7.1

注意,如果安装vllm时发生报错:

.......
Failed to build xformers
ERROR: Failed to build installable wheels for some pyproject.toml based projects (xformers)

这是由于xformers与pytorch版本不符导致的,如果使用本文环境,对应的xformers版本为v0.0.28.post3.。尽量通过下载whl文件(链接)的方式来安装xformers。

2. 下载QwQ-32b 8bit量化模型

不少人(包括我)在QwQ-32B模型的使用过程中遇到了无限生成、重复内容过多的问题。也有人反馈deepseek-r1-distill-qwen-32b和Qwen2.5-Max推理模式也会出现类似问题。

为避免这些问题,可以考虑部署Unsloth 团队修复了上述错误的模型。
在这里插入图片描述

从 ModelScope 下载模型

如果从你从 HuggingFace 下载比较慢,也可以从ModelScope【链接】中下载。

从ModelScope下载8bit量化的gguf文件可以通过命令行,代码如下:

modelscope download --model unsloth/QwQ-32B-GGUF QwQ-32B.Q8_0.gguf --local_dir ./dir

vLLM支持gguf 格式,但是在运行时仍然需要指定tokenizer,因此除了下载模型权重之外,还需要下载QwQ-32B的Tokenizer。tokenizer相关文件如下:

config.json
tokenizer_config.json
tokenizer.json

自行下载:https://huggingface.co/Qwen/QwQ-32B/tree/main

全部下载完成后,将MODEL_PATH统一改成你下载的模型所在的文件夹位置。

3. 使用vLLM本地推理

ChatGLM3-6b部署完毕,接下来可以运行Demo来验证是否部署成功。
本地调用代码如下:

from vllm import LLM, SamplingParamsif __name__ == '__main__':MODEL_PATH = "XXXX/QwQ-32B-unsloth/QwQ-32B.Q8_0.gguf"llm = LLM(model=MODEL_PATH,tokenizer= "XXXX/QwQ-32B-unsloth",tensor_parallel_size=4,  # 多GPU并行数(单GPU设为1)trust_remote_code=True,  # 允许自定义代码gpu_memory_utilization=0.7,  # GPU显存利用率dtype="float16",  # 量化精度(可选:float16/auto)max_model_len=10240)# 配置生成参数sampling_params = SamplingParams(temperature=0.6,top_p=0.9,repetition_penalty=1.1,max_tokens=2048)messages = ['xxxx']outputs = llm.generate(messages, sampling_params)# 输出结果for output in outputs:print(f"Response: {output.outputs[0].text}\n")

正常运行:
在这里插入图片描述

(其实还是会复读)


http://www.mrgr.cn/news/95831.html

相关文章:

  • LVS的 NAT 模式实验
  • 性能测试笔记
  • Rust从入门到精通之精通篇:26.性能优化技术
  • VUE3项目VITE打包优化
  • UART转APB模块ModelSim仿真
  • deepseek实战教程-第六篇查找源码之仓库地址与deepseek-R1、deepseek-LLM仓库内容查看
  • 详解接口的常见请求方式
  • Nginx反向代理及负载均衡
  • 11_JavaScript_字符串方法+数学方法
  • 【简单学习】Prompt Engineering 提示词工程
  • 【C语言】动态内存管理
  • 鸿蒙学习笔记(2)-国际化配置、ArkTS简述
  • 快速搭建yolo测试环境,超简明的神经网络训练说明书
  • 【leetcode hot 100 35】搜索插入位置
  • 后端——AOP异步日志
  • Bitcoin Thunderbolt 内测通道开启,加速比特币交易新时代
  • [AI建模] 使用Pinokio本地化部署混元2D到3D AI建模服务
  • 19.哈希表的实现
  • 代码随想录算法训练营第五十六天 | 108.冗余连接 109.冗余连接II
  • 各类神经网络学习:(四)RNN 循环神经网络(下集),pytorch 版的 RNN 代码编写