【写在前边】

科技的巨轮滚滚而来,据不完全统计,中国已经发布了近40个类ChatGPT的大模型产品,从文本生成、专业翻译到图片视频的生成剪辑,AI大模型水平已进入了百花齐放的阶段,达到可商业化水平。“逆势而为,不如审时度势,顺流而下”,未来必定是属于善于使用大模型的人,今天我们尝试对其进行探索性实验,来更了解大模型的特性。

▋ 大模型使用的三个阶段

大模型的使用必将包含三个阶段:直接使用、使用 API 定制自己的应用、离线部署+微调,实现私有数据模型化。我们将分阶段讨论大模型的离线部署+微调,今天先从0开始离线部署大模型。

【环境安装和配置】

本文以清华大学开源的ChatGLM-6B语言模型为例。ChatGLM-6B是一个开源的、支持中英双语的对话语言模型,基于General Language Model(GLM)架构,具有62亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署。

实验使用的环境如下:

- Windows 11

- Intel 13700KF

- 32G内存

- RTX 3090 24G显存

- ChatGLM-6B可在最小6GB显存运行。如果没有合适的显卡或者想体验完整版,可以购买云服务商的A100 GPU服务器试用。以阿里云为例,最便宜的每小时38元左右。

【安装 Python】

访问Python官网,下载并安装Python,记得选上“Add python.exe to PATH”。

【安装 CUDA】

由于PyTorch最新只能支持11.8的显卡驱动,不能安装最新版CUDA。访问Nvidia官网,下载11.8的CUDA Toolkit Archive。

【安装 PyTorch】

访问PyTorch官网,执行对应版本的安装命令。例如:

```

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

```

【安装 git】

访问git官网,下载git。

【部署代码】

1. Clone代码:使用git clone对应的代码:

```

git clone https://github.com/THUDM/ChatGLM-6B.git

```

2. 安装依赖:进入ChatGLM-6B目录,执行以下命令:

```

cd ChatGLM-6B

pip install -r requirements.txt

```

【离线部署+微调】

接下来我们将介绍如何对ChatGLM-6B进行离线部署和微调。

请根据以下内容完成重构,并保持段落结构:

```markdown

pip install -r requirements.txt

```

【下载模型】

在执行代码时,默认会自动下载模型。如果没有使用魔法命令,你需要手动下载模型。假设下载到 D:\chatglm-6b-models

在清华大学云盘上下载模型。【运行代码】

启动 Python:

```python

python

```

输出 "hello world"。依次输入下列代码:

```python

from transformers import AutoTokenizer, AutoModel

tokenizer = AutoTokenizer.from_pretrained(r'D:\chatglm-6b-models', trust_remote_code=True)

model = AutoModel.from_pretrained(r'D:\chatglm-6b-models', trust_remote_code=True).half().cuda()

model = model.eval()

response, history = model.chat(tokenizer, '你好', history=[])

print(response)

```

ChatGLM-6B 返回了 “你好👋!我是人工智能助手 ChatGLM-6B,很高兴见到你,欢迎问我任何问题。”。至此,大语言模型的离线部署就实现了。我们可以发挥我们的聪明才智,让它给我们工作了。

【长文本生成】

让 ChatGLM-6B 为我们生成一篇文章。经过大约10秒钟后,文章生成。看结果还是很不错的。在任务管理器里查看显卡运行情况,使用了约 13G 的显存。

【后记】

离线部署大预言模型还是比较简单的。这为我们后续的微调提供了基础。接下来,我们将为大家介绍 ChatGLM-6B 微调的详细操作,敬请期待。特别声明:以上内容仅代表作者本人的观点或立场,不代表新浪财经头条的观点或立场。如因作品内容、版权或其他问题需要与新浪财经头条联系的,请于上述内容发布后的30天内进行。