【大模型-第一篇】在阿里云上部署ChatGLM3

news2024/11/24 9:05:36

前言

好久没写博客了,最近大模型盛行,尤其是ChatGLM3上线,所以想部署试验一下。
本篇只是第一篇,仅仅只是部署而已,没有FINETUNE、没有Langchain更没有外挂知识库,所以从申请资源——>开通虚机——>部署GLM3全程只用了18分钟,后面试通其它步骤后,会继续写的。

本篇文章参考了 程序员树先生 的“免费部署一个开源大模型 MOSS”
同时也参考了GLM3的github说明

一、申请阿里云机器学习平台PAI

本来是想在本地部署学习的,但是笔记本电脑只是3060的消费显卡,又搞不到A100甚至A10都搞不到,正好阿里云有3个月免费的GPU资源可以体验,所以正好一试。
只要没有申请过 PAI-DSW 资源的新老用户皆可申请 5000CU 的免费额度,3个月内使用。
免费试用活动页: https://free.aliyun.com/

1、申请资源

在这里插入图片描述
具体申请步骤我就不多做阐述了,大家可以参考上面树先生的文章,虽然有一些小出入,但大体是一样的。

2、创建实例(大概率是容器)

在这里插入图片描述
注1:GPU规格可以选择V100的这个(A10资源很少,即使申请成功了,后面重启经常没资源)。
因为比较贵,如果一直开着的话,15天就用完了。好在阿里云有“闲置关机策略”,系统会不定期对实例进行闲置检测判断,对于闲置实例做自动关机处理。不过为了以防万一,仍然建议及时主动关机
在这里插入图片描述
注2:因为GLM3对pytorch、cuda的版本有要求,所以建议选择官方镜像里的较新的版本,比如:
pytorch2.0.1tensorflow2.13.0-cpu-py38-ubunt,否则后面必定会报错,提示版本老旧等问题。
或者也可以使用镜像URL:dsw-registry-vpc.cn-hangzhou.cr.aliyuncs.com/pai/modelscope:1.9.5-pytorch2.0.1tensorflow2.13.0-gpu-py38-cu118-ubuntu20.04
在这里插入图片描述

二、部署GLM3

部署GLM3,包括其它类似的开源大模型,步骤都是差不多的,毕竟这些高校/大厂都帮大家封装好了,所以并没有特别繁琐的步骤。
在我看来,主要就是三步:1、环境搭建;2、git下载GLM3(如果要本地化部署,还要下载模型);3、修改路径并启用

1、环境搭建

因为使用的是阿里云的PAI,默认已经帮我们配置好了环境变量、网络,装好了python甚至pytorch、tensorflow等等,所以这些正常比较麻烦的操作已经不需要我们再搞了。
进入虚机后,默认页面如下:
在这里插入图片描述
点击terminal进入,后面的步骤主要就是参考github上的GLM官方步骤了。

2、git下载GLM3(注:从这开始需要一点点的Linux基础)

2.1 git clone下载GLM3仓库

2.1.1首先git clone下载GLM3仓库,并切换到这个文件夹下
git clone https://github.com/THUDM/ChatGLM3
cd ChatGLM3

在这里插入图片描述

2.1.2 然后使用 pip 安装依赖:
pip install -r requirements.txt

2.2 git 下载本地模型

因为模型很大(总共11.6GB),github上很难下下来,所以曲线救国,从modelscope上git下载
在这里插入图片描述

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

这样,就会在ChatGLM3这个文件夹下,新出来一个chatglm3-6b文件夹
在这里插入图片描述

3、修改变量路径并启用

有2个文件需要修改变量路径,一个是ChatGLM3下的“web_demo.py”,另一个是chatgm3-6b下的“config.json”,都是把默认的“THUDM/”修改为“/mnt/workspace/”
这里的修改,可以使用vim,也可以直接左边栏双击打开文件修改(推荐)

3.1ChatGLM3/chatglm3-6b下的config.json

在这里插入图片描述

3.2 ChatGLM3下的web_demo.py

在这里插入图片描述

3.3 启动web_demo.py

在ChatGLM3目录下进行启动

python web_demo.py

在这里插入图片描述
直接点击上图第二个红框url,会跳转打开一个web UI,这样就完成了GLM3的大模型私有化部署
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Postgres主键自增时重复键违反唯一约束

错误: 重复键违反唯一约束\"bue_new_copy1_pkey\"\n 详细:键值\"(id)(31)\"已经存在\n 新增的数据的id跟表里面的数据id重复了,这种一般是手动导入数据或者复制表等情况造成的,直接修改表的序列为当前最大的id&#xf…

MCSM面板搭建教程和我的世界Paper服务器开服教程

雨云游戏云VPS服务器用Linux搭建MCSM面板和Minecraft Paper1.20.2服务器教程。 本教程演示安装的MC服是Paper 1.20.2版,其他版本也可以参考本教程,差别不大。 本教程使用Docker来运行mc服,可以方便切换不同Java版本,方便安装多个…

【GEE】9、在GEE中生成采样数据【随机采样】

1简介 在本模块中,我们将讨论以下概念: 如何使用高分辨率图像生成存在和不存在数据集。如何在要素类图层中生成随机分布的点以用作字段采样位置。如何根据参数过滤您的点以磨练您的采样位置。 华盛顿州白杨林旁的落基山麋鹿。 图片来源:美国…

2023.11.7: OpenAI DevDay总结

