当前位置:   article > 正文

大模型笔记之-Qwen1.5-72B-chat | 4卡A800 推理_qwen1.5-72b-chat-gptq-int4

qwen1.5-72b-chat-gptq-int4

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

随着开源不断发展,小模型的能力越来越强,但是始终没有一个可以解决通用问题能力的模型,最近正好有硬件资源,我们一起来看国产开源最强(仅代表个人看法)的Qwen72B,目前已经发布1.5版本。

一、Qwen介绍

我们发布了 Qwen1.5 —— Qwen 系列的新一代版本。在这次发布中,我们开源了包括 0.5B、1.8B、4B、7B、14B 和 72B 在内的 6 种大小的 Base 和 Chat 模型,并且我们还提供了量化模型。我们已将 Qwen1.5 的代码合并到 Hugging Face transformers 中,您现在可以直接使用 transformers>=4.37.0 而无需指定 trust_remote_code。此外,我们支持了例如vLLM、SGLang、AutoGPTQ等框架支持Qwen1.5。从现在开始,我们的模型将会更加易用。我们相信这次发布虽然在模型质量上是一小步,但在开发者体验上却是一大步

二、Qwen72B模型下载(魔搭)

#qwen/Qwen1.5-72B-Chat为模型的ID
#/home/user/data为下载目录
from modelscope import snapshot_download 
model_dir = snapshot_download('qwen/Qwen1.5-72B-Chat',cache_dir='/home/user/data')

  • 1
  • 2
  • 3
  • 4
  • 5

三、环境搭建

#使用conda创建隔离环境
conda create -n Qwen2 python=3.10.6

#切换环境
conda activate Qwen

#安装transformers
pip install transformers==4.37.0

#安装vLLM
pip install vLLM>=0.3.0

#安装torch(可选)安装vLLM时可能安装的是CPU版本的torch,如果使用cuda 11.8 请参考vLLM文档
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

四. 使用Vllm推理

官方文档

#官方命令除非运气爆炸,不然不能稳定启动
python -m vllm.entrypoints.openai.api_server --model Qwen/Qwen1.5-7B-Chat
  • 1
  • 2

本地部署

# 经过多次测试,我这里只写我成功部署的命令行
#备注:4卡A800 ,cuda12.1
python -m vllm.entrypoints.openai.api_server --host 0.0.0.0 --port 8000 --gpu-memory-utilization 0.9 --max-model-len 29856  --model Qwen1.5-72B-Chat --tensor-parallel-size 4
 
  • 1
  • 2
  • 3
  • 4

参数说明

 --host 0.0.0.0 #IP
 --port 8000 #端口
 --gpu-memory-utilization 0.9 #占用GPU内存部分
 --max-model-len 29856  #上下文长度
 --model Qwen1.5-72B-Chat #模型文件位置
 --tensor-parallel-size 4 #指定4张卡
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

常见问题

您可能会遇到令人烦恼的OOM(内存溢出)问题。我们推荐您尝试两个参数进行修复。第一个参数是 --max-model-len 。我们提供的默认最大位置嵌入(max_position_embedding)为32768,因此服务时的最大长度也是这个值,这会导致更高的内存需求。将此值适当减小通常有助于解决OOM问题。另一个您可以关注的参数是 --gpu-memory-utilization 。默认情况下,该值为 0.9 ,您可以将其调高以应对OOM问题。这也是为什么您发现一个大型语言模型服务总是占用大量内存的原因。

显存占用情况

在这里插入图片描述

五.API测试

请求

curl --location --request POST 'http://127.0.0.1:8000/v1/chat/completions' \
--header 'User-Agent: Apifox/1.0.0 (https://apifox.com)' \
--header 'Content-Type: application/json' \
--data-raw '{
  "model": "Qwen1.5-72B-Chat",
  "messages": [
    {
      "role": "user",
      "content": "帮我写一个PPT大纲,要10个章节,每个章节有3个小标题,PPT的主题是《AI的应用与发展》"
    }
  ]
}'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

响应

{
    "id": "cmpl-837f2bd26ce94a18a30ea4e721f94521",
    "object": "chat.completion",
    "created": 10953187,
    "model": "Qwen1.5-72B-Chat",
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "PPT大纲:《AI的应用与发展》\n\n1. 引言\n   1.1 定义人工智能\n   1.2 AI的历史发展脉络\n   1.3 当前AI的重要性与全球趋势\n\n2. AI的基本原理\n   2.1 机器学习基础\n   2.2 深度学习与神经网络\n   2.3 自然语言处理与计算机视觉\n\n3. AI在科技领域的应用\n   3.1 AI在云计算中的角色\n   3.2 AI驱动的科技创新(如物联网、5G)\n   3.3 AI对未来科技的影响\n\n4. AI在医疗保健\n   4.1 AI在疾病诊断中的应用\n   4.2 AI辅助的个性化治疗\n   4.3 AI在健康管理与预防中的作用\n\n5. AI在教育领域\n   5.1 个性化学习系统\n   5.2 AI辅助的教育评估\n   5.3 在线教育的AI革命\n\n6. AI在制造业\n   6.1 自动化生产线\n   6.2 预测性维护\n   6.3 AI驱动的供应链优化\n\n7. AI在交通运输\n   7.1 自动驾驶技术\n   7.2 智能交通管理系统\n   7.3 AI对物流行业的影响\n\n8. AI在金融领域\n   8.1 风险评估与欺诈检测\n   8.2 AI驱动的投资决策\n   8.3 金融科技的未来展望\n\n9. AI的伦理与社会影响\n   9.1 数据隐私和安全问题\n   9.2 工作岗位的变化与自动化失业\n   9.3 AI的公平性和偏见问题\n\n10. 结论:AI的未来展望\n    10.1 AI的持续发展预测\n    10.2 国际竞争与合作态势\n    10.3 个人、社会和政策应对策略\n\n每个章节可以根据具体内容进行细化和扩展,确保每个小标题都有足够的信息量来填充。\n"
            },
            "finish_reason": "stop"
        }
    ],
    "usage": {
        "prompt_tokens": 37,
        "total_tokens": 500,
        "completion_tokens": 463
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

说明

#请求的"model": "Qwen1.5-72B-Chat" 和启动命令中--model 的名称要一样
python -m vllm.entrypoints.openai.api_server --host 0.0.0.0 --port 8000 --gpu-memory-utilization 0.9 --max-model-len 29856  --model /home/data/Qwen/Qwen1.5-72B-Chat --tensor-parallel-size 4

#则请求的的model为
"model": "/home/data/Qwen/Qwen1.5-72B-Chat"
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/450602
推荐阅读
  

闽ICP备14008679号