科技的巨轮滚滚而来,据不完全统计,中国已经发布了近40个类ChatGPT的大模型产品,从文本生成、专业翻译到图片视频的生成剪辑,AI大模型水平已进入了百花齐放的阶段,达到可商业化水平。“逆势而为,不如审时度势,顺流而下”,未来必定是属于善于使用大模型的人,今天我们尝试对其进行探索性实验,来更了解大模型的特性。
▋ 大模型使用的三个阶段
大模型的使用必将包含三个阶段:
直接使用
使用 API 定制自己的应用
离线部署+微调,实现私有数据模型化
我们将分阶段讨论大模型的离线部署+微调,今天先从0开始离线部署大模型。
【环境安装和配置】
本文以清华大学开源的 ChatGLM-6B 语言模型为例。ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署。
实验使用的环境如下:
Windows11
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
【安装依赖】
cd ChatGLM-6B
pip install -r requirements.txt
【下载模型】
代码在执行时默认自动下载模型。如果没有使用魔法,你需要手动下载模型。在 清华大学云盘 下载模型,假设下载到 D:\chatglm-6b-models
python
hello world
依次输入下列代码:
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 微调的详细操作,敬请期待。
听说,ChatGPT-4改写名著了?——《程序员“孔乙己”脱不掉的格子衫》