chatglm4本地部署详解

2024-06-16 20:52
文章标签 部署 详解 本地 chatglm4

本文主要是介绍chatglm4本地部署详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

下载地址

模型下载地址:GitHub - THUDM/GLM-4: GLM-4 series: Open Multilingual Multimodal Chat LMs | 开源多语言多模态对话模型

已经训练好的数据下载地址:

https://huggingface.co/THUDM/glm-4-9b-chat-1m/tree/main

测试主机配置

cpu:E5-2680v4

内存:32G

显卡:Tesla M4 24G

最低硬件要求

如果您希望运行官方提供的最基础代码 (transformers 后端) 您需要:

  • Python >= 3.10
  • 内存不少于 32 GB

如果您希望运行官方提供的本文件夹的所有代码,您还需要:

  • Linux 操作系统 (Debian 系列最佳)
  • 大于 8GB 显存的,支持 CUDA 或者 ROCM 并且支持 BF16 推理的 GPU 设备。(FP16 精度无法训练,推理有小概率出现问题)

一、下载

(一)打开模型安装地址,点击下载

(二)打开已经训练好的数据下载地址,依次点击下载。超过1G的,建议使用迅雷云盘。

二、安装依赖

(一)安装步骤

        从官网了解可知composite_demo文件夹是存放更新说明的地方

        composite_demo文件夹中的requirements.txt文件夹,是此版本需要安装的依赖

使用命令:(反复执行,直到安装成功)

为保证减少连接失败造成的安装失败,建议尝试使用科学方法,你懂的

pip install -r requirements.txt

安装完毕的样子:

(二)安装失败的解决方案

安装失败,基本都是因为下载时连接失败或者连接断开造成,解决方案主要是两种:

        一种是,指定源地址下载

        另一种是,手动从web下载安装文件后安装

1. transformers==4.40.0载失败

        解决办法:指定清华源下载

pip install transformers==4.40.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

 2. accelerate>=0.30.1下载失败

        accelerate>=0.30.1,也是类似情况,但指定源下载依然不奏效。

        解决方法:可以在该版本下载页面下载安装文件accelerate · PyPI(浏览器下载也失败了2次,反正都是断点续传,继续重复执行下载即可。)

        使用下面命令进行安装

pip install accelerate-0.31.0-py3-none-any.whl 

 

        安装成功显示如下:

3. matplotlib下载失败

        解决方法:直接在requirements.txt文件中,将>=3.9.0删除。即不约束版本号

4. PyMuPDF下载失败

        解决方法:

(1)先安装PyMuPDFb-1.24.3-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

        PyMuPDF手动安装:下载地址PyMuPDFb · PyPI

        安装命令:

pip install PyMuPDFb-1.24.3-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

(2)再安装PyMuPDF-1.24.5-cp311-none-manylinux2014_x86_64.whl

        下载地址:PyMuPDF · PyPI

        安装命令:

pip install PyMuPDF-1.24.5-cp311-none-manylinux2014_x86_64.whl 

5. python_docx-1.1.2下载失败

        下载地址:python-docx · PyPI

        安装命令: 

pip install python_docx-1.1.2-py3-none-any.whl

 6. python-pptx 0.6.23 下载失败

下载地址:python-pptx · PyPI

安装命令:

pip install python_pptx-0.6.23-py3-none-any.whl 
(1)执行安装时,过程中下载XlsxWriter-3.2.0-py3-none-any.whl又失败!

        下载地址:XlsxWriter · PyPI

安装命令:

pip install XlsxWriter-3.2.0-py3-none-any.whl 

最后,重新安装

pip install python_pptx-0.6.23-py3-none-any.whl 

7.streamlit-1.35.0下载失败

        下载地址:streamlit · PyPI

        安装命令

pip install streamlit-1.35.0-py2.py3-none-any.whl

8. tiktoken 0.7.0 下载失败

        下载地址:tiktoken · PyPI

        安装命令

pip install tiktoken-0.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 

