首页 > 其他分享 >ChatGLM-6B int4的本地部署与初步测试

ChatGLM-6B int4的本地部署与初步测试

时间:2023-06-05 14:22:24浏览次数:45  
标签:6B 模型 int4 ChatGLM Pycharm 安装 下载

0. 前言

本次笔记是对于实习初期,初次接触到LLM大模型的一些记录。内容主要集中在对于环境的配置的模型的运行。
本人的硬软件配置如下:

GPU: RTX3060 6GB显存
内存: 32GB
系统: Windows 11

1. Anaconda3 + Pycharm 的环境搭建

我使用的是Anaconda3 + PyCharm 的环境搭建。
首先下载去anaconda官网下载最新版的anaconda.
安装时注意选择Add Anaconda3 to PATH, 这样可以直接在Pycharm的终端上运行。

image

等待安装完毕后,进入Pycharm官网安装IDE
直接下载Community版本,然后安装过程中全部点击通过即可。

安装Pycharm完毕之后,需要创建一个新的anaconda的虚拟环境。方便运行包的管理

进入cmd 命令提示符,输入:
conda activate

激活conda,随后创建新的虚拟环境:
conda create --name ChatGLM-6B python=3.10

这里的ChatGLM-6B是自定义名字,python的版本可以自行修改

随后进入Pycharm,点击文件>新建项目>先前配置好的解释器, 如下图选择, 选择预先配置好的解释器,点击···,选择conda环境。 然后在可执行文件那里选择··· 选择到你刚刚创建的虚拟环境目录下(也就是envs\环境名称)找到python.exe)

image

配置完毕后,打开Pycharm的终端,如果出现类似与这样,环境名称在括号中,说明配置虚拟环境成功。

image

2. Pytorch的安装

在anaconda环境配置完毕之后,需要安装模型所需要最重要的包,Pytorch。

先点击Pytorch官网 看到如下界面:

image

根据自己显卡的Cuda版本来进行选择,随后在Pycharm的终端输入命令下载Pytorch

如果不知道Cuda是多少,可以运行cmd,输入nvidia-smi 查看Cuda版本:

image

安装完毕后,输入

import torch   
torch.cuda.is_available()

如果输出True,说明Pytorch配置完毕!

image

3. 安装ChatGLM-6B 代码

目前为止所有准备工作就绪,可以安装ChatGLM-6B的代码了。
进入存有ChatGLM-6B的Github 在确保计算机安装Git的情况下,在Pycharm的终端下git clone repo到项目文件夹下。当然如果电脑没有配置Git环境就需要下载下来解压到目录即可。

目录路径如下:
image

然后继续在终端输入命令,cd到requirement.txt的目录下,然后用pip命令安装ChatGLM-6B所需要的所有软件包:

pip install -r requirements.txt

等待安装完毕后,ChatGLM-6B的环境就配置完成了。

4. 预训练的下载与测试

在安装完CharGLM-6B的代码之后,我们依然需要下载预训练的模型。进入预训练模型下载网址 将里面全部的文件下载到一个文件夹下,注意这个文件夹可以不在Pycharm的项目之内,例如我下在D:\\data\\llm\\chatglm-6b-int4中。

image

因为要下载数个GB的模型,所以下载时间可能会比较长,需要耐心等待~

下载完毕之后,就可以在Pycharm项目中创建可运行文件,我的叫做test.py 然后输入一下代码加载模型并开始测试:

import torch.cuda
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("D:\\data\\llm\\chatglm-6b-int4", trust_remote_code=True, revision="")
model = AutoModel.from_pretrained("D:\\data\\llm\\chatglm-6b-int4", trust_remote_code=True, revision="").half().cuda()
model = model.eval()
response, history = model.chat(tokenizer, "介绍一下你自己", history=[])
print(response)
response, history = model.chat(tokenizer, "请问你能再重复一遍吗?谢谢!", history=history)
print(response)

如下,如果一开始报错,请耐心等待,在30s左右模型会给出结果:

image

如果程序遇到如下报错

Kernel not compiled with GPU support

可能是显卡没有安装Cuda,进入NVIDIA官网 下载GPU所对应版本的CUDA Toolkit后重启即可。

5. 网页Demo的使用

一直用Python和模型对话还是会有些不太方便,因此官网也给出了网页式对话。
在Pycharm的终端gradio:

pip install gradio

然后打开程序web_demo.py 将里面原本的路径改为你自己预训练模型的存储位置,然后运行即可。

