【记录】ChatGLM3-6B大模型部署、微调(一):部署

ChatGLM3介绍

        源码连接:

        ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的对话预训练模型。ChatGLM3-6B 是 ChatGLM3 系列中的开源模型,在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上,ChatGLM3-6B 引入了如下特性:

  1. 更强大的基础模型: ChatGLM3-6B 的基础模型 ChatGLM3-6B-Base 采用了更多样的训练数据、更充分的训练步数和更合理的训练策略。在语义、数学、推理、代码、知识等不同角度的数据集上测评显示,* ChatGLM3-6B-Base 具有在 10B 以下的基础模型中最强的性能*。
  2. 更完整的功能支持: ChatGLM3-6B 采用了全新设计的 Prompt 格式 ,除正常的多轮对话外。同时原生支持工具调用(Function Call)、代码执行(Code Interpreter)和 Agent 任务等复杂场景。
  3. 更全面的开源序列: 除了对话模型 ChatGLM3-6B 外,还开源了基础模型 ChatGLM3-6B-Base 、长文本对话模型 ChatGLM3-6B-32K 和进一步强化了对于长文本理解能力的 ChatGLM3-6B-128K。以上所有权重对学术研究完全开放 ,在填写 问卷 进行登记后亦允许免费商业使用

ChatGLM3-6B对话模型部署

推荐服务器环境

软件

  • pytorch2.1.2
  • tensorflow2.14.0
  • python310

硬件

  • 内存32G以上
  • GPU 1*NVIDIA V100
  • 显存16G以上(最低)

案例使用Notebook限免GPU环境

拉取github项目源码

#下载项目源码  建议在终端执行
#git clone https://github.com/THUDM/ChatGLM3.git
#若因为网络问题无法连接,建议使用gitee或者下载后上传

下载模型到本地

官网有多个下载地址,考虑网络原因使用modelscope

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


安装依赖

#安装python依赖 建议在终端执行  
pip install -r /mnt/workspace/ChatGLM3/requirements.txt

#如果报错 执行下面内容 隔离环境 如果无错误跳过环境隔离部分

此处python依赖包版本有问题,可能是安装的包与原环境中的包存在版本冲突。后续运行时会出现报错:“ImportError: cannot import name 'MultiModalData' from 'vllm.sequence' (/usr/local/lib/python3.10/dist-packages/vllm/sequence.py)” 

逐一解决比较麻烦,此处是测试直接进行环境隔离(也可以使用conda等方式)

# 环境隔离 终端执行
pip install virtualenv
virtualenv myenv
source myenv/bin/activate

再执行pip install -r /mnt/workspace/ChatGLM3/requirements.txt

修改模型路径

使用下载的本地模型路径

将THUDM/chatglm3-6b改为之前下载到本地的模型路径

启动对话程序测试

# 网页端启动
treamlit run /mnt/workspace/ChatGLM3/basic_demo/web_demo_streamlit.py

# 其他启动方式也在basic_demo中,可自行选择

总结

以上完成了ChatGLM3-6B本地模型的部署和简单测试。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

(几何:六边形面积)编写程序,提示用户输入六边形的边长,然后显示它的面积。

