从0开始搭建清华ChatGLM3 6b大模型(Windows RTX4090版)

目录

1、硬件及软件说明

2、安装Anaconda

3、安装Git版本控制

​4、安装pytorch驱动

5、安装ChatGLM3


1、硬件及软件说明

硬件:主要是GPU卡内存要足够,本次搭建使用的RTX4090卡一张,单卡内存24G,为什么选择4090?主要是4090在推理方面,可以媲美A100,尽管在训练方面一般,但是推理真的是性价比非常高的,管制之后,一张4090的卡行情在1.6W-2.2W元,RTX4090原本是在游戏领域。NVIDIA发布的RTX 40系列移动版显卡,并首次给笔记本带来了RTX 4090级别的型号,是一款性能非常好的显卡。

软件:操作系统windows10,内存32G,64位。

2、安装Anaconda

     我现在假定,你的主机是什么软件都没有安装(但cuda驱动先自己安装上,没有安装的也可以看前面的博文),从一个空白的主机开始搭建,一步一步搭建清华ChatGLM3 6B。所以首先是安装Anaconda,Anaconda是开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项,用起来非常方便。

    1)下载Anaconda:Free Download | Anaconda
      我直接下载的是它的最新版本,对应的python版本为3.11

      下载好之后一路next就可以
     安装详细参考文档可以参考这个:Anaconda详细安装及使用教程(带图文) - 知乎
     测试是否安装好conda的命令,进入到dos命令行窗口,输入:conda --version
         

(1)创建虚拟环境:conda create -n py27 python=2.7
  (2)激活虚拟环境:conda activate env_name(环境名称)
  (3)  退出虚拟环境: deactivate env_name(环境名称)
(4)删除虚拟环境:conda remove -n env_name(环境名称) --all
(5)查看已创建的虚拟环境:conda env list  或 conda info -e  或  conda info --env
    在此,我们利用conda创建glm3的python虚拟环境

     命令:conda create -n glm3 python=3.10

     进入glm3环境,效果如下:activate glm3
   

3、安装Git版本控制

    因为要从阿里的魔塔社区通过git方式拉去相关镜像和代码,因此需要安装一下git版本控制软件git是世界上最先进的分布式版本控制系统,包括github,git以及阿里魔塔等都是基于git开发出来的代码版本管理平台,所以我们先安装git.
   下载地址:https://git-scm.com/download/win

   下载之后也是一路next安装就可以

    git软件安装参考:Windows下的详细Git安装_windows git安装-CSDN博客

    最后安装成功验证:git --version


4、安装pytorch驱动

      为了让python能够识别和使用gpu,我们需要一个包来识别出gpu,正好有那么一款机器学习的库有这个功能,它就是pytorch,PyTorch是一个开源的Python机器学习库,基于Torch,用于自然语言处理等应用程序。PyTorch既可以看作加入了GPU支持的numpy,同时也可以看成一个拥有自动求导功能的强大的深度神经网络。pytorch的版本非常重要,和cuda的版本,以及python的版本都很有关系,具体使用哪个版本,可以到pytorch官网查看(怎么安装pytorch也可以看我之前的文章【AI】Windows配置GPU Cuda驱动和Pytorch框架_配置了cuda驱动-CSDN博客)

      最关键的步骤之一,就是确定torch和torchVsion的版本,如果版本没有配套,就很容易出现各种妖孽的问题,确定地址是pytorch的官网:Start Locally | PyTorch

根据实际从官网生成了适合我们的pytorch安装命令

conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia

这个torch版本很重要,一定要适配,否则会出现诸如找不到cuda或者算法精度跑不出来的之类的要求问题。

前面已经完成了Cuda驱动、pytorch和torchVsion的安装,现在我们要测试一下是否能使用GPU环境。测试在python_gpu环境种,执行如下代码:

import torch

print(torch.cuda.is_available())

显示为True表示配置成功,可以成功调用cuda

当然也可以参考这里面的代码,测试一下gpu是否正常运行

#coding=gbk
# This is a sample Python script.
import torch
# Press Ctrl+空格 to execute it or replace it with your code.
# Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings.def test_gpu():import timeimport torch# 测试gpu计算耗时A = torch.ones(5000, 5000).to('cuda')B = torch.ones(5000, 5000).to('cuda')startTime2 = time.time()for i in range(100):C = torch.matmul(A, B)endTime2 = time.time()print('gpu计算总时长:', round((endTime2 - startTime2) * 1000, 2), 'ms')# 测试cpu计算耗时A = torch.ones(5000, 5000)B = torch.ones(5000, 5000)startTime1 = time.time()for i in range(100):C = torch.matmul(A, B)endTime1 = time.time()print('cpu计算总时长:', round((endTime1 - startTime1) * 1000, 2), 'ms')# Press the green button in the gutter to run the script.
if __name__ == '__main__':print(torch.cuda.is_available())test_gpu()