image

以上,就可以在本地安装并且使用ChatGLM了。

标签:6B,模型,int4,ChatGLM,Pycharm,安装,下载
From: https://www.cnblogs.com/dijkstra2003/p/17457656.html

相关文章

  • ps 2023版本更新?支持M1、神经滤镜,最新版 Photoshop 2023 (ps 2023) for Mac v24.5/24.
    Photoshop2023是一款功能强大、易于操作的图像处理软件,可以帮助用户实现对图像的全方位处理,提高工作效率和图像质量。它拥有丰富的工具和素材、高质量的输出、简单易用的操作界面、对AI和3D的支持以及云端集成等特点...Mac版详情:Photoshop2023 Photoshop2023拥有以下特点:......
  • Firms sign investment deals worth $8.6b at Invest Beijing Global Summit
    Beijingwillcontinuetobeanattractiveinvestmentdestinationforforeigninvestors,asthecityisattheforefrontoftechnologicalinnovation,hasasoundbusinessenvironment,andmakesgreatereffortsindrivingreformandopening-up,saidexecuti......
  • langchain-ChatGLM调研
    https://github.com/imClumsyPanda/langchain-ChatGLM 1.确定显卡规格lspci|grep-invidia00:07.03Dcontroller:NVIDIACorporationGV100GL[TeslaV100SXM232GB](reva1)2.确定显卡运行状况nvidia-smi如果有问题,需要先装显卡的驱动aptsearchnvidia-drive......
  • 基于motorcad设计的外转子发电机,磁钢采用FB6B铁氧体 ,不等匝绕组,输出功率2.3KW 定子外
    基于motorcad设计的外转子发电机,磁钢采用FB6B铁氧体,不等匝绕组,输出功率2.3KW定子外径1563200RPM,18极27槽永磁同步发电机(PMSG)设计案例.ID:2750641231489906......
  • CodeForces - 626B Cards (全排列&模拟)
    TimeLimit: 2000MS MemoryLimit: 262144KB 64bitIOFormat: %I64d&%I64uCodeForces-626BCardsSubmit StatusDescriptionCatherinehasadeckof ntakeanytwo(notnecessarilyadjacent)cardswithdifferentcolorsandexchangethemforanewcardof......
  • 部署ChatGLM6B模型过程
    背景大语言模型的本地化部署尝试步骤下载项目下载页:https://github.com/josStorer/selfhostedAI/releases/tag/v2下载selfhostedAI-chatglm-6b-int4-widoowed-nvidia.7z.001-003压缩包解压后,更新项目:update.bat安装pytorchforgpupipinstalltorch1.13.1+cu117t......
  • ChatGLM-6B本地化部署
    一、硬件要求量化等级最低GPU显存(推理)最低GPU显存(高效参数微调)FP16(无量化)13GB14GBINT88GB9GBINT46GB7GB二、环境要求需先安装git、python三、下载源码1mkdir/gpt2cdgpt3gitclonehttps://github.com/THUDM/ChatGLM-6B.git ......
  • USB 控制器 piix3-uhci, piix4-uhci, ehci, ich9-ehci1, vt82c686b-uhci, pci-ohci, n
    在折腾TrueNASSCALE虚拟机的USBPassthrough的时候发现有很多不同种类的USBController,研究了一下发现他们有这些异同点piix3-uhci和piix4-uhci是虚拟的USB1.1控制器,可被用于QEMU和VirtualBox虚拟机中,它们有不同的版本号,但功能上差别不大。ehci是USB2.0......
  • 学系统集成项目管理工程师(中项)系列16b_风险管理(下)
    1. 规划风险应对1.1. 针对项目目标,制订提高机会、降低威胁的方案和措施的过程1.2. 制订风险应对措施1.3. 制订风险应对计划1.4. 次生风险是实施风险应对措施的直接结果1.5. 应对措施必须与风险的重要性相匹配,能经济有效地应对挑战1.5.1. 【22下选67】1.6. 经常要......
  • 4~6Blog
    upbbbgk   1.前言:4~6次pta题目集难度上升,代码量增加,考察了对类的设计以及如何实现类间关系等。难度较大。涉及到了去重排序循环遍历等。还有API接口,JAVA自带的实现类,包装类,成员方法等,涉及的知识面更广更难。 2.设计分析: 7-1菜单计价程序-3:设计点菜计价程序,根据......