介绍一下本地部署及应用GLM-4模型的方法。
1 GLM-4模型简介
GLM-4是智谱AI推出的开源多语言多模态预训练对话大模型。GLM-4-9B是GLM-4系列中的开源版本,在语义、数学、推理、代码和知识等方面均有卓越的表现。
2 安装部署方法
下面从模型下载、模型部署、模型调用三个方面介绍一下该模型的应用方法。
2.1 模型下载
需要下载两个内容,一个是不同应用场景下的应用示例代码(为开发者提供基础的 GLM-4-9B 的使用和开发代码),另一个是模型本身。
2.1.1 代码示例仓库
下载地址是:https://github.com/THUDM/GLM-4
下载后的文件目录结构如下:
其中:
basic_demo:包含使用transformers 和 vLLM 后端的交互代码、OpenAI API 后端交互代码、Batch推理代码、网页方式交互代码;
composite_demo:包含了完整的功能演示代码,包含了 All Tools 能力、长文档解读和多模态能力的展示;
finetune_demo:包含了微调代码;
intel_device_demo:包含了使用 OpenVINO 部署模型代码、使用 Intel® Extension for Transformers 部署模型代码。
2.1.2 模型文件仓库
模型文件可以从Hugging Face、魔搭社区、始智AI三个不同的平台下载:
模型文件较大,使用git clone命令下载时,需要安装并初始化git的lfs支持功能(lfs:large file storage,代表大文件支持),否则下载下来的模型文件是异常的。即在使用git clone下载模型之前,执行下面两行:
yum install git-lfs(安装git lfs支持)``git lfs install(初始化git lfs)
然后使用git clone下载模型库:
git clone https://huggingface.co/THUDM/glm-4-9b``或``git clone https://modelscope.cn/models/ZhipuAI/glm-4-9b/files``或``git clone https://wisemodel.cn/models/ZhipuAI/GLM-4-9B/file
备注:模型存放格式是safetensors格式:该格式是一种专为深度学习模型设计的文件格式,主要用于存储模型参数等信息,具有安全(文件中包含了签名和哈希值信息,防止文件内容被篡改)、压缩(文件存储使使用了压缩算法)、兼容(与TensorFlow、PyTorch等不同框架兼容)等特点。
下载后的内容如下图所示:
2.2 模型部署
此处的安装部署主要指的是安装调用大模型需要的基础库,需要的库都在示例代码对应的目录下的requirements.txt文件中列明了,只需要通过以下方式安装即可:
pip install -r requirements.txt
以basic_demo为例,需要安装的基础库包括:
备注:安装过程如遇兼容性问题,则更改python版本后重新安装,一般是python版本引起的问题。
2.3 通过命令行交互方式与模型交互
基础库安装完成之后就可以通过GLM-4-main库中提供的不同使用方式的示例代码启动模型、并与模型交互。比如通过basic_demo下的trans_cli_demo.py启动命令行交互过程。
在启动之前需要修改trans_cli_demo.py文件中模型路径信息:
cd glm/GLM-4-main/basic_demo``vi trans_cli_demo.py` `MODEL_PATH = "THUDM/glm-4-9b-chat" (修改为自己所下载的模型的实际位置)
然后启动命令行交互脚本:
cd GLM-4-main/basic_demo/``python trans_cli_demo.py
交互结果如下:
备注1:如果遇到中文显示乱码问题,可以在linux系统命令行安装中文语言集,命令如下:
yum install glibc-langpack-zh
备注2:在使用glm-4-9b模型时,遇到一个报错“调用_pad函数时,没有与padding_side实参对应的形参定义”,这需要修改一下glm-4-9b/tokenization_chatglm.py文件中的_pad函数的定义,如下所示:
vi glm-4-9b/tokenization_chatglm.py` `def _pad(` `self,` `encoded_inputs: Union[Dict[str, EncodedInput], BatchEncoding],` `max_length: Optional[int] = None,` `padding_side: str = "left", #添加这一行` `padding_strategy: PaddingStrategy = PaddingStrategy.DO_NOT_PAD,` `pad_to_multiple_of: Optional[int] = None,` `return_attention_mask: Optional[bool] = None,` `) -> dict:
3 推理性能
只在CPU资源上简单测试了推理性能。
CPU:单颗 Intel® Xeon® Gold 5318Y CPU @ 2.10GHz
内存:64GB
运行速度较慢,大概10来秒出一个词,运行过程中top查看的服务器资源利用情况如下图所示(CPU满负荷):
如何系统的去学习大模型LLM ?
大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业
?”“谁的饭碗又将不保了?
”等问题热议不断。
事实上,抢你饭碗的不是AI,而是会利用AI的人。
继科大讯飞、阿里、华为
等巨头公司发布AI产品后,很多中小企业也陆续进场!超高年薪,挖掘AI大模型人才! 如今大厂老板们,也更倾向于会AI的人,普通程序员,还有应对的机会吗?
与其焦虑……
不如成为「掌握AI工具的技术人
」,毕竟AI时代,谁先尝试,谁就能占得先机!
但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高。
针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料
分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程
等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓
一、LLM大模型经典书籍
AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。
二、640套LLM大模型报告合集
这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)
三、LLM大模型系列视频教程
四、LLM大模型开源教程(LLaLA/Meta/chatglm/chatgpt)
LLM大模型学习路线 ↓
阶段1:AI大模型时代的基础理解
-
目标:了解AI大模型的基本概念、发展历程和核心原理。
-
内容:
- L1.1 人工智能简述与大模型起源
- L1.2 大模型与通用人工智能
- L1.3 GPT模型的发展历程
- L1.4 模型工程
- L1.4.1 知识大模型
- L1.4.2 生产大模型
- L1.4.3 模型工程方法论
- L1.4.4 模型工程实践
- L1.5 GPT应用案例
阶段2:AI大模型API应用开发工程
-
目标:掌握AI大模型API的使用和开发,以及相关的编程技能。
-
内容:
- L2.1 API接口
- L2.1.1 OpenAI API接口
- L2.1.2 Python接口接入
- L2.1.3 BOT工具类框架
- L2.1.4 代码示例
- L2.2 Prompt框架
- L2.3 流水线工程
- L2.4 总结与展望
阶段3:AI大模型应用架构实践
-
目标:深入理解AI大模型的应用架构,并能够进行私有化部署。
-
内容:
- L3.1 Agent模型框架
- L3.2 MetaGPT
- L3.3 ChatGLM
- L3.4 LLAMA
- L3.5 其他大模型介绍
阶段4:AI大模型私有化部署
-
目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。
-
内容:
- L4.1 模型私有化部署概述
- L4.2 模型私有化部署的关键技术
- L4.3 模型私有化部署的实施步骤
- L4.4 模型私有化部署的应用场景
这份 LLM大模型资料
包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程
等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