大模型ChatGLM2-6B的本地化部署的参数配置

大模型ChatGLM2-6B使用系列

` 第二章 大模型ChatGLM2-6B的本地化部署的参数配置



前言

在上一篇文章《大模型ChatGLM2-6B的本地化部署》,详细介绍了ChatGLM2-6B的本地化部署的过程,本篇文章主要介绍本地化部署,如何对大模型ChatGLM2-6B根据机器的配置进行参数调整,以便更流畅的运行。

一、ChatGLM2-6B显存与内存占用配置

从GitHub上下载下来的ChatGLM2-6B源码文件中默认的是模型以 FP16 精度加载,运行上述代码需要大概 13GB 显存,CPU运行模式下需要占用32GB内存,如果你的设备没有那么好的配置,即没有那么大的显存和内存的话,可以通过加载量化模型从而减少显存与内存的占用。

1.1 ChatGLM2-6B加载量化模型

加载量化模型运行,本质上就是通过降低大模型的性能来换取硬件配置需求的下降,量化模型的运行速度会低于全量模型。
但ChatGLM2-6B在4-bit量化下仍然具备一定自然流畅的性能效果。
有两种方式进行加载量化模型,分别为本地将全量模型转化为量化模型加载和直接下载对应的量化模型版本

1.1.1 本地将全量模型转化为量化模型加载

这个较为简单,只需要对ChatGLM2-6B源码文件夹中的web_demo.py、web_demo2.py、api.py、cli_demo.py等文件中的设计模型部分的代码,一般在文件的开头或者结尾部分(你需要那个文件就改哪个文件,不需要全改);以web_demo.py文件为例,如下图所示:
在这里插入图片描述
对于采用默认精度(FP16 精度)加载,运行上述代码大概需要13GB显存;对于采用INT4精度进行量化加载,大概需要占用5.5GB的显存;对于采用INT8精度进行量化加载,大概需要占用8GB的显存。
默认精度(FP16精度)模型多轮对话后,大概需要14-15GB的显存,INT8多轮对话后大概需要10GB的显存,INT4多轮对话后大概需要6-7GB的显存;

1.1.2 直接下载对应的量化模型版本进行加载

这个方式首先要从https://huggingface.co/网站上下载对应的量化模型的模型文件,以INT4量化精度chatglm2-6b-int4为例。
在浏览器地址栏中,输入https://huggingface.co/THUDM,然后在如下界面所示的区域中找到chatglm2-6b-int4模型:
在这里插入图片描述
然后点击进入该模型的界面,并切换到Files and versions区域,如下图所示:
在这里插入图片描述
并挨个将模型文件悉数下载到本地,并在ChatGLM2-6B源码文件夹的model文件夹中新建一个名为“chatglm2-6b-int4”的文件夹,并下载的模型文件拷贝到该新建的文件夹中,如下图所示:
在这里插入图片描述
然后再打开web_demo.py文件,修改如下图所示的代码:
在这里插入图片描述

1.2 模型量化后的资源占用情况

量化精度GPU显存占用
FP1613GB
INT88GB
INT45.5GB

二、ChatGLM大模型的推理参数含义

1.Maximum length参数

通常是用于限制输入序列的最大长度,因为ChatGLM2-6B是8192长度推理的,一般这个保持默认就行,太大可能会导致性能下降

2.Top P参数

Top P参数是指在生成文本等任务中,选择可能性最高的前P个词的概率累加和。这个参数被称为Top P,也被称为Nucleus Sampling。
例如,如果将Top P参数设置为0.7,那么模型会选择可能性排名超过70%的词进行采样。这样可以保证生成的文本准确性较高,但可能会缺乏多样性。相反,如果将Top P参数设置为0.3,则会选择可能性超过30%的词进行采样,这可能会导致生成文本的准确性下降,但能够更好地增加多样性。

3.Temperature参数

Temperature参数通常用于调整softmax函数的输出,用于增加或减少模型对不同类别的置信度。
具体来说,softmax函数将模型对每个类别的预测转换为概率分布。Temperature参数可以看作是一个缩放因子,它可以增加或减少softmax函数输出中每个类别的置信度。
比如将 Temperature 设置为 0.05 和 0.95 的主要区别在于,T=0.05 会使得模型更加自信,更加倾向于选择概率最大的类别作为输出,而 T=0.95 会使得模型更加不确定,更加倾向于输出多个类别的概率值较大。

总结

上述对大模型ChatGLM2-6B的全量模型和量化模型加载的方法进行了详细的描述,同时也对各个量化精度所占用的显存和内存做了明确的对比,读者可根据自己设备的配置情况进行对应的选择。
文章同时也对大模型ChatGLM2-6B的各个推理参数的含义进行了解释。

为了将ChatGPT模型本地化部署,您可以按照以下步骤进行操作: 1. 下载模型: 首先,您需要从OpenAI获取ChatGPT模型的权重文件。您可以在OpenAI平台上订阅并下载所需模型的权重文件。 2. 设置运行环境: 在本地部署之前,请确保您的系统符合所需的运行环境。ChatGPT模型通常需要较高的计算资源和内存。您可以根据OpenAI提供的要求设置并配置系统。 3. 安装依赖项: ChatGPT模型本地化部署可能需要一些依赖项。请确保您安装了相关的Python库和其他必要的软件包。您可以参考OpenAI提供的文档来获取所需的依赖项列表。 4. 加载模型: 使用适当的库和函数加载ChatGPT模型的权重文件。您可以使用Python中的TensorFlow或PyTorch等深度学习框架来加载和使用模型。 5. 配置输入输出: 确定与ChatGPT模型交互的输入和输出格式。根据您的需求,可能需要将输入数据进行预处理或后处理。 6. 进行推理: 使用加载的模型对输入数据进行推理。根据ChatGPT模型的设计,您可以使用生成对话或回答问题等方式与其进行交互。 7. 优化性能: 根据需要,您可以对部署ChatGPT模型进行性能优化。例如,使用批处理推理、并行化计算或模型压缩等技术来提高模型的效率。 请注意,这只是一个概述了ChatGPT模型本地化部署的一般步骤。具体的实现细节可能因您使用的框架、模型配置和目标平台而有所不同。确保参考OpenAI的文档、示例代码和其他资源以获取更详细的指导和帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙之吻0901

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值