深度学习入门到放弃系列 - 阿里云人工智能平台PAI部署开源大模型chatglm3
通过深度学习入门到放弃系列 - 魔搭社区完成开源大模型部署调用 ,大概掌握了开源模型的部署调用,但是魔搭社区有一个弊端,关闭实例后数据基本上就丢了,本地的电脑无法满足大模型的配置,就需要去租用一些高性价比的GPU机器长期运行,起码数据和环境能长期存在。以我在阿里云人工智能平台 PAI部署和大家分享一下经验,其他平台自行尝试、选择。
免费算力平台
- 阿里云人工智能平台 PAI
- 阿里天池实验室
- Kaggle平台
- Colab(需要梯子)
付费算力平台
- AutoDL
- Gpushare Cloud
- Featurize
- AnyGPU
阿里云人工智能平台 PAI试用申请流程
我选择的是阿里云人工智能平台 PAI平台的免费算力平台,免费使用三个月,截止目前还很好抢,每天500份传送门。同时,也推荐一些其他的算力平台给大家自行选择。

建议选交互式建模PAI-DSW

立即试用!


创建规格的时候千万注意选择GPU-支持资源包抵扣的这种。

创建实例!

启动实例!

打开后界面和魔搭社区就比较类似了,有命令行、Notebook等。

环境搭建
- 新建账号:进来就已经是root账户了,需要创建一个用户。
# 添加一个新用户(如用户名为csdn)遇到执行
adduser csdn
# 将用户添加到 sudo 组
adduser csdn sudo
- 进来以后发现ll、source等命令都不能用,需要先把dash改成bash命令,参考source: not found问题处理。解决完重新打开命令行以后就是我现在的界面。

- 更换国内软件源
cd /ect/apt# 备份sources.list,以免出问题
sudo cp sources.list sources.list.backupvim sources.list# 复制到sources.list文件末尾
deb https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
- 安装vim编辑器、git
# 使用vi可跳过
sudo apt-get install vimsudo apt-get install git
- 系统软件更新
# 更新软件包列表
sudo apt update
# 执行更新命令
sudo apt upgrade
- 安装anaconda
# 下载安装包
wget https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh
# 执行安装命令
bash Anaconda3-2023.09.0-Linux-x86_64.sh
直到出现 yes no 选项,选择yes,再然后遇到路径/root/anaconda3,然后按“Enter”键使用Anaconda的默认安装位置/root/anaconda3下,然后等待安装结束。
- 配置环境变量
# 印象中不创建账号好像就没有bashrc的文件
vim ~/.bashrc
# 末尾添加anaconda3所在路径,和第六步路径一致
export PATH=/root/anaconda3/bin:$PATH
# 使环境变量的修改立即生效
source ~/.bashrc
- 安装之前需要配置一下conda,都说用国内镜像源,我试了没用
# 我用的这种方法
conda install -n base conda-libmamba-solver
# 设置全局使用libmamba
conda config --set solver libmamba
- conda创建虚拟环境
conda create --n chatglm3_test python=3.11
conda activate chatglm3_test
# 如果中间报错找不到activate命令,使用下面的命令试试
source /root/anaconda3/etc/profile.d/conda.sh
- 安装pytorch等依赖
nvidia-msi查看目前的cuda版本来选择对应的pytorch

# CUDA 11.8 根据我自己的版本我选择第一个就好了
conda install pytorch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 pytorch-cuda=11.8 -c pytorch -c nvidia
# CUDA 12.1
conda install pytorch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 pytorch-cuda=12.1 -c pytorch -c nvidia
# CPU Only
conda install pytorch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 cpuonly -c pytorch
- 验证GPU版本的PyTorch
import torch
print(torch.cuda.is_available())
如下图说明安装成功。