5、安装ChatGLM3

  从魔塔社区下载chatGLM3的源代码
  命令:git clone https://github.com/THUDM/ChatGLM3

    这里面requirements.txt记录了安装要以来的各种包

     进入到glm3 python虚拟环境执行安装,预计要等到好几个小时
     命令:conda activate glm3

      升级一下pip版本,这样下载更快点
     命令:pip install --upgrade pip

      执行依赖安装
      命令:pip install -r requirements.txt 

要等个把小时,安装完了以后,建议再执行下,确保torch版本ok:     

conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia

下载预训练模型
命令:git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git

  6b的有7个2个g大小左右的大文件7个,但是下载速度还是非常快的

进入到basic_demo修改:cli_demo.py,把模型修改为自己下载的模型路径

再进入到glm3 python环境执行该脚本:python cli_demo.py

这就部署好了推理版本了,可以输入问题,进行问答,答案不咋地,但是也算答了

 启动页面版本:python  web_demo_streamlit.py,这样执行会报错

应是这个命令:streamlit run web_demo_streamlit.py

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/316268.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Zookeeper之Java客户端实战

ZooKeeper应用的开发主要通过Java客户端API去连接和操作ZooKeeper集群。可供选择的Java客户端API有: ZooKeeper官方的Java客户端API。第三方的Java客户端API,比如Curator。 接下来我们将逐一学习一下这两个java客户端是如何操作zookeeper的。 1. ZooKe…

SkyWalking实战与设置警告

日升时奋斗,日落时自省 目录 1、简述 2、Skywalking优越性 2.1、相同产品分析 2.2、Skywalking组成 2.3、Skywalking本质 3、Skywalking服务安装与启动 3.1、ES安装并启动 3.1.2、删除环境变量 3.1.3、预启动ES 3.1.4、关闭HTTPS认证 3.1.5、关闭登录授…

性能优化:Spark SQL中的谓词下推和列式存储

Apache Spark是一个强大的分布式计算框架,Spark SQL是其一个核心模块,用于处理结构化数据。性能优化是大数据处理中的一个关键问题,本文将深入探讨Spark SQL中的两个性能优化技术:谓词下推(Predicate Pushdown&#xf…

在实际电路中的二极管

常见有静电保护用的TVS,电源DC-DC上用的续流二极管,稳压管,发光LED二极管等 本文概要: 0. 二极管识图1. TVS二极管2. 整流二极管3. 稳压二极管4. 肖特基二极管5. 快回复二极管6. 续流二极管7. 发光二极管8. 变容二极管9. 小结一…

2022年全球运维大会(GOPS深圳站)-核心PPT资料下载

一、峰会简介 GOPS 主要面向运维行业的中高端技术人员,包括运维、开发、测试、架构师等群体。目的在于帮助IT技术从业者系统学习了解相关知识体系,让创新技术推动社会进步。您将会看到国内外知名企业的相关技术案例,也能与国内顶尖的技术专家…

autograd与逻辑回归

一、autograd—自动求导系统 torch.autograd.backward() torch.autograd.backward()是PyTorch中用于计算梯度的函数。以下是对该函数的参数的解释: 功能:自动求取梯度 • tensors: 用于求导的张量,如 loss • retain_graph : 保存计算图 •…

上海亚商投顾:创业板指低开低走 煤炭等周期股逆势走强

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 沪指昨日弱势震荡,创业板指低开低走,尾盘跌超1.8%,北证50指数则拉升涨超2%…

《动手学深度学习》学习笔记 第5章 深度学习计算

本系列为《动手学深度学习》学习笔记 书籍链接:动手学深度学习 笔记是从第四章开始,前面三章为基础知道,有需要的可以自己去看看 关于本系列笔记: 书里为了让读者更好的理解,有大篇幅的描述性的文字,内容很…

初学者快速入门学习日语,PDF文档音频教学资料合集

一、资料描述 本套学习资料是很全面的,共有734份文件,包括PDF,PPT,表格,图片,音频等多种格式,可以作为初级日语的学习教材,也是非常适合初学者入门的,可以帮助大家快速的…

Character Controller Smooth

流畅的角色控制器 Unity的FPS解决方案! 它是一种具有非常平滑运动和多种设置的解决方案: - 移动和跳跃 - 坐的能力 - 侧翻角度 - 不平整表面的处理 - 惯性守恒 - 重力 - 与物理物体的碰撞。 - 支持没有家长控制的平台 此解决方案适用于那些需要角色控制器…

文本表示模型简介

文本是一类非常重要的非结构化数据,如何表示文本数据一直是机器学习领域的一个重要研究方向。那么有哪些文本表示模型?以及它们各有什么优缺点? 1. 常见的文本表示模型 1.1. 词袋模型和N-gram模型 最基础的文本表示模型是词袋模型。顾名思…

Spring Security 6.x 系列(13)—— 会话管理及源码分析

一、会话概念 在实现会话管理之前,我们还是先来了解一下协议和会话的概念,连协议和会话都不知道是啥,还谈啥管理。 1.1 http 协议 因为我们现在的会话,基本上都是基于HTTP协议的,所以在讲解会话之前,我再…