LLM大语言模型(一):ChatGLM3-6B本地部署

目录

前言

本机环境

ChatGLM3代码库下载

模型文件下载

修改为从本地模型文件启动

启动模型网页版对话demo

超参数设置

GPU资源使用情况 (网页对话非常流畅)

前言

LLM大语言模型工程化,在本地搭建一套开源的LLM,方便后续的Agent等特性的研究。

本机环境

CPU:AMD Ryzen 5 3600X 6-Core Processor

Mem:32GB

GPU:RTX 4060Ti 16G

ChatGLM3代码库下载

# 下载代码库
​git clone https://github.com/THUDM/ChatGLM3.git# 安装依赖
pip install -r requirements.txt

模型文件下载

建议从modelscope下载模型,这样就不用担心网络问题了。

模型链接如下: 

chatglm3-6b · 模型库 (modelscope.cn)

git lfs install
git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git

修改为从本地模型文件启动

修改此文件basic_demo/web_demo2.py

import os
import streamlit as st
import torch
from transformers import AutoModel, AutoTokenizer# 注意
# 注意
# 注意
# 注意
# 注意 也可以通过修改环境变量MODEL_PATH来实现
MODEL_PATH = os.environ.get('MODEL_PATH', '#注意-你的本地模型文件的文件夹-注意#')
TOKENIZER_PATH = os.environ.get("TOKENIZER_PATH", MODEL_PATH)
DEVICE = 'cuda' if torch.cuda.is_available() else 'cpu'

启动模型网页版对话demo

pip install -U streamlit 

可以通过以下命令启动基于 Streamlit 的网页版 demo:

# 进入下载的代码库
cd ChatGLM3# 用streamlit启动服务
streamlit run basic_demo/web_demo2.py

网页版 demo 会运行一个 Web Server,并输出地址。在浏览器中打开输出的地址即可使用。 经测试,基于 Streamlit 的网页版 Demo 会更流畅。

streamlit启动效果:

聊天窗口效果:

超参数设置

ChatGLM3-6B共有以下参数可以设置

  • max_length: 模型的总token限制,包括输入和输出的tokens

  • temperature: 模型的温度。温度只是调整单词的概率分布。其最终的宏观效果是,在较低的温度下,我们的模型更具确定性,而在较高的温度下,则不那么确定。

  • top_p: 模型采样策略参数。在每一步只从累积概率超过某个阈值 p 的最小单词集合中进行随机采样,而不考虑其他低概率的词。只关注概率分布的核心部分,忽略了尾部部分。

对于以下场景,我们推荐使用这样的参数进行设置

Use Case

temperature

top_p

任务描述

代码生成

0.2

0.1

生成符合既定模式和惯例的代码。 输出更确定、更集中。有助于生成语法正确的代码

创意写作

0.7

0.8

生成具有创造性和多样性的文本,用于讲故事。输出更具探索性,受模式限制较少。

聊天机器人回复

0.5

0.5

生成兼顾一致性和多样性的对话回复。输出更自然、更吸引人。

调用工具并根据工具的内容回复

0.0

0.7

根据提供的内容,简洁回复用户的问题。

代码注释生成

0.1

0.2

生成的代码注释更简洁、更相关。输出更具有确定性,更符合惯例。

数据分析脚本

0.2

0.1

生成的数据分析脚本更有可能正确、高效。输出更确定,重点更突出。

探索性代码编写

0.6

0.7

生成的代码可探索其他解决方案和创造性方法。输出较少受到既定模式的限制。

GPU资源使用情况 (网页对话非常流畅)

模型加载后GPU显存使用情况,约使用14G显存。

推理过程GPU使用情况, GPU使用率约88%

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

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

相关文章

【MATLAB】SSA+FFT+HHT组合算法

有意向获取代码,请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 SSAFFTHHT组合算法是一种基于奇异谱分析(SSA)、快速傅里叶变换(FFT)和希尔伯特-黄变换(HHT)的组合算法。 其中&am…

搭梯子之后电脑连接WIFI打不开浏览器网页:远程计算机或者设备不接受连接

问题描述: 打不开网页,但是能正常使用微信等app windows网络诊断: 远程计算机或者设备不接受连接 解决办法: 电脑搜索【internet选项】 进入连接,点击局域网设置,将里面的代理服务器选项关掉就可以正常打开…

西南科技大学模拟电子技术实验五(集成运算放大器的应用设计)预习报告

一、计算/设计过程 设计一:用集成运放设计一个输入为0.05v,放大为-100的反相比例运算电路。 对于理想电路,反相比例运算电路的输出电压与输入电压之间的关系如下: =-100,所以 =100 若是假定R1为100k,则R2= =1k 为了减小输入级偏置电流引起的运算误差,在同相输入端…

103.进程概述

目录 1.并行和并发 区别: 2.PCB 3.进程状态 4. 进程命令 从严格意义上来讲,程序和进程是两个不同的概念,他们的状态,占用的系统资源都是不同的。 程序:程序是一种静态实体,是存储在计算机存储介质上的…

Android Glide自定义AppCompatImageView切分成若干小格子,每个小格子onDraw绘制Bitmap,Kotlin(1)

Android Glide自定义AppCompatImageView切分成若干小格子,每个小格子onDraw绘制Bitmap,Kotlin(1) 垂直方向的RecyclerView,每行一个AppCompatImageView,每个AppCompatImageView被均匀切割成n个小格子&#…

提高工厂能源效率的关键:工厂能耗监测平台

