Windows安装ChatGLM3

Git clone

GitHub - THUDM/ChatGLM3: ChatGLM3 series: Open Bilingual Chat LLMs | 开源双语对话语言模型

查看cuda版本

CUDA(Compute Unified Device Architecture)是NVIDIA公司开发的一个平行计算平台和编程模型,它允许开发者利用NVIDIA的GPU(图形处理单元)来进行通用计算,这种计算通常与图形渲染无关。通过使用CUDA,开发者可以将GPU作为强大的并行处理器,用于执行复杂的计算任务,这在科学计算、数据分析、机器学习等领域非常有用。

CUDA提供了API(应用程序编程接口),支持多种编程语言,如C、C++和Python等,使得开发者能够较为容易地编写出能在GPU上运行的并行程序。使用CUDA编写的程序可以在支持CUDA的NVIDIA GPU上运行,从而实现计算任务的加速。

CUDA通过以下方式工作:

1. 内核(Kernels):在CUDA中,内核是并行执行的函数,它在GPU上为每个数据元素执行。开发者可以定义内核来处理大量的数据。

2. 内存管理:CUDA提供了专门的内存管理功能,允许开发者控制数据在GPU和主机(CPU)之间的传输。

3. 线程层次结构:CUDA中的并行执行模型是基于线程层次结构的,包括线程网格(grid)、线程块(block)和线程(thread)。

4. 同步和通信:CUDA提供了线程间的同步和通信机制,使得开发者可以控制线程的行为和数据的共享。

CUDA是高性能计算领域中一个非常重要的技术,它使得许多计算密集型任务能够通过GPU加速,从而大幅提高计算效率。

(以上信息来自智谱清言的回答)

ChatGLM通过PyTorch支持CUDA计算加速,如果你的GPU支持cuda,下面安装PyTorch的时候,请安装支持CUDA的PyTorch版本。

要查看CUDA版本,可以:

CMD中执行:nvidia-smi

安装Python3

ChatGLM中大量代码使用python编写,需要安装Python3。

官方下载最新windows安装包安装即可。

安装PIP

Pip是Python install package的简写,python的库通过pip命令安装。

安装了Python3后,原则上就已经安装好pip了。如果没有安装,可以安装Conda,Conda中也集成了pip。

安装PyTorch

PyTorch是python支持机器学习的一个库。Pytorch支持Nvidia的GPU的CUDA来计算,也支持CPU来计算,但肯定用GPU比CPU计算更好。

PyTorch官方提供了PyTorch安装指导,网址如下:

Start Locally | PyTorch

不同的操作系统,不同的包,不同的计算平台,安装命令也不同。

在上面的页面中,按你自己的情况选择操作系统、Package、编程语言和计算平台后,会生成一条安装命令。在CMD中执行这条命令就会安装,安装过程会下载whl包,大约2.5GB。

注:whl格式本质上是一个压缩包,里面包含了py文件,以及经过编译的pyd文件。可以在不具备编译环境的情况下,选择合适自己的Python环境进行安装。说白了,.whl就是python的压缩包。目前wheel被认为是Python的二进制包的标准格式

安装后,可以验证一下,是否安装成功。在CMD中输入

python

切换到python环境。

然后依次输入下面的代码:

import torch

x = torch.rand(5,3)

print(x)

输出应类似于:

tensor([[0.7522, 0.4874, 0.5922],

        [0.7667, 0.7001, 0.3312],

        [0.8241, 0.3392, 0.6829],

        [0.5461, 0.8977, 0.5320],

        [0.8009, 0.4389, 0.7881]])

安装PyTorch及验证见下图:

此外,要检查 GPU 驱动程序和 CUDA 是否已启用并由 PyTorch 访问,请运行以下命令以返回是否启用了 CUDA 驱动程序:

import torch
torch.cuda.is_available()

以上信息,基本都来自PyTorch官网的网页翻译

安装Conda(可选)

Conda中也包含了pip。

ChatGLM可通过Conda启动,也可通过vs code启动。我们推荐使用vs code来启动,因为vs code还可以调试ChatGLM。

(以下信息来自智谱清言回答)

Conda是一个开源的包管理器和环境管理器,用于安装、运行和更新包和它们的依赖项。Conda特别适用于Python程序,但它也可以管理R、Ruby、Lua、Scala、Java、JavaScript、C/ C++、FORTRAN等语言的包。Conda是由Anaconda公司开发的,并且是Anaconda Distribution的一部分,这是一个流行的Python数据科学平台。

Conda的主要特点包括:

1. 环境管理:Conda允许用户创建隔离的Python环境,这意味着您可以为不同的项目或不同的版本创建独立的环境,从而避免包版本冲突。(刘树伟注:就是在Anaconda Prompt中创建一个虚拟环境,然后激活这个虚拟环境,在这个虚拟环境中的配置,不影响其它虚拟环境,所以,使用Conda,一般都是在虚拟环境中运行)

2. 跨平台:Conda可以在Windows、macOS和Linux上运行,这使得它非常适合于需要跨多个系统工作的数据科学家和开发者。

3. 依赖性解决:Conda能够自动解决包之间的依赖关系,确保所有必要的包都被正确安装。

4. 二进制安装:Conda提供了预编译的二进制包,这意味着安装速度通常比从源代码编译要快。

5. 社区支持:Conda有一个活跃的社区,提供了大量的包和库,这些都可以通过Conda的包索引(conda-forge)获得。

6. 集成工具:Conda可以与其他工具如Jupyter Notebook和Pandas等集成,为数据分析和机器学习提供强大的支持。

