大模型部署手记(1)ChatGLM2+Windows GPU
1.简介:
组织机构:智谱/清华
代码仓:https://github.com/THUDM/ChatGLM2-6B
模型:THUDM/chatglm2-6b
下载:https://huggingface.co/THUDM/chatglm2-6b
镜像下载:https://aliendao.cn/models/THUDM/chatglm2-6b
硬件环境:暗影精灵7Plus
Windows版本:Windows 11家庭中文版 Insider Preview 22H2
内存 32G
GPU显卡:Nvidia GTX 3080 Laptop (16G)

torch推荐使用 2.0 及以上的版本,以获得最佳的推理性能 :

nvidia-smi

CUDA是12.2版本。
nvcc -V

nvcc显示CUDA 11.6版本。
查看Nvidia控制面板:

2.代码和模型下载:
下载代码仓:
git clone https://github.com/THUDM/ChatGLM2-6B

浏览器打开 https://huggingface.co/THUDMM/chatglm2-6b/tree/main,选择 Files and versions,将所有文件都下载下来:


或者换这个地址:
https://cloud.tsinghua.edu.cn/d/674208019e314311ab5c/?p=%2Fchatglm2-6b&mode=list

或者换这个地址:
https://aliendao.cn/models/THUDM/chatglm2-6b

可以切换到Linux,执行以下命令,从镜像下载模型:
cd /home1/zhanghui/aliendao
python3 model_download.py --mirror --repo_id THUDM/chatglm2-6b



实验表明镜像站下载大的模型文件大概率还是会出现下载卡住的情形。
将下载好的文件移动到 /home1/zhanghui/ChatGLM2-6B/THUDM/chatglm2-6b 目录下(gitattributes文件可以改名为 .gitattributes)

将前面从Linux上下载好的ChatGLM2-6b的模型文件传到 D:\ChatGLM2-6B 目录下:

3.安装依赖
进入Anaconda提示符界面:
conda create -n torch2.0 python=3.8

conda activate torch2.0
d:
cd ChatGLM2-6B
安装pip依赖:
pip install -r requirements.txt


4.部署验证
启动:
python web_demo.py

修改 web_demo.py,将模型路径改为文件路径:

重试:
python web_demo.py

查看 https://betheme.net/qianduan/121637.html
降级一下transformers试试:
pip install transformers==4.26.1 -i https://pypi.tuna.tsinghua.edu.cn/simple

重试:
python web_demo.py

这个torch安装的是一个非GPU的版本啊。
参考:https://pytorch.org/get-started/locally/

安装GPU版本的pytorch:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

重试:
python web_demo.py

错误还是一样的。
换种方法,使用conda方式安装pytorch 2.0.1 for CUDA 11.8版本:

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



安装的是pytorch2.0.1+torchvision 0.15.2


重试:
python web_demo.py

pip install chardet

重试:
python web_demo.py

终于启动起来了。
浏览器打开 http://127.0.0.1:7860

感觉有点奇怪,回答怎么没有呢?

换成streamlit方式启动试试吧:
streamlit run web_demo2.py

根据提示,使用浏览器打开 http://127.0.0.1:8501/

问两个问题吧:

回答的时候,GPU情况如下:

可以接着问:

好了,你知道得太多了。该睡觉了。
(全文完,谢谢阅读)
相关文章:
大模型部署手记(1)ChatGLM2+Windows GPU
1.简介: 组织机构:智谱/清华 代码仓:https://github.com/THUDM/ChatGLM2-6B 模型:THUDM/chatglm2-6b 下载:https://huggingface.co/THUDM/chatglm2-6b 镜像下载:https://aliendao.cn/models/THUDM/chat…...
Rust Rocket: 构建Restful服务项目实战
前言 这几天我的笔记系统开发工作进入了搬砖期,前端基于Yew,后端基于Rocket。关于Rocket搭建Restful服务,官方也有介绍,感觉很多细节不到位。因此我打算花2到3天的时间来整理一下,也算是对自己的一个交代。 对于有一…...
苹果签名有多少种类之TF签名(TestFlight签名)是什么?优势是什么?什么场合需要应用到?
(一)TestFlight 能够让您:邀请内部和外部的测试人员为应用程序提供反馈。 跟踪应用程序在测试过程中发现的 bug 和用户体验问题。 收集 Crash 报告,了解应用程序在真实设备上的运行状况。 要使用 TestFlight,您可以按照…...
如何将图片存到数据库(以mysql为例), 使用ORM Bee更加简单
如何将图片存到数据库 1. 创建数据库: 2. 生成Javabean public class ImageExam implements Serializable {private static final long serialVersionUID 1596686274309L;private Integer id;private String name; // private Blob image;private InputStream image; //将In…...
【“栈、队列”的应用】408数据结构代码
王道数据结构强化课——【“栈、队列”的应用】代码,持续更新 链式存储栈(单链表实现),并基于上述定义,栈顶在链头,实现“出栈、入栈、判空、判满”四个基本操作 #include <stdio.h> #include <…...
es的nested查询
一、一层嵌套 mapping: PUT /nested_example {"mappings": {"properties": {"name": {"type": "text"},"books": {"type": "nested","properties": {"title": {"t…...
<一>Qt斗地主游戏开发:开发环境搭建--VS2019+Qt5.15.2
1. 开发环境概述 对于Qt的开发环境来说,主流编码IDE界面一般有两种:Qt Creator或VSQt。为了简单起见,这里的操作系统限定为windows,编译器也通用VS了。Qt版本的话自己选择就可以了,当然VS的版本也是依据Qt版本来选定的…...
python:进度条的使用(tqdm)
摘要:为python程序进度条,可以知道程序运行进度。 python中,常用的进度条模块是tqdm,将介绍tqdm的安装和使用 1、安装tqdm: pip install tqdm2、tqdm的使用: (1)在for循环中的使用࿱…...
Java类型转换和类型提升
目录 一、类型转换 1.1 自动类型转换(隐式) 1.1.1 int 与 long 之间 1.1.2 float 与 double 之间 1.1.3 int 与 byte 之间 1.2 强制类型转换(显示) 1.2.1 int 与 long 之间 1.2.2 float 与 double 之间 1.2.3 int 与 d…...
C# 读取 Excel xlsx 文件,显示在 DataGridView 中
编写 read_excel.cs 如下 using System; using System.Collections.Generic; using System.ComponentModel; using System.IO; using System.Data; using System.Linq; using System.Text; using System.Data.OleDb;namespace ReadExcel {public partial class Program{static…...
Docker02基本管理
目录 1、Docker 网络 1.1 Docker 网络实现原理 1.2 Docker 的网络模式 1.3 网络模式详解 1.4 资源控制 1.5 进行CPU压力测试 1.6 清理docker占用的磁盘空间 1.7 生产扩展 1、Docker 网络 1.1 Docker 网络实现原理 Docker使用Linux桥接,在宿主机虚拟一个Docke…...
Scala第十章
Scala第十章 章节目标 1.数组 2.元组 3.列表 4.集 5.映射 6.迭代器 7.函数式编程 8.案例:学生成绩单 scala总目录 文档资料下载...
10.4 校招 实习 内推 面经
绿泡*泡: neituijunsir 交流裙 ,内推/实习/校招汇总表格 1、校招 | 集度2024届秋招正式启动(内推) 校招 | 集度2024届秋招正式启动(内推) 2、校招 | 道通科技2024秋季校园招聘正式启动啦! …...
从0开始深入理解并发、线程与等待通知机制(中)
一,深入学习 Java 的线程 线程的状态/生命周期 Java 中线程的状态分为 6 种: 1. 初始(NEW):新创建了一个线程对象,但还没有调用 start()方法。 2. 运行(RUNNABLE):Java 线程中将就绪(ready)和…...
UE5报错及解决办法
1、编译报错,内容如下: Unable to build while Live Coding is active. Exit the editor and game, or press CtrlAltF11 if iterating on code in the editor or game 解决办法 取消Enable Live Coding勾选...
怎么通过docker/portainer部署vue项目
这篇文章分享一下如何通过docker将vue项目打包成镜像文件,并使用打包的镜像在docker/portainer上部署运行,写这篇文章参考了vue-cli和docker的官方文档。 首先,阅读vue-cli关于docker部署的说明,上面提供了关键的几个步骤。 从上面…...
【面试经典150 | 矩阵】旋转图像
文章目录 写在前面Tag题目来源题目解读解题思路方法一:原地旋转方法二:翻转代替旋转 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带…...
机器人制作开源方案 | 家庭清扫拾物机器人
作者:罗诚、李旭洋、胡旭、符粒楷 单位:南昌交通学院 人工智能学院 指导老师:揭吁菡 在家庭中我们有时无法到一些低矮阴暗的地方进行探索,比如茶几下或者床底下,特别是在部分家庭中,如果没有及时对这些阴…...
C++算法 —— 动态规划(8)01背包问题
文章目录 1、动规思路简介2、模版题:01背包第一问第二问优化 3、分割等和子集4、目标和5、最后一块石头的重量Ⅱ 背包问题需要读者先明白动态规划是什么,理解动规的思路,并不能给刚接触动规的人学习。所以最好是看了之前的动规博客࿰…...
ASUS华硕天选4笔记本FA507NU7735H_4050原装出厂Win11系统
下载链接:https://pan.baidu.com/s/1puxQOxk4Rbno1DqxhkvzXQ?pwdhkzz 系统自带网卡、显卡、声卡等所有驱动、出厂主题壁纸、Office办公软件、MyASUS华硕电脑管家、奥创控制中心等预装程序...
从Buck电路到PCB布局:DCDC带载异常的硬件设计避坑手册
从Buck电路到PCB布局:DCDC带载异常的硬件设计避坑手册 在电源设计领域,Buck电路因其高效、紧凑的特性成为各类电子设备的首选方案。然而,许多工程师在初次接触DCDC转换器设计时,常常会遇到一个令人困惑的现象:空载测试…...
Ai人工智能知识补充
文章目录 1.5 数据与算法基础:智能系统的“燃料”与“引擎” 1.5.1 数据工程:从原始数据到模型“燃料”的全链路 1.5.2 算法模型构建:从问题定义到模型部署的“炼金术” 1.5.3 数据隐私与安全:在价值挖掘与权利保护间走钢丝 1.6 面临的主要挑战:通往真正智能之路的险阻 1.…...
STM32F103C8T6光敏云台DIY全流程:从硬件选型到代码调试(附避坑指南)
STM32F103C8T6光敏云台DIY全流程:从硬件选型到代码调试(附避坑指南) 去年夏天,我在阳台上搭建了一个小型太阳能发电系统,却发现电池板效率总是不稳定。经过观察发现,阳光角度变化导致光照强度差异显著。这个…...
颠覆传统数学输入:MathLive交互式公式编辑器三步实现跨平台数学表达
颠覆传统数学输入:MathLive交互式公式编辑器三步实现跨平台数学表达 【免费下载链接】mathlive A web component for easy math input 项目地址: https://gitcode.com/gh_mirrors/ma/mathlive 在数字化教育与科研领域,数学公式的编辑始终是制约效…...
关于我使用MinMix创建了一个Tailwindcss学习网站
一、语言特性:Java 26 与模式匹配进化 1.1 Java 26 语言级别支持 IDEA 2026.1 EAP 最引人注目的变化之一,就是新增 Java 26 语言级别支持。这意味着开发者可以提前体验和测试即将在 JDK 26 中正式发布的语言特性。 其中最重要的变化是对 JEP 530 的全…...
Windows 11 + VSCode + Conda:保姆级配置Depth-Anything-3环境,一次跑通不报错
Windows 11深度视觉开发环境搭建实战:从零配置Depth-Anything-3全流程指南 当我在深夜第三次面对满屏红色报错信息时,终于意识到AI视觉项目的环境配置从来不是简单的"复制粘贴命令"就能搞定。本文将带你完整走通Windows 11系统下使用VSCode和C…...
用Isaac Sim的Action Graph给ROS2机器人发布激光雷达数据:一个完整的传感器仿真流程
用Isaac Sim的Action Graph实现ROS2激光雷达数据仿真:从传感器配置到RViz可视化的全流程指南 在机器人开发和自动驾驶系统测试中,高保真的传感器仿真能够显著降低硬件成本和迭代周期。NVIDIA Isaac Sim作为一款强大的机器人仿真平台,与ROS2生…...
SpaceClaim流体域实战:从零到一构建仿真计算空间
1. 流体域基础概念与工程价值 第一次接触流体域这个概念时,我正对着电脑屏幕发愁——明明在物理世界里空气无处不在,为什么在仿真软件里非得画个"框"才能计算?这个看似简单的方盒子,后来成了我CFD生涯中最重要的"…...
KeyDecoder项目架构分析:理解Flutter应用的数据流与状态管理
KeyDecoder项目架构分析:理解Flutter应用的数据流与状态管理 【免费下载链接】KeyDecoder KeyDecoder app lets you use your smartphone or tablet to decode your mechanical keys in seconds. 项目地址: https://gitcode.com/gh_mirrors/ke/KeyDecoder Ke…...
解锁DeerFlow:零基础搭建智能研究环境完全指南
解锁DeerFlow:零基础搭建智能研究环境完全指南 【免费下载链接】deer-flow DeerFlow is a community-driven framework for deep research, combining language models with tools like web search, crawling, and Python execution, while contributing back to th…...