工业做为能源消耗的重要场所,所以节能减排对工业来讲是一个亟需解决的问题。除了对设备进行更新换代外,还需要能源管理消耗监测平台,帮助企业实现节能减排的目标。 工厂能源消费量非常庞大,能源比较难以监测与控制。传统能源的管…

P6 Linux 系统中的文件类型

目录 前言 ​编辑 01 linux系统查看文件类型 02 普通文件 - 03 目录文件 d 04 字符设备文件 c 和块设备文件 b 05 符号链接文件 l 06 管道文件 p 07 套接字文件 s 总结 前言 🎬 个人…

Python+requests+unittest执行接口自动化测试详情

1、安装requests、xlrd、json、unittest库 <1>pip 命令安装&#xff1a; pip install requests pip install xlrd pip install json pip install unittest 2、创建六类Python Package 利用Page Object Model 设计理念创建六类Python Package(也可根据项目要求具体实施)…

Linux环境变量与命令行参数

Linux环境变量与命令行参数 一.命令行参数1.语法2.应用1:简易计算器 二.环境变量1.环境变量的概念2.环境变量的作用3.进一步理解环境变量的作用4.常见环境变量5.导出环境变量(添加环境变量)6.环境变量的特性7.另一种获取环境变量的方式8.小功能:用于身份验证的代码9.补充:第三种…

Android--Jetpack--Lifecycle详解

富贵本无根&#xff0c;尽从勤里得 一&#xff0c;定义 Lifecycle 是一个具备宿主生命周期感知能力的组件。它持有组件&#xff08;Activity/Fragment&#xff09;生命周期状态信息&#xff0c;并且允许其观察者监听宿主生命周期状态变化。 顾名思义&#xff0c;Lifecycle的主…

【3DsMax】制作简单的骨骼动画

效果 步骤 首先准备4个板子模型展开放置好 添加一个4段的骨骼 选中其中的一块板子添加蒙皮命令 在蒙皮的参数面板中&#xff0c;设置每块板子对应哪块骨骼 设置好后你可以发现此时就已经可以通过骨骼来控制模型了 接下来就可以制作动画 点击左下角“时间配置”按钮 设置一下动…

网络程序设计

互相连接&#xff0c;发送信息 tcp和udp协议 tcp会有准备&#xff0c;udp不会准备。 8080端口&#xff1a;tomcat端口&#xff0c;java和web相连接 80端口&#xff1a;http 21端口&#xff1a;ftp 套接字 socket&#xff1a;提供给程序可以对外进行连接的接口 ip地址 …

Elk:filebeat 日志收集工具和logstash

Filebeat是一个轻量级的日志收集工具,所使用的系统资源比logstash部署和启动时使用的资源要小得多 Filebeat可以在非java环境使用&#xff0c;他可以代理logstash在非java环境上收集日志 缺点Filebeat无法实现数据的过滤,一般是结合logstash的 实验 ELK 企业级日志分析系统---…

Java第二十一章网络通信

一、网络程序设计基础 1、局域网与互联网 为了实现两台计算机的通信&#xff0c;必须用一个网络线路连接两台计算机&#xff0c;如下图所示。 2、网络协议 1.IP协议 IP指网际互连协议&#xff0c;Internet Protocol的缩写&#xff0c;是TCP/IP体系中的网络层协议。设计IP的目的…

C++ 拷贝构造函数

目录 拷贝构造函数概述 拷贝构造函数特性 拷贝构造函数概述 当我们定义好一个类&#xff0c;不做任何处理时&#xff0c;编译器会自动生成以下6个默认成员函数&#xff1a; 默认成员函数&#xff1a;如果用户没有手动实现&#xff0c;则编译器会自动生成的成员函数。 同样&…

Centos图形化界面封装OpenStack Ubuntu镜像

目录 背景 环境 搭建kvm环境 安装ubuntu虚机 虚机设置 系统安装 登录虚机 安装cloud-init 安装cloud-utils-growpart 关闭实例 删除细节信息 删除网卡细节 使虚机脱离libvirt纳管 结束与验证 压缩与转移 验证是否能够正常运行 背景 一般的镜像文件在上传OpenSt…

DBSCAN聚类算法学习笔记

DBSCAN聚类算法学习笔记 一些概念名词 MinPts&#xff1a;聚类在一起的点的最小数目&#xff0c;超过这一阈值才算是一个族群 核心点&#xff1a;邻域内数据点超过MinPts的点 边界点&#xff1a;落在核心点邻域内的点称为边界点 噪声点&#xff1a;既不是核心点也不是边界点的…

校园教务管理系统

学年论文&#xff08;课程设计&#xff09; 题目&#xff1a; 信息管理系统 校园教务管理系统 摘要&#xff1a;数据库技术是现代信息科学与技术的重要组成部分&#xff0c;是计算机数据处理与信息管理系统的核心&#xff0c;随着计算机技术的发展&#xff0c;数据库技…

OCP Java17 SE Developers 复习题08

答案 答案 答案 A. This code is correct. Line 8 creates a lambda expression that checks whether the age is less than 5, making option A correct. Since there is only one parameter and it does not specify a type, the parentheses around the parameter are …

h5如何跳转到微信公众号中

需求&#xff1a;点击按钮或者某个地方&#xff0c;弹出关注公众号的页面。&#xff08;h5跳转到微信公众号&#xff09; 需要什么&#xff1a;通过window.location.href来进行跳转。 因此&#xff0c;需要一个微信公众号链接。 一、打开想要跳转到的微信公众号的任何一篇文章&…