三、测试模型

        已经下载好的模型及训练数据。

        glm-4-9b-chjat为已经训练的参数

        GLM-4-main为模型文件

(一)修改trans_cli_demo.py文件中,第18行,训练参数的位置

        把它修改成glm-4-9b-chat的路径:/home/ls/文档/GLM4/glm-4-9b-chat

 (二)执行trans_cli_demo.py

        执行命令:

python trans_cli_demo.py 

       可以执行,但是太慢了

        chatglm4 在当前配置可以运行。但是只是能运行而已。跟chatglm3回复速度相比,简直是慢动作中的慢动作。要想丝滑运行,升级硬件吧。

这篇关于chatglm4本地部署详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1067521

相关文章

Oracle的to_date()函数详解

《Oracle的to_date()函数详解》Oracle的to_date()函数用于日期格式转换,需要注意Oracle中不区分大小写的MM和mm格式代码,应使用mi代替分钟,此外,Oracle还支持毫... 目录oracle的to_date()函数一.在使用Oracle的to_date函数来做日期转换二.日

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

centos7基于keepalived+nginx部署k8s1.26.0高可用集群

《centos7基于keepalived+nginx部署k8s1.26.0高可用集群》Kubernetes是一个开源的容器编排平台,用于自动化地部署、扩展和管理容器化应用程序,在生产环境中,为了确保集... 目录一、初始化(所有节点都执行)二、安装containerd(所有节点都执行)三、安装docker-

在Ubuntu上部署SpringBoot应用的操作步骤

《在Ubuntu上部署SpringBoot应用的操作步骤》随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一,Java作为一种跨平台的编程语言,具有广泛的应用场景,本... 目录一、部署准备二、安装 Java 环境1. 安装 JDK2. 验证 Java 安装三、安装 mys

Mysql 中的多表连接和连接类型详解

《Mysql中的多表连接和连接类型详解》这篇文章详细介绍了MySQL中的多表连接及其各种类型,包括内连接、左连接、右连接、全外连接、自连接和交叉连接,通过这些连接方式,可以将分散在不同表中的相关数据... 目录什么是多表连接?1. 内连接(INNER JOIN)2. 左连接(LEFT JOIN 或 LEFT

Java中switch-case结构的使用方法举例详解

《Java中switch-case结构的使用方法举例详解》:本文主要介绍Java中switch-case结构使用的相关资料,switch-case结构是Java中处理多个分支条件的一种有效方式,它... 目录前言一、switch-case结构的基本语法二、使用示例三、注意事项四、总结前言对于Java初学者

Linux内核之内核裁剪详解

《Linux内核之内核裁剪详解》Linux内核裁剪是通过移除不必要的功能和模块,调整配置参数来优化内核,以满足特定需求,裁剪的方法包括使用配置选项、模块化设计和优化配置参数,图形裁剪工具如makeme... 目录简介一、 裁剪的原因二、裁剪的方法三、图形裁剪工具四、操作说明五、make menuconfig

使用JavaScript操作本地存储

《使用JavaScript操作本地存储》这篇文章主要为大家详细介绍了JavaScript中操作本地存储的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录本地存储:localStorage 和 sessionStorage基本使用方法1. localStorage

详解Java中的敏感信息处理

《详解Java中的敏感信息处理》平时开发中常常会遇到像用户的手机号、姓名、身份证等敏感信息需要处理,这篇文章主要为大家整理了一些常用的方法,希望对大家有所帮助... 目录前后端传输AES 对称加密RSA 非对称加密混合加密数据库加密MD5 + Salt/SHA + SaltAES 加密平时开发中遇到像用户的

Springboot使用RabbitMQ实现关闭超时订单(示例详解)

《Springboot使用RabbitMQ实现关闭超时订单(示例详解)》介绍了如何在SpringBoot项目中使用RabbitMQ实现订单的延时处理和超时关闭,通过配置RabbitMQ的交换机、队列和... 目录1.maven中引入rabbitmq的依赖:2.application.yml中进行rabbit