GPU云主机搭建教程
在当今人工智能迅速发展的时代,大型 AI 模型成为了关键工具,这些庞大的模型需要巨大的计算资源和存储空间,因此搭建并运行这些模型通常需要强大的计算能力,这可以通过云计算服务来实现,从性能上看,GPU 云主机是最适合的工具之一,对于业务方或个人开发者而言,使用 GPU 云主机搭建 AI 大语言模型具有以下优势:
1、高性能计算:GPU 云主机提供高性能的 GPU 处理器,能够加速模型的训练和推理过程。
2、高性价比:灵活的资源管理、可扩展性和弹性伸缩等云计算优势,使得用户可以根据需求快速调整计算资源,满足模型的训练和部署需求。

3、开放性:云计算的开放性让用户更容易进行资源共享和协作,为 AI 模型的研究和应用提供了更广泛的合作机会。
4、丰富的 API 和 SDK:云计算厂商提供了丰富的 API 和 SDK,使得用户能够轻松地接入云平台的各种服务和功能,进行定制化开发和集成。
本教程将以 chatglm6b 为例,详细介绍如何使用 GPU 云主机搭建 AI 大语言模型,并使用 Flask 构建前端界面与该模型进行对话,整个流程包括配置 GPU 云主机、搭建 JupyterLab 开发环境、安装 ChatGLM 以及用 Flask 输出模型 API。

一、配置 GPU 云主机
GPU 云主机(GPU Cloud Virtual Machine)是一种提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,在深度学习、科学计算、图形图像处理、视频编解码等场景被广泛使用,GPU 驱动提供大量的 GPU 内存和强悍的计算性能,非常适合运行深度学习应用程序,相对于实体卡,一张售价一般都是几万左右,而 GPU 云主机费用门槛很低,按时计费,一小时才十几元,可以根据自己的需求调配。
本次选取的是 P40 卡:[京东云](https://www.jdcloud.com/cn/calculator/calHost)
系统环境:Ubuntu 20.04 64位

二、搭建 JupyterLab 开发环境
1、下载 Anaconda 包
在终端里执行以下命令:
mkdir anaconda # 创建文件夹 cd anaconda # 进入文件夹 wget https://repo.anaconda.com/archive/Anaconda32023.03Linuxx86_64.sh # 下载安装包 bash Anaconda32023.03Linuxx86_64.sh # 安装
也可以用清华源,速度更快:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda32023.03Linuxx86_64.sh

2、进行环境变量设置
cd /root/anaconda3/bin vim ~/.bashrc
在 .bashrc 下添加以下内容:
# Anaconda export PATH="/root/anaconda3/bin:$PATH"
3、创建 Conda 环境

conda create n jabari python=3.8 # 安装 python3.8 版本
4、生成配置文件
jupyter lab generateconfig
这将生成默认配置文件到/root/.jupyter/jupyter_lab_config.py。
5、编辑配置文件

vim /root/.jupyter/jupyter_lab_config.py
修改以下内容:
c.ServerApp.ip = '*' # 设置访问的 IP 地址 c.ServerApp.open_browser = False # 不自动打开浏览器 c.ServerApp.port = 6888 # ServerApp 的端口号 c.MappingKernelManager.root_dir = '/root/jupyter_run' # 设置 Jupyter Notebook 的根文件夹 c.ServerApp.allow_remote_access = True # 允许远程访问 c.ServerApp.password = '' # 不设置登录密码 c.ServerApp.allow_origin='*' # 允许任何来源的请求 c.ServerApp.password_required = False # 不需要密码 c.ServerApp.token = '' # 不设置验证 token
6、启动 JupyterLab
jupyter lab allowroot
之后,在本地浏览器输入 "服务器 IP:端口号" 访问即可,http://你的服务器IP:6888。

7、安装中文语言包
pip install i https://pypi.tuna.tsinghua.edu.cn/simple jupyterlablanguagepackzhCN
三、开始安装 ChatGLM 语言模型
ChatGLM6B 是一个开源的、支持中英双语问答的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数,结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存),ChatGLM6B 使用了和 ChatGLM 相同的技术,针对中文问答和对话进行了优化,经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM6B 已经能生成相当符合人类偏好的回答。
1、安装语言依赖

pip install protobuf==3.20.0 transformers==4.27.1 icetk cpm_kernels
2、在 JupyterLab 中运行代码
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm6b", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/chatglm6b", trust_remote_code=True).half().cuda()
response, history = model.chat(tokenizer, "你好", history=[])
print(response)
response, history = model.chat(tokenizer, "晚上睡不着应该怎么办", history=history)
print(response)
四、用 Flask 输出模型 API
为了让用户能够通过网页与模型进行交互,我们可以使用 Flask 来构建一个简单的前端界面,以下是详细的步骤:
1、安装 Flask

pip install flask
2、创建 Flask 应用
创建一个名为app.py 的文件,并添加以下内容:
from flask import Flask, render_template, request, jsonify
from transformers import AutoTokenizer, AutoModel
app = Flask(__name__)
tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm6b", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/chatglm6b", trust_remote_code=True).half().cuda()
@app.route('/')
def home():
return render_template('index.html')
@app.route('/chat', methods=['POST'])
def chat():
data = request.json
query = data['query']
response, history = model.chat(tokenizer, query, history=[])
return jsonify({'response': response})
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
3、创建前端页面

在项目目录下创建一个名为templates 的文件夹,并在其中创建一个名为index.html 的文件,添加以下内容:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF8">
<meta name="viewport" content="width=devicewidth, initialscale=1.0">
<title>ChatGLM6B Chat</title>
</head>
<body>
<h1>Chat with ChatGLM6B</h1>
<form id="chatForm">
<input type="text" id="query" placeholder="Enter your message here..."/>
<button type="submit">Send</button>
</form>
<div id="response"></div>
<script>
document.getElementById('chatForm').addEventListener('submit', function(event) {
event.preventDefault();
var query = document.getElementById('query').value;
fetch('/chat', {
method: 'POST',
headers: {
'ContentType': 'application/json',
},
body: JSON.stringify({ query: query }),
})
.then(response => response.json())
.then(data => {
document.getElementById('response').innerText = data.response;
})
.catch(error => console.error('Error:', error));
});
</script>
</body>
</html>
4、运行 Flask 应用
python app.py
打开浏览器并访问 http://你的服务器IP:5000,即可看到一个简单的聊天界面,用户可以在其中输入消息并与 ChatGLM6B 模型进行交互。

通过以上步骤,我们已经成功在 GPU 云主机上搭建了 JupyterLab 开发环境,安装了 ChatGLM6B 语言模型,并使用 Flask 构建了一个简单的前端界面与该模型进行对话,整个过程不仅展示了如何利用云计算的强大计算能力来运行复杂的 AI 模型,还提供了一个实用的示例,帮助用户理解和掌握相关的技术和工具,希望这篇教程对你有所帮助!
小伙伴们,上文介绍了“gpu云主机搭建怎么使用”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。














