当前位置:   article > 正文

【01】ChatGLM3-6B部署:利用阿里云部署ChatGLM3-6B模型_chatglm3-6b检索知识库知识

chatglm3-6b检索知识库知识

一、ChatGLM-6B模型

ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的对话预训练模型。ChatGLM3-6B 是 ChatGLM3 系列中的开源模型,在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上,ChatGLM3-6B 引入了如下特性:

(1)更强大的基础模型: ChatGLM3-6B 的基础模型 ChatGLM3-6B-Base 采用了更多样的训练数据、更充分的训练步数和更合理的训练策略。在语义、数学、推理、代码、知识等不同角度的数据集上测评显示,* ChatGLM3-6B-Base 具有在 10B 以下的基础模型中最强的性能*。
(2)更完整的功能支持: ChatGLM3-6B 采用了全新设计的 Prompt 格式 ,除正常的多轮对话外。同时原生支持工具调用(Function Call)、代码执行(Code Interpreter)和 Agent 任务等复杂场景。
(3)更全面的开源序列: 除了对话模型 ChatGLM3-6B 外,还开源了基础模型 ChatGLM3-6B-Base 、长文本对话模型 ChatGLM3-6B-32K。

二、阿里云交互式建模(DSW)

(1)首先注册阿里云账户,进入人工智能平台选择交互式建模,在此处创建实例。

(2)创建实例的过程中,首先为实例命名,此处的命名可为ChatGLM_Original。推荐选择GPU规格。

(3)实例创建完成后,需等待一段时间进行初始化环境的配置。

三、依赖更新与源码克隆

(1)首先需要下载git-lfs,用于克隆ChatGLM的模型(文件极大),命令如下:

  1. apt-get update
  2. apt-get install git-lfs
  3. git init
  4. git lfs install

(2)从ChatGLM3-6B的GitHub仓库中克隆模型的源码GitHub - THUDM/ChatGLM3: ChatGLM3 series: Open Bilingual Chat LLMs | 开源双语对话语言模型

  1. git clone https://github.com/THUDM/ChatGLM3
  2. cd ChatGLM3

(3)使用 pip 安装依赖。(使用阿里云的镜像,下载速度和成功率极高)

pip install -r requirements.txt

        依赖安装的过程极其舒适,写意。

(4)预训练模型的克隆,方法一是使用 Git LFS 从 Hugging Face Hub 将模型下载到本地,这样从本地加载模型的响应速度更快。(但连接及其不稳定,推荐使用方法二)

  1. git lfs install
  2. git clone https://huggingface.co/THUDM/chatglm3-6b

         方法二则是从 ModelScope 中下载。

  1. git lfs install
  2. git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git

三、ChatGLM3-6B模型的运行

(1)路径修改

        首先需要修改目录,ChatGLM3 提供了三种使用方式:命令行 Demo,网页版 Demo 和 API 部署;在启动模型之前,需要找到对应启动方式的 python 源码文件 cli_demo.pyweb_demo.pyopenai_api.py 中修改。把下载好的 chatglm3-6b 预训练模型文件放到 ChatGLM3 仓库目录同级,如果是从 ModelScope 下载的话注意目录层级,模型加载需要修改本地模型路径;在cli_demo.py文件中修改为:

MODEL_PATH = os.environ.get('MODEL_PATH', '/mnt/workspace/chatglm3-6b')

       这一步是整个部署过程中最坑的一步,有二个需要注意的地方,第一个是本机的路径为'/mnt/workspace/' ,如果直接从文件处复制路径得到的不是绝对路径,使用相对路径难以匹配得到;第二点在于ChatGLM3与ChatGLM2在此处的处理是不同的,不能按照2的路径来进行部署。

(2) 命令行 Demo启动

python cli_demo.py

        程序会在命令行中进行交互式的对话,在命令行中通过 用户: 进行输入指示,直接输入问题回车即可生成回复,输入 clear 可以清空对话历史,输入 stop 终止程序。

 (3) 网页版 Demo 启动

       网页版和命令行相似,但是提供了更加友好交互页面,在 ChatGLM3 的basic_demo目录下的 web_demo_gradio.py 文件,做出相同的代码修改,然后运行 python 启动服务。

python web_demo_gradio.py

四、制作镜像(可选)

ChatGLM-6B部署完成后,可制作镜像进行保存,如未来微调遇到问题时,可及时回滚版本。

 五、小结

        使用阿里云来部署ChatGLM3-6B模型,相比于本机部署或线下服务器部署,在Python 环境配置、依赖安装等方面具有较大优势。如果文章对你有帮助,欢迎一键三连 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/379496
推荐阅读
相关标签