New Model:ChatGPT4.0 turbo 更长的context:支持长达128000个tokens的context 更好的控制方案: 更有利于API调用JSON Mode Function calling Reproducible outputs 通过一个seed使得模型的回答总是保持一致 Better Knowledge 支持知识检索…

阿里云服务器ECS经济型e实例和u1有什么区别?

阿里云服务器ECS经济型e实例和通用算力型u1实例有什么区别?如何选择?ECS经济型e实例是共享型云服务器,通用算力型u实例是企业级独享型云服务器,e实例性价比高,现在2核2G3M带宽一年99元,云服务器u1价格相对要…

阿里云通用算力型u1服务器和e实例有什么区别?选择攻略

阿里云服务器ECS经济型e实例和通用算力型u1实例有什么区别?如何选择?ECS经济型e实例是共享型云服务器,通用算力型u实例是企业级独享型云服务器,e实例性价比高,现在2核2G3M带宽一年99元,云服务器u1价格相对要…

数据结构:AVL树的旋转(高度平衡树)

1、AVL树简介 AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为1,所以它也被称为高度平衡树。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。AVL树得名于它的发明者G. M. Adelson-Velsky和E. M. Landis,他们…

vue-cal 使用教程

目录 0. 介绍及效果展示 1.vue2环境安装 2.页面引入 3.使用 4.效果图 0. 介绍及效果展示 vue-cal 组件比较灵活,可以随意切换年、月、周、日、时间历图,放几张截图看下效果 1.vue2环境安装 vue3直接可以看本文最下方的API,有详解 npm …

Apache RocketMQ - 概述

2022年,RocketMQ 5.0的正式版发布,相比于4.0版本而言,架构走向云原生化,并且覆盖了更多的业务场景。 如何从互联网时代演进到云时代? 1. 消息队列演进史 操作系统、数据库、中间件是基础软件的三驾马车,…

Python基础教程之十七:Python OrderedDict –有序字典

一个OrderedDict 维护插入顺序添加到字典中的项目。项目的顺序在迭代或序列化时也会保留。 1. Python OrderedDict示例 OrderedDict 是python collections模块的一部分。 要轻松构建OrderedDict,可以OrderedDict在collections模块中使用。 OrderedDictExample.p…

建造者模式(Builder Pattern)

建造者模式(Builder Pattern) 1、类型2、定义3、UML图4、四个角色5、代码6、应用场景 1、类型 创建型 解释:设计模式的创建性类型是一种软件设计模式,它专注于对象的创建机制,帮助我们更加灵活地创建对象实例。创建性…

Python基础教程之十六:Python multidict示例–将单个键映射到字典中的多个值

1.什么是multidict词典> 在python中,“ multidict ”一词用于指代字典,在字典中可以将单个键映射到多个值。例如 多重结构 multidictWithList {key1 : [1, 2, 3],key2 : [4, 5]}multidictWithSet {key1 : {1, 2, 3},key2 : {4, 5}}1. list如果要…

“隐身术”成现实,中科院院士现场表演

(图源:哔哩哔哩) 在“bilibili超级科学晚”活动现场,中国科学院院士褚君浩为我们揭示了“隐身术”的原理。原来,这种神奇的技能是一种科学手段。 褚君浩院士为大家介绍了一种名为“柱镜光栅”的特殊材料,柱…

2.docker镜像的导入导出

目录 概述docker 常用命令下载导出导入镜像结束 概述 docker 常用命令 本章节使用到的命令,总结在此,后面有使用案例。 命令作用docker images显示镜像docker rmi $(docker images -q)删除系统上所有的镜像docker rmi -f强制删除多个镜像 &#xff1a…

MYSQL函数,一篇文章看完!

做程序员的谁会离得开数据库呢?今天就来分享一下我整理的MySQL的常用函数,基本上囊括了平时要用的函数,它们已经陪我走过了不少年头了,风里来雨里去,缝缝补补又几年,希望能帮到你们! 如果数据库…

图解电商系统的架构演进

具体以商城为例, 展示web端应用的架构演变过程。 特点: 1、所有的功能集成在一个项目工程中。 2、所有的功能打在一个war包部署到服务器。 3、通过部署应用集群和数据库集群来提高系统的性能。 优点 1、项目架构简单,前期开发成本低&#xf…

Python基础教程之十九:Python优先级队列示例

1.什么是优先队列 优先级队列是一种抽象数据类型,类似于常规队列或堆栈数据结构,但每个元素还具有与之关联的“优先级”。在优先级队列中,优先级高的元素先于优先级低的元素提供。如果两个元素具有相同的优先级,则将根据其在队列…

Python机器学习算法入门教程(第四部分)

接着Python机器学习算法入门教程(第三部分),继续展开描述。 十九、信息熵是什么 通过前两节的学习,我们对于决策树算法有了大体的认识,本节我们将从数学角度解析如何选择合适的“特征做为判别条件”,这里…

pdf.js不分页渲染(渲染完整内容)

直接上代码 首先引入pdf.js 和 pdf.worker.js // 渲染pdf const pdfUrl test1.pdf, _targetDom pdf-container;pdfjsLib.getDocument(pdfUrl).promise.then(async doc > {let _i 0;for (let item of new Array(doc.numPages).fill()) {await renderOtherPage(doc, _i, _t…

Julia绘图初步:Plots

文章目录 基础绘图绘图类型点线参数三维绘图 Julia开发环境 基础绘图 Julia中最常用的绘图模块自然是Plots,点击]进入安装模式后,输入add Plots即可安装,装完之后按下退格键回到Julia环境,就可以调用了 using Plots x 0:0.1:1…