Mac 配置 ChatGLM-6B 环境
背景
最近要做一些关于 NLP 相关的工作和比赛,因此要用到语义分析这类模型,ChatGPT 虽然很强大,奈何不太适合在工作和国内的环境中使用,因此需要用到一些平替的模型,比如 ChatGLM-6B。
什么是 ChatGLM-6B
官方仓库地址:GitHub - THUDM/ChatGLM-6B: ChatGLM-6B: An Open Bilingual Dialogue Language Model | 开源双语对话语言模型
ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。 ChatGLM-6B 使用了和 ChatGPT 相似的技术,针对中文问答和对话进行了优化。经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答,更多信息请参考我们的博客。
为了方便下游开发者针对自己的应用场景定制模型,我们同时实现了基于 P-Tuning v2 的高效参数微调方法 (使用指南) ,INT4 量化级别下最低只需 7GB 显存即可启动微调。
不过,由于 ChatGLM-6B 的规模较小,目前已知其具有相当多的局限性,如事实性/数学逻辑错误,可能生成有害/有偏见内容,较弱的上下文能力,自我认知混乱,以及对英文指示生成与中文指示完全矛盾的内容。请大家在使用前了解这些问题,以免产生误解。更大的基于 1300 亿参数 GLM-130B 的 ChatGLM 正在内测开发中。
引自官方 GitHub
看了一下官方的说明,是支持在消费级显卡上部署的,同时也支持 Mac M1,因此今天就和大家先体验一下,后面我们会慢慢的涉及到训练相关的内容。
基础环境准备
为了更好的发挥 Mac 显卡的作用,我们安装一下 PyTorch 的 PyTorch-Nightly 版本
基础的 Python 管理环境我们依然使用 miniconda 来管理

激活环境后我们继续安装 PyTorch


克隆项目到本地电脑
我将项目依然是保存在我的 T7 移动硬盘中(它最近承受的有点多,哈哈哈)


然后安装依赖包


看看效果
我们先在终端中启动一下 Python 环境,看看效果如果,在当前的虚拟环境中输入python,进入交互界面

按照官方提示一次输入一下内容
我们在输入第二行的代码是,会发现要去https://huggingface.co这个网站下载个模型
下载地址:https://huggingface.co/THUDM/chatglm-6b
我们可以用 git 直接 clone,但是在这之前需要安装git-lfs
,这个是用来克隆大文件用的。


按照提示更新一下即可
我们开始正式的克隆需要的模型


将模型下载到本地之后,将以上代码中的 THUDM/chatglm-6b
替换为你本地的 chatglm-6b
文件夹的路径,即可从本地加载模型。
我这边是直接将模型放在了 ChatGLM 的目录下了

版权声明: 本文为 InfoQ 作者【IT蜗壳-Tango】的原创文章。
原文链接:【http://xie.infoq.cn/article/f71813ca7b3cedd231600453a】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论