(几何:六边形面积)编写程序,提示用户输入六边形的边长,然后显示它的面积。计 算六边形面积的公式是: 这里的s就是边长。下面是一个运行示例 package myjava; import java.math.*; import java.util.Scanner; public class cy {public static void main(S…

Spring系统学习 -Spring IOC 的XML管理Bean之P命名空间、实现引入MySQL外部链接属性文件

P命名空间 在Spring框架中&#xff0c;P命名空间是一种用于简化XML配置文件中属性注入的方式。通过引入P命名空间&#xff0c;可以使用更简洁的语法来设置bean的属性值&#xff0c;而无需显式地使用<property>子元素。这使得XML配置文件更加简洁和易于阅读。 要在Sprin…

集合查询-并(UNION)集运算、交(INTERSECT)集运算、差(EXCEPT)集运算

一、概述 集合查询是对两个SELECT语句的查询结果进行再进行处理的查询 二、条件 1、两个SELECT语句的查询结果必须是属性列数目相同 2、两个SELECT语句的查询结果必须是对应位置上的属性列必须是相同的数据类型 三、并(UNION)运算 1、语法格式&#xff1a; SELECT 语句1…

闪灵CMS电子商城系统源码v5.0(自带微信小程序)

源码介绍 闪灵CMS电子商城系统源码&#xff0c;双语带手机版&#xff0c;PHPMYSQL进行开发&#xff0c;网站安装简单、快捷。 闪灵CMS系统更新日志 1.修复&#xff1a;修复了开启强制https后&#xff0c;说明文档重定向过多的问题 2.修复&#xff1a;修复了商品名称过长时无…

Vue2+Element-ui实现el-table表格自适应高度

效果图 新建指令 Vue.directive(height, {inserted(el, _binding, vnode) {const paginationRef vnode.context.$refs.paginationRefconst calculateHeight () > {const windowHeight window.innerHeightconst topOffset el.getBoundingClientRect().topconst otherEle…

智能座舱软件性能与可靠性的评估和改进

随着智能汽车的不断发展&#xff0c;智能座舱在性能与可靠性上暴露出体验不佳、投诉渐多的问题&#xff0c;本文从工程化的角度简述了如何构建智能座舱软件的评估框架&#xff0c;以及如何持续改进其性能和可靠性。 1. 智能座舱软件性能和可靠性表现不佳 据毕马威发布的《2023…

ComfyUI 完全入门:Refiner精炼器

在 SDXL基础模型1.0版本发布时&#xff0c;Stability AI 公司同时发布了一个名为SDXL Refiner的模型。这个Refiner模型是专门设计用来对基础模型生成的图像进行进一步优化和细化的&#xff0c;所以大家也经常称之为精炼器或者精修器。 Refiner模型的主要目的是提升图像的质量&…

写了6年SQL,推荐快速上手MySQL 的SQL语句

写了6、7年SQL&#xff0c;有写复杂&#xff0c;有写简单&#xff0c;但总体而言&#xff0c;基础是统一的&#xff0c;。就像编程之需要会加减乘除&#xff0c;用MySQL懂这些SQL就足够了。 目录 1. SELECT 查询2. WHERE 子句3. ORDER BY 子句4. GROUP BY 子句5. HAVING 子句6…

免费代理为什么不适合您的业务需求?

在数字时代&#xff0c;网络已经成为人们日常生活和商业活动中不可或缺的一部分。为了实现更广阔的业务拓展和更畅通的网络体验&#xff0c;许多人开始考虑使用代理服务器。然而&#xff0c;虽然免费代理可能听起来像是个经济实惠的选择&#xff0c;但事实上&#xff0c;它可能…

微服务开发与实战Day06 - MQ基础篇

一、MQ 高性能的异步通讯组件 课程背景 同步通讯&#xff1a;并发能力弱 异步通讯&#xff1a;并发能力强 1. 初始MQ 1.1 同步调用 以黑马商城的余额支付为例&#xff1a; &#xff08;1&#xff09;同步调用的优势是什么&#xff1f; 时效性强&#xff0c;等待到结果后才…

基于SSD的安全帽检测

目录 1. 作者介绍2. SSD算法介绍2.1 SSD算法网络结构2.2 SSD算法训练过程2.3 SSD算法优缺点 3. 基于SSD的安全帽检测实验3.1 VOC 2007安全帽数据集3.2 SSD网络架构3.3 训练和验证所需的2007_train.txt和2007_val.txt文件生成3.4 模型训练3.5 GUI界面3.6 结果展示3.7 文件下载 4…

【Unity+AI01】在Unity中调用DeepSeek大模型!实现AI对话功能!

要在Unity中调用DeepSeek的API并实现用户输入文本后返回对话的功能&#xff0c;你需要遵循以下步骤&#xff1a; 获取API密钥&#xff1a; 首先&#xff0c;你需要从DeepSeek获取API密钥。这通常涉及到注册账户&#xff0c;并可能需要订阅相应的服务。 集成HTTP请求库&#xf…

基于python多光谱遥感数据处理、图像分类、定量评估及机器学习

原文链接&#xff1a;基于python多光谱遥感数据处理、图像分类、定量评估及机器学习 普通数码相机记录了红、绿、蓝三种波长的光&#xff0c;多光谱成像技术除了记录这三种波长光之外&#xff0c;还可以记录其他波长&#xff08;例如&#xff1a;近红外、热红外等&#xff09;光…

pytorch神经网络训练(AlexNet)

导包 import osimport torchimport torch.nn as nnimport torch.optim as optimfrom torch.utils.data import Dataset, DataLoaderfrom PIL import Imagefrom torchvision import models, transforms 定义自定义图像数据集 class CustomImageDataset(Dataset): 定义一个自…

Ubuntu22.04 下 pybind11 搭建,示例

Pybind11 是一个轻量级的库&#xff0c;用于在 C 中创建 Python 绑定。Ubuntu22下安装pybind11步骤如下&#xff1a; 1. 安装 pybind11 1.1 pip 命令安装 pip3 install pybind11 1.2 源代码安装 安装依赖库&#xff1a; sudo pip install -i https://pypi.tuna.tsinghua.e…

AVR晶体管测试仪开源项目编译

AVR晶体管测试仪开源项目编译 &#x1f4cd;原项目地址&#xff1a;https://github.com/Mikrocontroller-net/transistortester/tree/master&#x1f33f; https://github.com/svn2github/transistortester&#x1f33f; https://github.com/wagiminator/ATmega-Transistor-Tes…

2. Revit API UI 之 IExternalCommand 和 IExternalApplication

2. Revit API UI 之 IExternalCommand 和 IExternalApplication 上一篇我们大致看了下 RevitAPI 的一级命名空间划分&#xff0c;再简单讲了一下Attributes命名空间下的3个类&#xff0c;并从一个代码样例&#xff0c;提到了Attributes和IExternalCommand &#xff0c;前者是指…

vite配置unocss

在vue3vitetseslintprettierstylelinthuskylint-stagedcommitlintcommitizencz-git介绍了关于vitevue工程化搭建&#xff0c;现在在这个基础上&#xff0c;我们增加一下unocss unocss官方文档 具体开发中使用遇到的问题可以参考不喜欢原子化CSS得我&#xff0c;还是在新项目中使…

NumPy和数组

1.NumPy是什么 NumPy&#xff08;Numerical Python的缩写&#xff09;是一个开源的Python科学计算模块&#xff0c;其中包含了许多实用的数学函数&#xff0c;用来处理数值型数据。NumPy中&#xff0c;最重要和使用最频繁的对象就是N维数组。 为什么要学习NumPy&#xff1f; …

Java高级技术探索:深入理解JVM内存分区与GC机制

文章目录 引言JVM内存分区概览垃圾回收机制&#xff08;GC&#xff09;GC算法基础常见垃圾回收器ParNew /Serial old 收集器运行示意图 优化实践结语 引言 Java作为一门广泛应用于企业级开发的编程语言&#xff0c;其背后的Java虚拟机&#xff08;JVM&#xff09;扮演着至关重…