欢迎光临
我们一直在努力

如何搭建并使用GPU云主机?

GPU云主机搭建教程

在当今人工智能迅速发展的时代,大型 AI 模型成为了关键工具,这些庞大的模型需要巨大的计算资源和存储空间,因此搭建并运行这些模型通常需要强大的计算能力,这可以通过云计算服务来实现,从性能上看,GPU 云主机是最适合的工具之一,对于业务方或个人开发者而言,使用 GPU 云主机搭建 AI 大语言模型具有以下优势:

1、高性能计算:GPU 云主机提供高性能的 GPU 处理器,能够加速模型的训练和推理过程。

2、高性价比:灵活的资源管理、可扩展性和弹性伸缩等云计算优势,使得用户可以根据需求快速调整计算资源,满足模型的训练和部署需求。

如何搭建并使用GPU云主机?

3、开放性:云计算的开放性让用户更容易进行资源共享和协作,为 AI 模型的研究和应用提供了更广泛的合作机会。

4、丰富的 API 和 SDK:云计算厂商提供了丰富的 API 和 SDK,使得用户能够轻松地接入云平台的各种服务和功能,进行定制化开发和集成。

本教程将以 chatglm6b 为例,详细介绍如何使用 GPU 云主机搭建 AI 大语言模型,并使用 Flask 构建前端界面与该模型进行对话,整个流程包括配置 GPU 云主机、搭建 JupyterLab 开发环境、安装 ChatGLM 以及用 Flask 输出模型 API。

如何搭建并使用GPU云主机?

一、配置 GPU 云主机

GPU 云主机(GPU Cloud Virtual Machine)是一种提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,在深度学习、科学计算、图形图像处理、视频编解码等场景被广泛使用,GPU 驱动提供大量的 GPU 内存和强悍的计算性能,非常适合运行深度学习应用程序,相对于实体卡,一张售价一般都是几万左右,而 GPU 云主机费用门槛很低,按时计费,一小时才十几元,可以根据自己的需求调配。

本次选取的是 P40 卡:[京东云](https://www.jdcloud.com/cn/calculator/calHost)

系统环境:Ubuntu 20.04 64位

如何搭建并使用GPU云主机?

二、搭建 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

如何搭建并使用GPU云主机?

2、进行环境变量设置

   cd /root/anaconda3/bin
   vim ~/.bashrc

在 .bashrc 下添加以下内容:

   # Anaconda
   export PATH="/root/anaconda3/bin:$PATH"

3、创建 Conda 环境

如何搭建并使用GPU云主机?

   conda create n jabari python=3.8  # 安装 python3.8 版本

4、生成配置文件

   jupyter lab generateconfig

这将生成默认配置文件到/root/.jupyter/jupyter_lab_config.py

5、编辑配置文件

如何搭建并使用GPU云主机?

   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。

如何搭建并使用GPU云主机?

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、安装语言依赖

如何搭建并使用GPU云主机?

   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

如何搭建并使用GPU云主机?

   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、创建前端页面

如何搭建并使用GPU云主机?

在项目目录下创建一个名为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云主机?

通过以上步骤,我们已经成功在 GPU 云主机上搭建了 JupyterLab 开发环境,安装了 ChatGLM6B 语言模型,并使用 Flask 构建了一个简单的前端界面与该模型进行对话,整个过程不仅展示了如何利用云计算的强大计算能力来运行复杂的 AI 模型,还提供了一个实用的示例,帮助用户理解和掌握相关的技术和工具,希望这篇教程对你有所帮助!

小伙伴们,上文介绍了“gpu云主机搭建怎么使用”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《如何搭建并使用GPU云主机?》
文章链接:https://yuyunkj.com/article/8957.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发