【写在前边】
科技的巨轮滚滚而来,据不完全统计,中国已经发布了近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天内进行。