ChatGLM2-6B下载与部署

这篇具有很好参考价值的文章主要介绍了ChatGLM2-6B下载与部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0 写在前面

我们首先来看一下ChatGLM2-6B模型的requirements:

protobuf
transformers==4.30.2
cpm_kernels
torch>=2.0
gradio
mdtex2html
sentencepiece
accelerate
sse-starlette
streamlit>=1.24.0

可以看到,要求torch>=2.0,这就产生了一个问题:torchcuda版本的匹配问题。本地机器中CUDA=10.0,于是在费了半天时间配置好ChatGLM2-6B所需环境,从githubhuggingface下载好了ChatGLM2-6B模型,但是在run的过程中报错Torch not compiled with CUDA enabled,于是不得不卸载并重新安装CUDA因此提醒各位看官,在配置前,请一定检查torch和cuda版本是否匹配**。torch2.0所需的版本为cuda 11.x,其中cuda 11.7cuda 11.8都是可以的。
所以我们先从CUDA卸载与安装说起,如果不存在cuda版本匹配问题,可以略过此步。

1 CUDA卸载与安装

1.1 cuda版本查看

查看本机所支持的最高版本:cmd->nvidia-smi,其中红色框中的是本机支持的最高版本的cuda
ChatGLM2-6B下载与部署,python,语言模型
查看本机当前版本:cmd->nvcc --version,可以看到,当前版本为cuda_11.8(这是升级更新以后的结果)
ChatGLM2-6B下载与部署,python,语言模型

1.2 cuda卸载

用windows的控制面板进行卸载,搜索cuda(右上角),把和cuda相关的都卸载掉,注意只卸载cuda相关程序,NVIDIA相关的驱动等,如果拿不准,建议不要动,维持原状。
ChatGLM2-6B下载与部署,python,语言模型

1.3 cuda安装:

cuda官网下载地址:https://developer.nvidia.com/cuda-downloads
这里我选择11->exe(local),如果想要查看下载所有历史版本,可以点击Archive of Previous CUDA Releases
ChatGLM2-6B下载与部署,python,语言模型
以管理员身份运行cuda_11.8.0_522.06_windows.exe,过程中可以选择自定义安装,由于我只卸载了cuda,因此也只安装cuda,其他的几个选项勾选掉了。安装路径为C:\Program Files\NVIDIA GPU Computing Toolkit
ChatGLM2-6B下载与部署,python,语言模型
安装过程大约10分钟左右,中途出现了以下问题,原因是安装过程中需要在系统环境变量path变量中写入以下路径,但由于我的path变量超限,写不进去,于是安装程序提示让在安装完成后手动在path变量中写入这两个路径。
由此引发另一个问题:path变量超限问题,关于这个问题,网上有说修改注册表的,有说直接在注册表中的path中写入路径的,最后采用的是这个方法,亲测有效。
ChatGLM2-6B下载与部署,python,语言模型
环境变量问题解决掉后,重启电脑,打开cmd测试一下,如果cmd->nvidia-smicmd->nvidia-smi可用并且显示相关信息,说明cuda升级更新成功!

2 ChatGLM2-6B下载

B站有一个官网的教程可参考:视频教程
github上把项目拖下来,然后在项目所在路径下面,创建虚拟环境venv,在该环境下安装项目所需的依赖requirements.txt,这两步怎么做,可以参考我以前的教程Anaconda3安装配置/创建删除虚拟环境/在特定虚拟环境下安装库,以及这里ChatGLM2-6B下载与部署,python,语言模型
值得注意的是:torch的安装,建议用官网给的命令:https://pytorch.org/get-started/pytorch-2.0/#faqs,以避免不必要的麻烦。
即:
pip3 install numpy --pre torch torchvision torchaudio --force-reinstall --index-url https://download.pytorch.org/whl/nightly/cu118
文件有2.7GB大小,下载略慢,如下图。
ChatGLM2-6B下载与部署,python,语言模型
项目路径D:\Code\ChatGLM2-6B,文件结构如下,其中THUDM文件夹和venv文件夹是自己创建的,THUMD用于存放从预训练模型。
ChatGLM2-6B下载与部署,python,语言模型

