【限时免费】 有手就会!chatglm2_6b模型本地部署与首次推理全流程实战

有手就会!chatglm2_6b模型本地部署与首次推理全流程实战

【免费下载链接】chatglm2_6b ChatGLM2-6B 是开源中英双语对话模型 ChatGLM-6B 的第二代版本。 【免费下载链接】chatglm2_6b 项目地址: https://gitcode.com/openMind/chatglm2_6b

写在前面:硬件门槛

在开始之前,请确保你的设备满足以下最低硬件要求:

  • 推理需求:至少需要6GB显存的GPU(如NVIDIA GTX 1060及以上)。
  • 微调需求:建议使用显存更大的GPU(如NVIDIA RTX 3090及以上),并确保有足够的存储空间。

如果你的设备不满足这些要求,可能会在运行过程中遇到性能问题或显存不足的错误。


环境准备清单

在部署模型之前,你需要准备好以下环境:

  1. Python 3.8或更高版本:确保你的系统中安装了Python,并可以通过命令行运行。
  2. PyTorch 2.0或更高版本:这是运行模型的核心框架。
  3. 其他依赖库:包括transformerscpm_kernelssentencepiece等。

你可以通过以下命令安装所有依赖:

pip install protobuf transformers==4.30.2 cpm_kernels torch>=2.0 gradio mdtex2html sentencepiece accelerate openmind

模型资源获取

  1. 下载模型权重:你需要从官方渠道获取chatglm2_6b的模型权重文件。确保下载的文件完整且未被修改。
  2. 保存到本地:将下载的模型权重文件保存到一个易于访问的目录中,例如./chatglm2_6b

逐行解析“Hello World”代码

以下是从官方文档中提取的“快速上手”代码片段,我们将逐行解析其功能:

from openmind import is_torch_npu_available, AutoTokenizer, AutoModel

# 检查设备类型,优先使用NPU,其次是CUDA,最后是CPU
if is_torch_npu_available():
    device = "npu:0"
elif torch.cuda.is_available():
    device = "cuda:0"
else:
    device = "cpu"

# 加载分词器和模型
tokenizer = AutoTokenizer.from_pretrained("PyTorch-NPU/chatglm2_6b", trust_remote_code=True)
model = AutoModel.from_pretrained("PyTorch-NPU/chatglm2_6b", trust_remote_code=True, device_map=device).half()
model = model.eval()

# 首次对话
response, history = model.chat(tokenizer, "你好", history=[])
print(response)

# 继续对话
response, history = model.chat(tokenizer, "晚上睡不着应该怎么办", history=history)
print(response)

代码解析:

  1. 设备检查

    • is_torch_npu_available():检查是否支持NPU设备。
    • torch.cuda.is_available():检查是否支持CUDA设备。
    • 如果都不支持,则默认使用CPU。
  2. 加载分词器和模型

    • AutoTokenizer.from_pretrained:加载预训练的分词器。
    • AutoModel.from_pretrained:加载预训练的模型,并指定设备。
    • .half():将模型转换为半精度(FP16),以减少显存占用。
  3. 对话生成

    • model.chat:生成对话响应,history参数用于保存对话历史。

运行与结果展示

  1. 运行代码:将上述代码保存为一个Python文件(如chatglm_demo.py),然后在命令行中运行:

    python chatglm_demo.py
    
  2. 预期输出

    • 首次对话会返回一个简单的问候响应,例如“你好!”。
    • 第二次对话会返回关于“晚上睡不着”的建议。

常见问题(FAQ)与解决方案

1. 显存不足

  • 问题:运行时报错“CUDA out of memory”。
  • 解决方案:尝试使用量化版本的模型,或者减少输入长度。

2. 模型加载失败

  • 问题:无法加载模型权重。
  • 解决方案:确保权重文件路径正确,并且文件未被损坏。

3. 依赖库冲突

  • 问题:安装依赖时提示版本冲突。
  • 解决方案:创建一个新的虚拟环境,并重新安装依赖。

【免费下载链接】chatglm2_6b ChatGLM2-6B 是开源中英双语对话模型 ChatGLM-6B 的第二代版本。 【免费下载链接】chatglm2_6b 项目地址: https://gitcode.com/openMind/chatglm2_6b

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值