搭建自己的AI实验环境

一、PC配置

AMD Ryzen 5 3500X 6-Core Processor   3.59 GHz

内存 32.0 GB

Windows 10 企业版

2张N卡:

NVIDIA GeForce RTX 3060 Ti  8G显存

NVIDIA GeForce RTX 3060  12G显存

大容量硬盘:12T

二、使用wsl安装Ubuntu虚机

打开powershell

安装ubuntu 22.04.2 LTS

命令:wsl --install

如果遇到异常报错,先用命令wsl --update更新wsl

在unbuntu上面安装ssh

参考Ubuntu安装ssh服务详细过程[通俗易懂]-腾讯云开发者社区-腾讯云

三、安装Visual Studio Code

Visual Studio Code – 代码编辑器 | Microsoft Azure

四、配置Visual Studio Code连接ubuntu

Visual Studio Code先安装如下插件

配置ssh

按照提示进行配置

例如:我的Ubuntu安装的时候用户名为gpu3060,密码为XXXXX,按提示一步步进行配置

五、安装conda

参考Ubuntu安装conda_没有金刚钻,也木有刷子的博客-CSDN博客

六、部署各种AI推理环境,以ChatGLM2-6B为例

ChatGLM2-6B
项目地址: https://github.com/THUDM/ChatGLM2-6B
ChatGLM2-6B 是开源中英双语对话模型 ChatGLM-6B 的第二代版本,在保留了初代模型对话流畅、部署门槛较低等众多优秀特性的基础之上, ChatGLM2-6B 引入了如下
新特性:
更强大的性能 :基于 ChatGLM 初代模型的开发经验,我们全面升级了 ChatGLM2-6B 的基座模型。 ChatGLM2-6B 使用了 GLM 的混合目标函数,经过了 1.4T 中英标识符
的预训练与人类偏好对齐训练,评测结果显示,相比于初代模型, ChatGLM2-6B MMLU +23% )、 CEval +33% )、 GSM8K +571% ) 、 BBH +60% )等数据集
上的性能取得了大幅度的提升,在同尺寸开源模型中具有较强的竞争力。
更长的上下文 :基于 FlashAttention 技术,我们将基座模型的上下文长度( Context Length )由 ChatGLM-6B 2K 扩展到了 32K ,并在对话阶段使用 8K 的上下文长度训
练,允许更多轮次的对话。但当前版本的 ChatGLM2-6B 对单轮超长文档的理解能力有限,我们会在后续迭代升级中着重进行优化。
更高效的推理 :基于 Multi-Query Attention 技术, ChatGLM2-6B 有更高效的推理速度和更低的显存占用:在官方的模型实现下,推理速度相比初代提升了 42% INT4
化下, 6G 显存支持的对话长度由 1K 提升到了 8K
更开放的协议 :依照 Apache-2.0 协议开源, ChatGLM2-6B 模型的权重的使用则需要遵循 Model License ChatGLM2-6B 权重对学术研究完全开放 ,在获得官方的书面许
可后,亦允许商业使用。
效果
相比于初代模型, ChatGLM2-6B 在多个维度的能力上,都取得了巨大的提升。
不足 :尽管模型在训练的各个阶段都尽力确保数据的合规性和准确性,但由于 ChatGLM2-6B 模型规模较小,且模型受概率随机性因素影响,无法保证输出内容的准确性,
且模型易被误导。

部署推理

项目地址: https://github.com/THUDM/ChatGLM2-6B
HuggingFace 地址: https://huggingface.co/THUDM/chatglm2-6b

环境配置

首先需要下载本仓库:
1 git clone https://github.com/THUDM/ChatGLM2-6B
2 cd ChatGLM2-6B 创建一个新的 conda 环境,并安装环境依赖

1 conda create -n chatglm2-6b python==3.9

2  pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/

模型下载

可以使用官方提供的地址,也可以从 huggingface 下载
官方提供模型下载地址: https://cloud.tsinghua.edu.cn/d/674208019e314311ab5c/
HuggingFace 模型下载地址:
https://huggingface.co/THUDM/chatglm2-6b
下载命令(需要提前安装 git-lfs ):
1 git clone https://huggingface.co/THUDM/chatglm2-6b.git
我下载到了 /mnt/i/ai-lab/ chatglm2-6b 路径下。