3 从Huggingface下载预训练模型

下载预训练模型,有3种方式:

3.1. 方式1:代码直接调用

方式1:代码直接调用,前提是可以(科学上网)访问Huggingface
ChatGLM2-6B下载与部署,python,语言模型

3.2. 方式2:手动从Huggingface上下载

Huggingface上的项目地址:https://huggingface.co/THUDM/chatglm2-6b
ChatGLM2-6B下载与部署,python,语言模型
Huggingface上面,项目的完整目录如图
ChatGLM2-6B下载与部署,python,语言模型

3.3. 方式3:从清华云盘下载

从清华云盘将所有下面的文件下载下来,放进D:\Code\ChatGLM2-6B\THUDM\chatglm2-6b这个目录,THUDM\chatglm2-6b这个目录是自己创建的。
ChatGLM2-6B下载与部署,python,语言模型
这还不够,需要从Huggingface项目地址中,将其余的一些配置文件下载补全,一起放进D:\Code\ChatGLM2-6B\THUDM\chatglm2-6b这个目录。(为什么一部分从清华云盘下,一部分从huggingface下??因为内网从huggingface下载的速度非常非常慢,所以几个大的1G以上的文件从清华云盘下载了,但清华云盘上没有给所需的配置文件如config.json,导致模型跑不起来,所以一些小的几个KB的配置文件从huggingface下载了,嗯…就这么回事)。

3.4 检查目录结构

检查一下自己的存放预训练模型的文件夹结构,如下:
ChatGLM2-6B下载与部署,python,语言模型

4 运行与测试ChatGLM2-6B

在pycharm中打开该项目,写了一个很简单的测试脚本Test.py,向它提问晚上睡不着该咋办,运行项目后,ChatGLM2-6B给出答案,在这个过程中,加载模型的checkpoints需要约半分钟时间,模型推理需要约半分钟时间才能给出答案(台式机,一张NVIDIA GeForce RTX 2080Ti显卡,16GB内存)
ChatGLM2-6B下载与部署,python,语言模型
ChatGLM2-6B下载与部署,python,语言模型
再测试一个,向它提问:飞机是怎么装配的,回答如下
ChatGLM2-6B下载与部署,python,语言模型

Chatglm2-6B的微调

5. 写在后面

安装过程中的bug总结如下:

  1. cannot import name 'deprecated' from 'typing_extensions'
  2. cannot import name 'Doc' from 'typing_extensions'
    以上两个bug是由于ChatGLM2-6B项目需要typing_extensions>4.8.0,按要求安装即可:pip install typing_extensions==4.8
    在微调过程中报错
  3. AttributeError: 'ChatGLMForConditionalGeneration' object has no attribute 'enable_input_require_grads',解决方案,升级transformers
pip install transformers==4.27.1

-----------------------------------------------------------------The End!---------------------------------------------------------------------------------文章来源地址https://www.toymoban.com/news/detail-737063.html

