在Windows 10上部署ChatGLM2-6B:掌握信息时代的智能对话

在Windows 10上部署ChatGLM2-6B:掌握信息时代的智能对话

    • 硬件环境
    • ChatGLM2-6B的量化模型最低GPU配置说明
    • 准备工作
    • ChatGLM2-6B安装部署
    • ChatGLM2-6B运行模式
    • 解决问题
    • 总结

随着当代科技的快速发展,我们进入了一个数字化时代,其中信息以前所未有的速度传播。在这个信息爆炸的时代,我们不仅面临着巨大的机遇,还面临着挑战。为了更好地应对和充分利用这一趋势,我们需要掌握一些关键技能和工具。本文将向您介绍如何在Windows 10专业版22H2 x64操作系统上部署ChatGLM2-6B,这是一个强大的自然语言处理模型,用于智能对话。

本文面向的操作系统为 window10 专业版 22H2 x64,基于GPU的运算

硬件环境

名称 参数
PC HP Elite Tower 880 G9
CPU 16G
GPU NVIDIA RTX3060
处理器 12th Gen Intel® Core™i7-12700 2.10GHz
操作系统 window 10 专业版 22H2 x64

ChatGLM2-6B的量化模型最低GPU配置说明

名称 参数 显存要求
ChatGLM2-6B FP16 13G
ChatGLM2-6B INT4 6G
ChatGLM2-6B-32K FP16 20G
ChatGLM2-6B-32K INT4 13G

注意:如果仅使用CPU部署,则ChatGLM2-6B的量化模型最低CPU 32G

准备工作

在部署ChatGLM2-6B之前,您需要进行一些准备工作

  1. 安装Git和Git LFS: 您可以从Git官方网站下载Git,并在安装时务必选择安装Git LFS选项,以支持大型文件的版本控制。
# window版Git安装时注意勾选git LFS选项即可
# Linux系统在安装完Git后,需额外安装git LFS
# 验证git是否正常: 出现版本信息为正常
git --version
# 验证git lfs是否正常:出现Git LFS initalized为正常
git lfs install
  1. 安装CUDA: CUDA是NVIDIA的并行计算平台,用于加速深度学习任务。您需要确保安装了与您的NVIDIA显卡驱动程序兼容的CUDA版本【CUDA下载地址】
# 查看NVIDIA CUDA version 和 Driver Version,一定要注意相关版本信息
nvidia-smi
# 在下载页面选择相关版本和信息后,下载安装包进行安装即可

在Windows 10上部署ChatGLM2-6B:掌握信息时代的智能对话_第1张图片
在Windows 10上部署ChatGLM2-6B:掌握信息时代的智能对话_第2张图片

  1. 安装Python【下载地址】: 安装Python,建议使用Python 3.10.10版本,并在安装时勾选将Python添加到系统变量PATH中。

注意:无需下载最新版本,本文选用python v3.10.10
更据安装包进行即可,注意勾选将python添加至系统变量PATH

  1. 安装PyTorch【下载地址】: 根据您的CUDA版本选择合适的PyTorch版本,并使用pip安装。确保PyTorch与CUDA版本兼容。
# 注意pytorch的版本,保证其和CUDA版本兼容
# 选择stable版,其余更据自己系统和情况选择,本文使用CUDA 11.8为最新版本(虽然CUDA版本为12.2,但是其支持向下兼容)
# 复制红框内容,在命令行中进行安装,等待完成
# 验证pytorch是否正常:进入命令行或PowerShell
python
>>> import torch
>>> print(torch.cuda.is_available())
>>> True
# 返回True即为正常
>>> quit()

在Windows 10上部署ChatGLM2-6B:掌握信息时代的智能对话_第3张图片

ChatGLM2-6B安装部署

  1. 下载仓库代码: 使用Git克隆ChatGLM2-6B仓库并安装依赖。
git clone https://github.com/THUDM/ChatGLM2-6B.git
cd ChatGLM2-6B
pip install -r requirements.txt
  1. 下载ChatGLM2-6B模型: 在项目目录下创建一个名为“model”的文件夹,并下载ChatGLM2-6B的模型文件。
