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

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_1664GRTX3090*4(94G)92GRTX3090*4(94G)350GA100*6(480G)
    Q_4_K_M23GRTX3090(24G)31GRTX3090*2(48G)
  • 当前文件夹,请自行替换自己的文件夹

    /root/lanyun-tmp/

model_scope下载QwQ32B

  • 创建文件夹统一存放Modelscope下载的模型

    mkdir Model-Scope
    
  • 安装 modelscope

    pip install modelscope --index https://pypi.mirrors.ustc.edu.cn/simple
    
    1. modelscope download:ModelScope 命令行工具的下载命令,用于从 ModelScope 平台下载指定的模型。

    2. --model Qwen/Qwen2.5-0.5B-Instruct

      --model 参数指定要下载的模型的唯一标识符(Model ID)。

      Qwen/Qwen2.5-0.5B-Instruct 模型的 ID,

    3. --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
    

    等待下载完成

    image-20250314211957063

  • 下载完成查目录

    ls Model-Scope/QwQ-32B
    

    可以看到模型文件都下载下来了

    image-20250314212235508

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)
    
  • 为快速演示就直接在命令行上了

    image-20250316231114327

    查看下满精度的显存使用量,可以看到用了63.7G左右

    image-20250316231659348



http://www.kler.cn/a/587919.html

相关文章:

  • 【QA】模板方法模式在Qt中有哪些应用?
  • 基于SSM+Vue+uniapp的科创微应用(可改为研学)小程序+LW示例
  • 离线资源的加密保护
  • 封装红黑树->mapset
  • 个人学习编程(3-16) leetcode刷题
  • generallseteter插件生成内容和数据库不一致
  • GPT 1-3(速通版)
  • 第36周:文献阅读
  • [oeasy]python074_ai辅助编程_水果程序_fruits_apple_banana_加法_python之禅
  • ssrf总结
  • Windows 上安装配置 Apache Tomcat 及Tomcat 与 JDK 版本对应
  • OpenAI定义的Agent新范式如何构建自动化系统
  • jsonl与json区别
  • 卷积神经网络(CNN)的主要架构
  • leetcode 75.颜色分类(荷兰国旗问题)
  • 【胶囊网络】完美复现Hinton论文99.23%
  • 社区版Uos20.9从源码编译QT5.15.2
  • 【商城实战(33)】解锁版本迭代与更新策略
  • 网络华为HCIA+HCIP网络基础
  • 79.ScottPlot的MVVM实现 C#例子 WPF例子