Open main menu
首页
专栏
课程
分类
归档
Chat
Sci-Hub
谷歌学术
Libgen
GitHub镜像
登录/注册
搜索
关闭
Previous
Previous
Next
Next
如何在本地部署运行ChatGLM-6B
sockstack
/
195
/
2023-11-11 00:02:14
<p><span style="color: red; font-size: 18px">ChatGPT 可用网址,仅供交流学习使用,如对您有所帮助,请收藏并推荐给需要的朋友。</span><br><a href="https://ckai.xyz/?sockstack§ion=detail" target="__blank">https://ckai.xyz</a><br><br></p> <article class="baidu_pl"><div id="article_content" class="article_content clearfix"> <link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/kdoc_html_views-1a98987dfd.css"> <link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/ck_htmledit_views-25cebea3f9.css"> <div id="content_views" class="htmledit_views"> <p>在本篇技术博客中,将展示如何在本地获取运行代码和模型,并配置环境以及 Web GUI,最后通过 Gradio 的网页版 Demo 进行聊天。</p> <h1>官方介绍</h1> <p>ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。 ChatGLM-6B 使用了和 ChatGPT 相似的技术,针对中文问答和对话进行了优化。经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答,更多信息请参考我们的博客。</p> <p>为了方便下游开发者针对自己的应用场景定制模型,我们同时实现了基于 P-Tuning v2 的高效参数微调方法 (使用指南) ,INT4 量化级别下最低只需 7GB 显存即可启动微调。</p> <p>不过,由于 ChatGLM-6B 的规模较小,目前已知其具有相当多的局限性,如事实性/数学逻辑错误,可能生成有害/有偏见内容,较弱的上下文能力,自我认知混乱,以及对英文指示生成与中文指示完全矛盾的内容。请大家在使用前了解这些问题,以免产生误解。更大的基于 1300 亿参数 GLM-130B 的 ChatGLM 正在内测开发中。</p> <h1>获取运行代码</h1> <p>首先,您需要从 GitHub 仓库下载 ChatGLM-6B 的代码。您可以使用以下链接进行下载:GitHub - THUDM/ChatGLM-6B: ChatGLM-6B: An Open Bilingual Dialogue Language Model | 开源双语对话语言模型。</p> <p>将仓库下载到本地任意位置(例如 D:/codehub/ChatGLM-6B)。</p> <h1>获取模型</h1> <p>接下来,您需要从 Hugging Face 下载 ChatGLM-6B 模型。您可以使用以下链接进行下载:</p> <ul> <li>chatglm-6b:THUDM/chatglm-6b · Hugging Face</li> <li>chatglm-6b-int8:THUDM/chatglm-6b-int8 · Hugging Face</li> <li>chatglm-6b-int4:THUDM/chatglm-6b-int4 · Hugging Face</li> </ul> <p>将模型下载到本地任意位置(例如 D:/codehub/models)。</p> <h1>硬件需求</h1> <table><tbody> <tr> <td> <p>量化等级</p> </td> <td> <p>最低 GPU 显存</p> <p>(推理)</p> </td> <td> <p>最低 GPU 显存</p> <p>(高效参数微调)</p> </td> </tr> <tr> <td> <p>FP16(无量化)</p> </td> <td> <p>13 GB</p> </td> <td> <p>14 GB</p> </td> </tr> <tr> <td> <p>INT8</p> </td> <td> <p>8 GB</p> </td> <td> <p>9 GB</p> </td> </tr> <tr> <td> <p>INT4</p> </td> <td> <p>6 GB</p> </td> <td> <p>7 GB</p> </td> </tr> </tbody></table> <h1>环境配置</h1> <p>在开始使用 ChatGLM-6B 进行聊天之前,您需要进行环境配置。下面是必要的步骤:</p> <ul> <li>安装 Python3。</li> <li>安装 ChatGLM-6B 运行所需要的 Python 组件依赖。在命令行中进入 ChatGLM-6B 文件夹(例如 cd D:/codehub/ChatGLM-6B),并运行以下命令:</li> </ul> <pre><code>pip install -r requirements.txt</code></pre> <ul><li>安装 GPU 版本的 PyTorch。由于通过 requirements.txt 中的 PyTorch 默认下载的是 CPU 版本,如果您想使用 GPU 运行模型,您需要先卸载并安装 GPU 版本的 PyTorch。您可以从 PyTorch 官网(PyTorch)下载本地环境对应的 PyTorch。</li></ul> <p><img referrerpolicy="no-referrer" alt="" height="311" src="https://img-blog.csdnimg.cn/e76a99c8a6834b6cb57e8ed45286e78b.png" width="812"></p> <p>例如,在 Windows 10 上安装 CUDA 版本为 11.8 的 PyTorch,可以运行以下命令:</p> <pre><code>pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118</code></pre> <ul><li>安装 NVIDIA CUDA 工具包。您可以从 CUDA 官方下载地址(CUDA Toolkit Archive | NVIDIA Developer)下载本地环境对应的CUDA版本。请注意确保选择和 PyTorch 对应的 CUDA 版本,否则 PyTorch 将无法正常运行。</li></ul> <p><img referrerpolicy="no-referrer" alt="" height="521" src="https://img-blog.csdnimg.cn/72332b45b3ff41ae80928a89c8ede8bc.png" width="1146"></p> <h1>配置 WebUI 并运行</h1> <p>最后,我们需要配置 WebUI 并运行 Gradio 的网页版 Demo。请按照以下步骤操作:</p> <ul><li>安装 Gradio 依赖。在命令行中输入以下命令:</li></ul> <pre><code>pip install gradio</code></pre> <ul><li>指定本地的模型文件夹路径</li></ul> <p>编辑 ChatGLM-6B 仓库中的 web_demo.py 文件,并将以下代码中的 "THUDM/chatglm-6b" 修改为本地模型所在文件夹的路径(例如:这里使用chatglm-6b-int4量化模型,路径则填D:\\codehub\models\chatglm-6b-int4)</p> <pre><code class="language-python">tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True) model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda()</code></pre> <p>如果不进行修改,程序会自动从 Hugging Face 下载模型并加载到 C 盘。</p> <ul><li>运行 WebUI。在命令行中进入 ChatGLM-6B 文件夹,并运行以下命令:</li></ul> <pre><code class="language-python">python web_demo.py</code></pre> <p>至此,您已经成功配置了环境,并准备好使用 ChatGLM-6B 进行聊天了!</p> <p style="text-align:center;"><img referrerpolicy="no-referrer" alt="" src="https://img-blog.csdnimg.cn/b8b2f7042231457bbc28e56be6d2b6ad.gif"></p> <p></p> </div> </div> <div id="treeSkill"></div> </article>
如何在本地部署运行ChatGLM-6B
作者
sockstack
许可协议
CC BY 4.0
发布于
2023-11-11
修改于
2024-12-21
上一篇:软件:常用 Linux 软件汇总,值得收藏
下一篇:【Notion AI 功能试用】写作修改、润色、总结、翻译效果
尚未登录
登录 / 注册
文章分类
博客重构之路
5
Spring Boot简单入门
4
k8s 入门教程
0
MySQL 知识
1
NSQ 消息队列
0
ThinkPHP5 源码分析
5
使用 Docker 从零开始搭建私人代码仓库
3
日常开发汇总
4
标签列表
springboot
hyperf
swoole
webman
php
多线程
数据结构
docker
k8s
thinkphp
mysql
tailwindcss
flowbite
css
前端