12. 下载ChatGLM3项目文件
git下载ChatGLM3项目文件时可能会出现Permission denied,参考解决办法 git报错Permission denied的解决方法
# 创建文件夹
mkdir /opt/chatglm3
# 切换到新建的目录下
cd /opt/chatglm3
# 下载ChatGLM3
git clone git@github.com:THUDM/ChatGLM3.git
# 升级pip版本
python -m pip install --upgrade pip
- 安装ChatGLM运行的项目依赖
cd /opt/chatglm3/ChatGLM3
# 安装依赖
pip install -r requirements.txt
- 安装模型权重文件
Git Large File Storage(Git LFS)是一种用于处理大文件的工具,在 Hugging Face等平台下载大模型时,通常需要安装 Git LFS,主要的原因是:Git 本身并不擅长处理大型文件,因为在 Git 中,每次我们提交一个文件,它的完整内容都会被保存在 Git 仓库的历史记录中。但对于非常大的文件,这种方式会导致仓库变得庞大而且低效。而 Git LFS, 就不会直接将它们的内容存储在仓库中。相反,它存储了一个轻量级的“指针”文件,它本身非常小,它包含了关于大型文件的信息(如其在服务器上的位置),但不包含文件的实际内容。当我们需要访问或下载这个大型文件时,Git LFS 会根据这个指针去下载真正的文件内容
实际的大文件存储在一个单独的服务器上,而不是在 Git 仓库的历史记录中。所以如果不安装 Git LFS 而直接从 Hugging Face 或其他支持 LFS 的仓库下载大型文件,通常只会下载到一个包含指向实际文件的指针的小文件,而不是文件本身。
# 安装git-lfs
sudo apt-get install git-lfs
# 初始化
git lfs install
# 魔搭平台下载模型权重文件,Hugging Face太慢了
git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git
目录结构如下图所示,chatglm3-6b目录为模型权重文件

- 运行ChatGLM3-6B模型
运行前需要改一下模型权重文件的路径,我们提前下载,改成本地的路径,否则会重新下载。

在basic_demo目录下运行cli_demo.py文件,能正常对话说明大功告成了!千万注意要sudo运行哈!

遇到的问题
问题一:Ubuntu下shell执行source命令报source: not found问题处理
问题二:conda: error: argument COMMAND: invalid choice: ‘activate‘

问题三:git报错Permission denied