Conda通常通过Anaconda Distribution或Miniconda来安装,Anaconda是一个包含Python和许多常用科学计算包的发行版,而Miniconda是一个更轻量级的Conda安装包,只包含Python和Conda,用户可以根据需要安装其他包。

安装Conda后,您可以使用命令行界面来管理包和环境。例如,创建一个新的环境可以使用以下命令:

```shell

conda create --name myenv python=3.8

```

激活这个环境可以使用:

```shell

conda activate myenv

```

在环境中安装包可以使用:

```shell

conda install numpy

```

Conda是数据科学和科学计算领域中非常受欢迎的工具,因为它简化了包管理和环境配置的过程。

(智谱清言结束)

官网:

Getting started with conda — conda 24.3.0 documentation

我们安装全功能的Anaconda Distribution,网址:

Installing on Windows — Anaconda documentation

Anaconda包含了pip。

安装过程中,官方不推荐把Anaconda添加到PATH环境变量,原话是:

选择是将 Anaconda 添加到 PATH 环境变量,还是将 Anaconda 注册为默认 Python。我们不建议 Anaconda 添加到 PATH 环境变量中,因为这可能会干扰其他软件。除非您计划安装和运行多个版本的 Anaconda 或多个版本的 Python,否则请接受默认值并选中此框。相反,通过打开 Anaconda Navigator Anaconda Prompt 开始菜单来使用 Anaconda 软件。

因为没有把Anaconda加到PATH环境变量,所以之后使用Conda的时候,不能直接在CMD中输入Conda命令,而应该通过打开 Anaconda Navigator Anaconda Prompt 开始菜单来使用 Anaconda 软件。

安装vs code

从微软官网下载安装即可,注意安装上python扩展。

运行ChatGLM的综合Demo

运行ChatGLM,实际上是执行"ChatGLM3\composite_demo\main.py"的python文件。

通过Anaconda Prompt来运行

官网:ChatGLM3/composite_demo/README.md at main · THUDM/ChatGLM3 · GitHub

由于我们安装Conda的时候,没有把Conda加入到PATH环境变量中,所以,执行Conda命令的时候,要从开始菜单中,通过Anaconda Prompt来执行。

先在Anaconda Prompt中切换到刚克隆的ChatGLM根目录下。然后执行:

  1. conda create -n chatgm3-demo python=3.10

是创建一个虚拟环境

  1. conda activate chatgm3-demo

进入这个虚拟环境

  1. pip instal -r requirements.txt

在这个虚拟环境中安装" ChatGLM3\requirements.txt" 中指定的东西。

conda create -n chatglm3-demo python=3.10和pip install -r requirements.txt两个命令只需要运行一次即可,下次打开Anaconda Prompt后,只需要运行conda activate chatglm3-demo进入虚拟环境即可。

因为chatglm运行需要MODEL_PATH这个环境变量,在UNIX系统中,是通过

export MODEL_PATH=/path/to/model

来设置环境变量的。Chatglmgithub的介绍页,也是写的export

但在 Windows 的 Anaconda Prompt 中,不能使用 export 命令来设置环境变量,因为 export 是类 Unix 系统中的命令。在 Windows 中,包括在 Anaconda Prompt 中,您应该使用 set 命令来设置环境变量。

例如,如果您想在 Anaconda Prompt 中设置 MODEL_PATH 环境变量,可以使用以下命令:

  1. set MODEL_PATH= D:\chatglm3-6b

D:\chatglm3-6b中存放着大模型

运行:

  1. streamit run main.py
 

正常情况下,会自动调用默认浏览器来显示ChatGLM页面。如果提示:

huggingface_hub.inference._text_generation未找到。应该是huggingface_hub的版本不对。我们可以通过

  1. pip show huggingface-hub

查看huggingface-hub的版本

  1. pip uninstall huggingface-hub

来卸载掉huggingface_hub

然后再通过

  1. pip install huggingface-hub==0.21.4

安装指定版本的是huggingface-hub

通过VS Code来运行

VS 打开ChatGLM3文件夹。并打开"ChatGLM3\composite_demo\main.py"文件,然后执行

通过launch.json来调试main.py。这会自动创建launch.json文件。

launch.json改成下面这样:

{

    // 使用 IntelliSense 了解相关属性。

    // 悬停以查看现有属性的描述。

    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387

    "version": "0.2.0",

    "configurations": [

        {

            "name": "streamlit",

            "type": "debugpy",

            "request": "launch",

            "module": "streamlit",

            "console": "integratedTerminal",

            "args": ["run", "${file}"],

            "env": {

                "MODEL_PATH": "D:/chatglm3-6b"

            }

        }

    ]

}

注意MODEL_PATH是值根据你实际路径修改。

接着,在弹出的框中选streamlit

这时,就会自动启动默认浏览器来显示chatglm了。如果提示找不到huggingface_hub.inference._text_generation

应该也是huggingface_hub的版本不对。只需要卸载高版本,重装低版本的huggingface_hub即可。

Torch使用GPU代替CPU来推理

使用CPU推理的速度极其慢。在安装PyTorch一节中,介绍了验证PyTorch是否支持GPU推理的方法。也可以通过运行下面的命令来查看:

pip list

如果列出的torch版本号如下:

torch                     2.2.2

就表示不支持,如果列出的版本号是

torch                     2.2.2+cu121

就表示支持。

如果不支持GPU,按《安装PyTorch》一节中介绍的,去PyTorch官方中,找支持cuda的Torch来安装。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值