mkdir model && cd model
git clone https://huggingface.co/THUDM/chatglm2-6b
git clone https://huggingface.co/THUDM/chatglm2-6b-int4
git clone https://huggingface.co/THUDM/chatglm2-6b-32k
git clone https://huggingface.co/THUDM/chatglm2-6b-32k-int4

请确保您下载了标记为LFS(Large File Storage)的文件,以获取完整的模型文件。

ChatGLM2-6B运行模式

在部署ChatGLM2-6B时,您可以选择不同的运行模式,包括Gradio网页模式、Streamlit网页模式、命令行模式和API模式。以>下是每种模式的简要说明:


Gradio网页模式

  1. 准备工作
# 进入项目目录
cd ChatGLM2-6B
#  复制一份web_demo.py
copy web_demo.py web_demo_bak.py

2.模型参数调整

tokenizer = AutoTokenizer.from_pretrained("model\\chatglm2-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("model\\chatglm2-6b", trust_remote_code=True).cuda()

在Windows 10上部署ChatGLM2-6B:掌握信息时代的智能对话_第4张图片

3.服务参数调整

# demo.queue().launch(share=False, inbrowser=True)
# concurrency_count: 表示可以同时使用网页的人数,超过就需要排队等候
# server_name: 开启局域网访问
# server_port: 指定端口访问
demo.queue(
    concurrency_count=5,
).launch(share=False, inbrowser=True, server_name="0.0.0.0", server_port=8080)
  1. 启动
python web_demo.py

在Windows 10上部署ChatGLM2-6B:掌握信息时代的智能对话_第5张图片


Streamlit网页

# 同Gradio配置类似,进行调整web_demo2.py
# 启动
streamlit run web_demo2.py
# 此命令会开启局域网服务,端口:8501

在Windows 10上部署ChatGLM2-6B:掌握信息时代的智能对话_第6张图片


CLI模式

# 配置一致,调整cli_demo.py
# 启动
python cli_demo.py
# 命令行中输入只是并回车即可生成回复,输入clear:清空对话历史;输入stop:终止程序

API模式

# 安装fastapi uvicorn依赖
pip install fastapi uvicorn
# 配置api.py
python api.py
# 补充:可设置ip和端口
# api.py
...
uvicorn.run(app, host='x.x.x.x', port=8000, workers=1)

访问接口: http://x.x.x.x:8000/; 请求方式:POST

在Windows 10上部署ChatGLM2-6B:掌握信息时代的智能对话_第7张图片


特别说明: 如果显存不足,可使用量化方式加载模型

# int4
model = AutoModel.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True).quantize(4).cuda()
# int8
model = AutoModel.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True).quantize(8).cuda()

解决问题

在部署过程中,可能会遇到一些问题。以下是一些常见问题和解决方法:


运行web_demo.py报错:AssertionError:Torch not compiled with CUDA enabled(torch和CUDA版本不匹配)

# 首先检查cuda能否使用
python -c "import torch; print(torch.cuda.is_availabled())"
# 返回False, 说明torch版本与CUDA不匹配
# 使用指令 nvidia-smi查看CUDA版本,然后到pytorch官方网站下载相应的CUDA安装
# 先卸载原torch
pip uninstall torch
# 安装指定CUDA版本的torch
pip install --pre torch --index-url https://download.pytorch.org/whl/nightly/cu121

gcc不是内部或外部命令

安装TDM-GCC,注意勾选 openmp 【TDM-GCC下载】

总结

通过按照以上步骤进行操作,您将能够成功在Windows 10上部署ChatGLM2-6B,从而掌握信息时代的智能对话能力。这将为您提供一个有趣而强大的工具,用于与ChatGLM2-6B进行智能对话,并深入了解自然语言处理的潜力。希望本文能帮助您充分利用信息时代的机遇,同时也能够解决可能出现的问题。

你可能感兴趣的:(自然语言处理,自然语言处理)