到了这里,关于ChatGLM2-6B下载与部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ChatGLM2-6B 大语言模型本地搭建

    ChatGLM2-6B 是清华 NLP 团队于不久前发布的中英双语对话模型,它具备了强大的问答和对话功能。拥有最大32K上下文,并且在授权后可免费商用! ChatGLM2-6B的6B代表了训练参数量为60亿,同时运用了模型量化技术,意味着用户可以在消费级的显卡上进行本地部署(INT4 量化级别下

    2024年01月21日
    浏览(54)
  • 以大语言模型ChatGLM2-6B为后台,打造个人语音交互机器人Demo

    随着以ChatGLM2-6B为代表的开源大型语言模型的兴起,人工智能革命正席卷全球…… ChatGLM2-6B这一代表性的开源大型模型,以其易于部署、适度的参数量和强大的中文处理能力,为个人用户提供了在个人显卡上部署大型模型的便捷途径。 然而,在大型语言模型领域,人机交互仍

    2024年02月05日
    浏览(47)
  • chatglm2-6b模型在9n-triton中部署并集成至langchain实践

    近期, ChatGLM-6B 的第二代版本ChatGLM2-6B已经正式发布,引入了如下新特性: ①. 基座模型升级,性能更强大,在中文C-Eval榜单中,以51.7分位列第6; ②. 支持8K-32k的上下文; ③. 推理性能提升了42%; ④. 对学术研究完全开放,允许申请商用授权。 目前大多数部署方案采用的是

    2024年02月12日
    浏览(79)
  • ChatGLM2-6B_ An Open Bilingual Chat LLM _ 开源双语对话语言模型

    更强大的性能 :基于 ChatGLM 初代模型的开发经验,我们全面升级了 ChatGLM2-6B 的基座模型。ChatGLM2-6B 使用了 [GLM]的混合目标函数,经过了 1.4T 中英标识符的预训练与人类偏好对齐训练,评测结果显示,相比于初代模型,ChatGLM2-6B 在 MMLU(+23%)、CEval(+33%)、GSM8K(+571%) 、BB

    2024年04月14日
    浏览(41)
  • 清华大学开源ChatGLM2-6B开源模型在anaconda下的虚拟环境详细部署及安装教程

    python版本要求:3.8以上 没有安装python的没有关系,我们在下面安装anaconda中会自动生成python,有了python的建议删除,通过anaconda安装python以便于后面创建虚拟环境。 windows系统:Windows 10 以上,推荐N卡(NVIDIA显卡20系列以上) 注意:处理器为AMD容易报错,intel的不容易报错,配

    2024年02月16日
    浏览(84)
  • chatglm2-6b模型在9n-triton中部署并集成至langchain实践 | 京东云技术团队

    近期, ChatGLM-6B 的第二代版本ChatGLM2-6B已经正式发布,引入了如下新特性: ①. 基座模型升级,性能更强大,在中文C-Eval榜单中,以51.7分位列第6; ②. 支持8K-32k的上下文; ③. 推理性能提升了42%; ④. 对学术研究完全开放,允许申请商用授权。 目前大多数部署方案采用的是

    2024年02月12日
    浏览(50)
  • ChatGLM2-6B 部署

    这是ChatGLM2-6B 部署的阅读笔记,主要介绍了ChatGLM2-6B模型的部署和一些原理的简单解释。 它是单卡开源的对话模型。 充分的中英双语预训练 较低的部署门槛 FP16半精度下,需要至少13G的显存进行推理,甚至可以进一步降低到10G(INT8)和6G(INT4) 更长的序列长度 ChatGLM-6B 序列长度达

    2024年02月09日
    浏览(52)
  • 【AI】RTX2060 6G Ubuntu 22.04.1 LTS (Jammy Jellyfish) 部署chatglm2-6b 开源中英双语对话模型

    项目地址 chatglm2-6b 下载模型 创建测试项目 创建虚拟环境安装依赖 完整的venv环境 main.py 执行 python进程cpu使用率100.3%持续了很长时间,没有启用多线程?

    2024年01月20日
    浏览(49)
  • ChatGLM2-6B、ChatGLM-6B 模型介绍及训练自己数据集实战

    介绍 ChatGLM-6B是开源的文本生成式对话模型,基于General Language Model(GLM)框架,具有62亿参数,结合模型蒸馏技术,实测在2080ti显卡训练中上(INT4)显存占用 6G 左右, 优点 :1.较低的部署门槛: FP16 半精度下,ChatGLM-6B 需要至少 13GB 的显存进行推理,结合模型量化技术,一需求可以进一步

    2024年02月12日
    浏览(55)
  • 阿里云部署 ChatGLM2-6B 与 langchain+ChatGLM

    更新系统 安装git 克隆 ChatGLM2-6B 源码 克隆 chatglm2-6b 模型 安装 ChatGLM2-6B 依赖 修改模型的路径 修改成 启动服务 启动成功后 克隆 langchain-ChatGLM 源码 git clone https://github.com/imClumsyPanda/langchain-ChatGLM.git 克隆模型 安装 langchain-ChatGLM 依赖 修改配置 修改一 修改成 修改二 修改成 修改

    2024年02月15日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包