git-lfs安装

安装 git-lfs 两种方式,一种是通过命令直接安装,一种是下载到本地后安装:
直接通过命令安装: https://codeleading.com/article/2815391430/
1 # 先安装 git (如已安装可忽略)
2 sudo apt-get install git
3 # 安装 apt-get
4 curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
5 # 安装 git-lfs
6 sudo apt-get install git-lfs
7 # 初始化 git-lfs
8 git lfs install
如果上面方式出现网速慢等情况,可以尝试本地安装: https://www.cnblogs.com/allmignt/p/12353756.html
这里安装好 git-lfs 后,直接用 git clone 命令完成下载。

修改cli_demo.py相关参数

进入对应的conda环境里面运行

(base) gpu3060@XZ-5AHKVRE4AJ8Q:/mnt/i/AI-lab/ChatGLM2-6B$ conda info --envs
# conda environments:
#
base                  *  /home/gpu3060/anaconda3
ChatGLM-6B               /home/gpu3060/anaconda3/envs/ChatGLM-6B
chatglm2-6b              /home/gpu3060/anaconda3/envs/chatglm2-6b

(base) gpu3060@XZ-5AHKVRE4AJ8Q:/mnt/i/AI-lab/ChatGLM2-6B$ conda  activate chatglm2-6b
(chatglm2-6b) gpu3060@XZ-5AHKVRE4AJ8Q:/mnt/i/AI-lab/ChatGLM2-6B$ 

(chatglm2-6b) gpu3060@XZ-5AHKVRE4AJ8Q:/mnt/i/AI-lab/ChatGLM2-6B$ python cli_demo.py 
Loading checkpoint shards: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 7/7 [00:58<00:00,  8.40s/it]
欢迎使用 ChatGLM2-6B 模型,输入内容即可进行对话,clear 清空对话历史,stop 终止程序

用户:ChatGLM2-6B

ChatGLM:您好!很高兴见到您,欢迎问我任何问题。

用户:ChatGLM2-6B介绍一下吧

ChatGLM:ChatGLM2-6B 是一个人工智能助手,基于清华大学 KEG 实验室与智谱 AI 公司于 2023 年共同训练的语言模型 GLM2-6B 开发而成,可以针对用户的问题和要求提供适当的答复和支持。

用户:

查看显卡使用情况

(base) gpu3060@XZ-5AHKVRE4AJ8Q:~$ nvidia-smi 
Sat Sep 16 17:08:56 2023       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.54.03              Driver Version: 536.23       CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 3060 Ti     On  | 00000000:04:00.0  On |                  N/A |
|  0%   53C    P2              40W / 200W |   7079MiB /  8192MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
|   1  NVIDIA GeForce RTX 3060        On  | 00000000:07:00.0 Off |                  N/A |
|  0%   40C    P8               9W / 170W |   6053MiB / 12288MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
                                                                                         
+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A        23      G   /Xwayland                                 N/A      |
|    0   N/A  N/A      5263      C   /python3.9                                N/A      |
|    1   N/A  N/A        23      G   /Xwayland                                 N/A      |
|    1   N/A  N/A      5263      C   /python3.9                                N/A      |
+---------------------------------------------------------------------------------------+
(base) gpu3060@XZ-5AHKVRE4AJ8Q:~$ 

修改web_demo.py相关参数

(chatglm2-6b) gpu3060@XZ-5AHKVRE4AJ8Q:/mnt/i/AI-lab/ChatGLM2-6B$ python web_demo.py 
Loading checkpoint shards: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 7/7 [00:58<00:00,  8.31s/it]
/mnt/i/AI-lab/ChatGLM2-6B/web_demo.py:89: GradioDeprecationWarning: The `style` method is deprecated. Please set these arguments in the constructor instead.
  user_input = gr.Textbox(show_label=False, placeholder="Input...", lines=10).style(
Running on local URL:  http://127.0.0.1:7860

To create a public link, set `share=True` in `launch()`.


  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值