ModelScope推理QwQ32B
文章目录
- ModelScope推理QwQ32B
- model_scope下载QwQ32B
- ModelScope 调用QwQ-32B
ModelScope推理QwQ32B
-
以下载 qwq32b 为例子
-
需要安装的 python 包
transformers==4.49.0 accelerate>=0.26.0 torch==2.4.1 triton==3.0.0 safetensors==0.4.5
可以使用 conda 创建一个虚拟环境安装
conda create --name llm python==3.10
切到虚拟环境
conda activate llm
指定源安装,保存为 requirement.txt 安装(这里用的中科大的源)
pip install -r requirements.txt --index https://pypi.mirrors.ustc.edu.cn/simple
-
QwQ32B硬件要求
这里使用满精度的QwQ32B,需要64G显存
硬件配置 模型推理 模型高效微调 模型全量微调 显存占用 最低配置 显存占用 最低配置 显存占用 最低配置 FP_16 64G RTX3090*4(94G) 92G RTX3090*4(94G) 350G A100*6(480G) Q_4_K_M 23G RTX3090(24G) 31G RTX3090*2(48G) - - -
当前文件夹,请自行替换自己的文件夹
/root/lanyun-tmp/
model_scope下载QwQ32B
-
创建文件夹统一存放
Modelscope
下载的模型mkdir Model-Scope
-
安装 modelscope
pip install modelscope --index https://pypi.mirrors.ustc.edu.cn/simple
-
modelscope download
:ModelScope 命令行工具的下载命令,用于从 ModelScope 平台下载指定的模型。 -
--model Qwen/Qwen2.5-0.5B-Instruct
:--model
参数指定要下载的模型的唯一标识符(Model ID)。Qwen/Qwen2.5-0.5B-Instruct
模型的 ID, -
--local_dir /root/lanyun-tmp/Model-Scope/Qwen2.5-0.5B
:--local_dir
参数指定模型下载后存放的本地目录路径。/root/lanyun-tmp/Model-Scope/Qwen2.5-0.5B
是目标目录路径,表示模型将被下载到这个目录中。
-
-
执行下载模型的命令
https://modelscope.cn/models/Qwen/QwQ-32B/files
复制全名
Qwen/QwQ-32B
modelscope download --model Qwen/QwQ-32B --local_dir /root/lanyun-tmp/Model-Scope/QwQ-32B
等待下载完成
-
下载完成查目录
ls Model-Scope/QwQ-32B
可以看到模型文件都下载下来了
ModelScope 调用QwQ-32B
-
代码
from modelscope import AutoModelForCausalLM, AutoTokenizer model_name = "./Model-Scope/QwQ-32B/" model = AutoModelForCausalLM.from_pretrained( model_name, torch_dtype="auto", device_map="auto", low_cpu_mem_usage=True ) tokenizer = AutoTokenizer.from_pretrained(model_name) prompt = "你好" messages = [ {"role": "user", "content": prompt} ] text = tokenizer.apply_chat_template( messages, tokenize=False, add_generation_prompt=True ) model_inputs = tokenizer([text], return_tensors="pt").to(model.device) generated_ids = model.generate( **model_inputs, max_new_tokens=32768 ) generated_ids = [ output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids) ] response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0] print(response)
-
为快速演示就直接在命令行上了
查看下满精度的显存使用量,可以看到用了63.7G左右