问题四:conda下载文件慢
相关文章:
深度学习入门到放弃系列 - 阿里云人工智能平台PAI部署开源大模型chatglm3
通过深度学习入门到放弃系列 - 魔搭社区完成开源大模型部署调用 ,大概掌握了开源模型的部署调用,但是魔搭社区有一个弊端,关闭实例后数据基本上就丢了,本地的电脑无法满足大模型的配置,就需要去租用一些高性价比的GPU机…...
GPT-4o,AI实时视频通话丝滑如人类,Plus功能免费可用
不开玩笑,电影《她》真的来了。 OpenAI最新旗舰大模型GPT-4o,不仅免费可用,能力更是横跨听、看、说,丝滑流畅毫无延迟,就像在打一个视频电话。 现场直播的效果更是炸裂: 它能感受到你的呼吸节奏…...
【优选算法】——Leetcode——202—— 快乐数
目录 1.题目 2. 题⽬分析: 3.简单证明: 4. 解法(快慢指针): 算法思路: 补充知识:如何求⼀个数n每个位置上的数字的平⽅和。 总结概括 5.代码实现 1.C语言 2.C 1.题目 202. 快乐数 编写一个算法来…...
华大基因CEPO-尹烨说学习与生活
怎么去面对生活和事业中的不确定性? 尹烨说,人类能够对抗不确定性的唯一的办法是,去让自己充电。 主持人问他,“和你同年的也有很多人,他们也可能也在学习,你怎么就能够脱颖而出呢?” 他说&am…...
C#中json数据序列化和反序列化的最简单方法(C#对象和字符串的相互转换)
文章目录 将C#对象转换为json字符串Newtonsoft模块的安装用Newtonsoft将对象转换为json字符串 将json字符串转换为C#对象 将C#对象转换为json字符串 本介绍将基于C#中的第三方库Newtonsoft进行,因此将分为Newtonsoft模块的安装和使用两部分。该模块的优势在于只需要…...
logback 日志脱敏
工具类 CustomLogbackPatternLayoutEncoder.java import ch.qos.logback.classic.encoder.PatternLayoutEncoder;public class CustomLogbackPatternLayoutEncoder extends PatternLayoutEncoder {/*** 正则替换规则*/private LogbackReplaces replaces;/*** 使用自定义 MyLog…...
element-ui的表单中,输入框、级联选择器的长度设置
使用<el-col>控制输入框的长度 <el-form-item label"姓名" label-width"80px"><el-col :span"15"><el-input v-model"form.name" autocomplete"off"></el-input></el-col></el-form…...
深入了解 npm:Node.js 包管理工具详解
文章目录 一、npm 基本概念1.1 什么是 npm?1.2 package.json 文件 二、npm 常用命令2.1 初始化项目2.2 安装依赖2.2.1 安装单个包2.2.2 全局安装包2.2.3 安装开发依赖 2.3 移除依赖2.4 更新依赖2.5 查看已安装的包2.6 发布包 三、npm 高级用法3.1 使用 npm scripts3…...
记一次跨域问题
线上跨域问题,在自己配置确认没问题下,要及时找运维看看是不是nginx配置问题。 两个方面: 项目代码 nginx配置 SpringBoot 解决跨域问题的 5 种方案! SpringBoot解决CORS跨域问题 SpringBoot-实现CORS跨域原理及解决方案...
第9章 负载均衡集群日常维护
一个设计良好的高可用负载均衡集群,交付使用以后并不能一劳永逸。欲使其高效、稳定、持续对外服务,日常维护必不可少。 对于高可用负载均衡集群来说,有两种类型的维护形式:常规性维护与突发性维护。突发性维护一般指故障处理&…...
鸿蒙内核源码分析(消息封装篇) | 剖析LiteIpc(上)进程通讯内容
基本概念 LiteIPC是OpenHarmony LiteOS-A内核提供的一种新型IPC(Inter-Process Communication,即进程间通信)机制,为轻量级进程间通信组件,为面向服务的系统服务框架提供进程间通信能力,分为内核实现和用户…...
Charger之三动态电源路径管理(DPPM)
-----本文简介----- 主要内容包括: 领资料:点下方↓名片关注回复:粉丝群 硬件之路学习笔记公众号 Charger的动态电源路径管理(DPPM) 前篇内容:①电池管理IC(Charger)了解一下&…...
大数据模型的选择与安装
大数据模型的选择和安装是一个复杂的过程,涉及多个因素,包括模型的通用能力、特定任务的性能、数据效率、评估完整性、成本以及部署的硬件和软件环境。以下是一些关于大数据模型选择与安装的考虑因素和步骤: 选择大数据模型的考虑因素&#…...
React 之 lazy(延迟加载)(十七)
lazy 能够让你在组件第一次被渲染之前延迟加载组件的代码。 在组件外部调用 lazy,以声明一个懒加载的 React 组件: import { lazy } from react;const MarkdownPreview lazy(() > import(./MarkdownPreview.js)); 配合 Suspense 实现懒加载组件 //App.js imp…...
Node.js -- 会话控制
文章目录 1. 会话介绍2. cookie 相关操作2.1 cookie 设置2.2 删除 cookie2.3 获取cookie 3. session 相关操作4. cookie 和session 的区别5. 补充知识 -- CSRF跨站请求伪造6. token 1. 会话介绍 所谓会话控制就是对会话进行控制 HTTP是一种无状态的协议,它没有办法…...
做抖店不能踩的几个坑,新手要照做,老玩家要听劝~
我是王路飞。 很多人都说抖店的运营很简单,选选品、对接一下达人,就可以坐等店铺出单了。 这话骗骗还没开店的小白也就得了,但凡做抖店超过一个月的,都不会相信这句话。 细心耐心是做抖店最基本的态度。 拿到一个好结果的前提…...
【Kibana】快速上手Kibana平台(KQL)
文章目录 快速使用Kibana平台常用查询语句KQL基本查询覆合查询模糊查询 目前市面上大部分的公司的日志系统都是使用ELK系统,因此我们进行工作必须得掌握Kibana平台的基本使用,这里主要说明怎么“快速使用Kibana平台”以及记录一些常用的“KQL语言”。 快…...
全方位入门git-慕课网 笔记
目录 【上传github忽略某些文件】【配置用户名和邮箱】【想要删除不需要的文件时如何进行操作】【想要给文件重命名如何操作】【想要移动文件到其他位置时如何操作】【文件有变化时,如何查看前后变化】【操作失误的情况下如何实现一键还原】【不再追踪时如何实现撤销…...
使用 Docker 部署 TaleBook 私人书籍管理系统
1)项目介绍 GitHub:https://github.com/talebook/talebook Talebook 是一个简洁但强大的私人书籍管理系统。它基于 Calibre 项目构建,具备书籍管理、在线阅读与推送、用户管理、SSO 登录、从百度/豆瓣拉取书籍信息等功能。 友情提醒&#x…...
分布式系统的一致性与共识算法(一)
前言 etcd是线性一致性读,而zk却是顺序一致性读,再加上各种共识、强弱一致的名词,看到欸度时候总会混淆,这里会给出一些例子来帮助理解。 什么是一致性? 在谈到一致性这个词时,你会想到CAP理论的consist…...
2026届必备的六大AI写作助手推荐
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在现在这个人工智能生成内容已经被广泛运用的当下,降低AIGC检测概率的工具顺势冒…...
S-UI缓存策略设计:API响应与静态资源缓存
S-UI缓存策略设计:API响应与静态资源缓存 还在为S-UI面板加载缓慢而烦恼?本文将为你深度解析S-UI的缓存策略设计,帮你提升系统性能和用户体验。 读完本文你将获得: S-UI现有缓存机制全面解析静态资源优化配置技巧API响应缓存最…...
从物流小哥,转行网络安全,是我这辈子最成功的选择
从月薪4000的物流小哥成功转行到月入上万的网络安全工程师,我是怎么做到的,下面说说我的亲身经历。 我叫阿强,我是26岁转行学网安的。说实在,转行就是奔着挣钱去的。我三流大学毕业,物流专业,学习能力一般…...
宝塔Linux面板Bug修复:添加反向代理出错
起因 由于工作需要,在宝塔面板中创建一个反向代理的站点,结果每次都报错: 向宝塔论天提交了Bug,结果两天了还在审核中。 由于急用,因此不等官方修复了,自己动手修复! 故障原因 从报错信息可以看到&…...
数据仓库建模:事实表类型详解与选型实战指南
数据仓库建模:事实表类型详解与选型实战指南一、引言二、定义:什么是数据仓库事实表?三、数据仓库中三大核心事实表类型3.1 类型1:事务事实表(Transaction Fact Table)3.2 类型2:周期快照事实表…...
3个步骤掌握lx-music-desktop开源项目部署实践
3个步骤掌握lx-music-desktop开源项目部署实践 【免费下载链接】lx-music-desktop 一个基于 Electron 的音乐软件 项目地址: https://gitcode.com/GitHub_Trending/lx/lx-music-desktop lx-music-desktop是一款基于Electron开发的跨平台音乐软件,通过本指南你…...
SMUDebugTool系统调试实战指南:从问题诊断到性能优化的进阶之路
SMUDebugTool系统调试实战指南:从问题诊断到性能优化的进阶之路 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: h…...
证书创建方法说明
生成证书 方法一:合适(临时测试,不需要管理) 快速生成脚本(一键完成) 创建 create_lan_cert.sh: #!/bin/bash# 配置参数 IP_ADDR"192.168.1.100" # 修改为你的局域网IP DAYS365…...
什么是 Harness Engineering?OpenAI Codex 团队亲自给出答案
过去五个月,OpenAI 的一个团队做了一件听起来有点疯狂的事:从零开始交付一款软件产品的内测版本,全程没有一行代码是人手写的。 这不是玩具项目。这个产品有真实的内部日活用户和外部 Alpha 测试者,经历了完整的交付、部署、故障…...
破解Python加密包:PyInstxtractor的逆向侦探手记
破解Python加密包:PyInstxtractor的逆向侦探手记 【免费下载链接】pyinstxtractor PyInstaller Extractor 项目地址: https://gitcode.com/gh_mirrors/py/pyinstxtractor 作为一名逆向工程师,我经常遇到被PyInstaller加密打包的Python可执行文件。…...
