Open main menu
首页
专栏
课程
分类
归档
Chat
Sci-Hub
谷歌学术
Libgen
GitHub镜像
登录/注册
搜索
关闭
Previous
Previous
Next
Next
ChatGPT本地部署(支持中英文,超级好用)!
sockstack
/
716
/
2023-11-21 12:00:29
<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>今天用了一个超级好用的Chatgpt模型——ChatGLM,可以很方便的本地部署,而且效果嘎嘎好,经测试,效果基本可以平替内测版的文心一言。</p> <p id="main-toc"><strong>目录</strong></p> <p id="%E4%B8%80%E3%80%81%E4%BB%80%E4%B9%88%E6%98%AFChatGLM%EF%BC%9F-toc" style="margin-left:0px;">一、什么是ChatGLM?</p> <p id="%E4%BA%8C%E3%80%81%E6%9C%AC%E5%9C%B0%E9%83%A8%E7%BD%B2-toc" style="margin-left:0px;">二、本地部署</p> <p id="2.1%C2%A0%E6%A8%A1%E5%9E%8B%E4%B8%8B%E8%BD%BD-toc" style="margin-left:40px;">2.1 模型下载</p> <p id="2.2%C2%A0%E6%A8%A1%E5%9E%8B%E9%83%A8%E7%BD%B2-toc" style="margin-left:40px;">2.2 模型部署</p> <p id="2.3%C2%A0%E6%A8%A1%E5%9E%8B%E8%BF%90%E8%A1%8C-toc" style="margin-left:40px;">2.3 模型运行</p> <p id="2.3.1%C2%A0%E7%9B%B4%E6%8E%A5%E5%9C%A8%E5%91%BD%E4%BB%A4%E8%A1%8C%E4%B8%AD%E8%BE%93%E5%85%A5%E8%BF%9B%E8%A1%8C%E9%97%AE%E7%AD%94-toc" style="margin-left:80px;">2.3.1 直接在命令行中输入进行问答</p> <p id="2.3.2%C2%A0%E5%88%A9%E7%94%A8%C2%A0gradio%C2%A0%E5%BA%93%E7%94%9F%E6%88%90%E9%97%AE%E7%AD%94%E7%BD%91%E9%A1%B5%C2%A0-toc" style="margin-left:80px;">2.3.2 利用 gradio 库生成问答网页 </p> <p id="%E4%B8%89%E3%80%81%E6%A8%A1%E5%9E%8B%E4%B8%8EChatGPT%E5%92%8CGPT4AII%20%E6%95%88%E6%9E%9C%E5%AF%B9%E6%AF%94-toc" style="margin-left:0px;">三、模型与ChatGPT和GPT4AII 效果对比</p> <p id="3.1%20ChatGLM-toc" style="margin-left:40px;">3.1 ChatGLM</p> <p id="3.2%20ChatGPT-toc" style="margin-left:40px;">3.2 ChatGPT</p> <p id="3.3%20GPT4AII-toc" style="margin-left:40px;">3.3 GPT4AII</p> <p id="%E5%9B%9B%E3%80%81%E6%80%BB%E7%BB%93-toc" style="margin-left:0px;">四、总结</p> <hr id="hr-toc"> <p></p> <h1 id="%E4%B8%80%E3%80%81%E4%BB%80%E4%B9%88%E6%98%AFChatGLM%EF%BC%9F">一、什么是ChatGLM?</h1> <p>ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。 ChatGLM-6B 使用了和 ChatGPT 相似的技术,针对中文问答和对话进行了优化。经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答。</p> <h1 id="%E4%BA%8C%E3%80%81%E6%9C%AC%E5%9C%B0%E9%83%A8%E7%BD%B2">二、本地部署</h1> <h2 id="2.1%C2%A0%E6%A8%A1%E5%9E%8B%E4%B8%8B%E8%BD%BD">2.1 模型下载</h2> <p>Demo下载地址:</p> <p>GitHub - ZhangErling/ChatGLM-6B: 提供Windows部署文档的版本 | ChatGLM-6B:开源双语对话语言模型 | An Open Bilingual Dialogue Language Model</p> <h2 id="2.2%C2%A0%E6%A8%A1%E5%9E%8B%E9%83%A8%E7%BD%B2">2.2 模型部署</h2> <p>1. 用Pycharm打开项目文件;</p> <p>2. 使用 pip 安装依赖:<code>pip install -r requirements.txt</code>,其中 <code>transformers</code> 库版本推荐为 <code>4.27.1</code>,但理论上不低于 <code>4.23.1</code> 即可;</p> <p>安装以下依赖包:</p> <pre><code class="language-python">protobuf transformers==4.27.1 cpm_kernels torch>=1.10 gradio mdtex2html sentencepiece</code></pre> <p>pip 直接安装不行就用:</p> <pre><code class="language-python">conda install 包名 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/</code></pre> <p>再不行就去Archived: Python Extension Packages for Windows - Christoph Gohlke (uci.edu) </p> <p>下载相关依赖包的 whl文件,然后在cd 到文件路径下,用pip 安装。 </p> <h2 id="2.3%C2%A0%E6%A8%A1%E5%9E%8B%E8%BF%90%E8%A1%8C">2.3 模型运行</h2> <p>在 <strong>…/ChatGLM/</strong> 目录下有两个 demo 代码:</p> <h3 id="2.3.1%C2%A0%E7%9B%B4%E6%8E%A5%E5%9C%A8%E5%91%BD%E4%BB%A4%E8%A1%8C%E4%B8%AD%E8%BE%93%E5%85%A5%E8%BF%9B%E8%A1%8C%E9%97%AE%E7%AD%94">2.3.1 直接在命令行中输入进行问答</h3> <p>(1)修改模型路径。编辑 <em>cli_demo.py</em> 代码,修改 5、6 行的模型文件夹路径,将原始的 <strong>“THUDM/ChatGLM-6B”</strong> 替换为 <strong>“model”</strong> 即可。</p> <p>(2)修改量化版本。如果你的显存大于 14G,则无需量化可以跳过此步骤。如果你的显存只有 6G 或 10G,则需要在第 6 行代码上添加 <strong>quantize(4)</strong> 或 <strong>quantize(8)</strong> ,如下:</p> <pre><code class="language-python"># 6G 显存可以 4 bit 量化 model = AutoModel.from_pretrained("model", trust_remote_code=True).half().quantize(4).cuda()# 10G 显存可以 8 bit 量化 model = AutoModel.from_pretrained("model", trust_remote_code=True).half().quantize(8).cuda() </code></pre> <p>(3)运行 <em>cli_demo.py</em> </p> <h3 id="2.3.2%C2%A0%E5%88%A9%E7%94%A8%C2%A0gradio%C2%A0%E5%BA%93%E7%94%9F%E6%88%90%E9%97%AE%E7%AD%94%E7%BD%91%E9%A1%B5%C2%A0">2.3.2 利用 <em>gradio</em> 库生成问答网页 </h3> <p>利用 <em>gradio</em> 库生成问答网页(效果如三中所示)。</p> <p> (1)安装gradio 库:</p> <pre><code class="language-python">pip install gradio</code></pre> <p>(2)修改模型路径。编辑 <em>cli_demo.py</em> 代码,修改 5、6 行的模型文件夹路径,将原始的 <strong>“THUDM/ChatGLM-6B”</strong> 替换为 <strong>“model”</strong> 即可。</p> <p>(3)修改量化版本。如果你的显存大于 14G,则无需量化可以跳过此步骤。如果你的显存只有 6G 或 10G,则需要在第 5 行代码上添加 quantize(4) 或 quantize(8) ,如下:</p> <pre><code class="language-python"># 6G 显存可以 4 bit 量化 model = AutoModel.from_pretrained("model", trust_remote_code=True).half().quantize(4).cuda()# 10G 显存可以 8 bit 量化 model = AutoModel.from_pretrained("model", trust_remote_code=True).half().quantize(8).cuda() </code></pre> <p>(4)<em>运行 web_demo.py</em> </p> <p>模型加载过程如下图:</p> <p><img referrerpolicy="no-referrer" alt="" height="1200" src="https://img-blog.csdnimg.cn/03ce4010c0f84bb8b3694c04b4ebacae.png" width="1200"></p> <h1 id="%E4%B8%89%E3%80%81%E6%A8%A1%E5%9E%8B%E4%B8%8EChatGPT%E5%92%8CGPT4AII%20%E6%95%88%E6%9E%9C%E5%AF%B9%E6%AF%94">三、模型与ChatGPT和GPT4AII 效果对比</h1> <p>运行完 web_demo.py 结束会自动打开浏览器,显示如下界面,可以进行正常对话,且相应速度非常快。</p> <h2 id="3.1%20ChatGLM">3.1 ChatGLM</h2> <p>向 ChatGLM 提问:“蒸1个包子需要10分钟,蒸10个包子需要多久?”,回答非常合理。</p> <p><img referrerpolicy="no-referrer" alt="" height="1200" src="https://img-blog.csdnimg.cn/520fa09cd3b24899a4f0de30e062ae5b.png" width="1200"></p> <h2 id="3.2%20ChatGPT">3.2 ChatGPT</h2> <p>向 ChatGPT 提相同的问题:“蒸1个包子需要10分钟,蒸10个包子需要多久?”,回答略显简单。</p> <p><img referrerpolicy="no-referrer" alt="" height="1200" src="https://img-blog.csdnimg.cn/3c3f2f4ab48b4faabf5344b891163eee.png" width="1200"></p> <h2 id="3.3%20GPT4AII">3.3 GPT4AII</h2> <p>上一篇博文我们介绍了GPT4ALL,它只能实现英文的对话,用英文提问相关的问题,发现效果不如 ChatGLM 和 ChatGPT 。 </p> <p><img referrerpolicy="no-referrer" alt="" height="1047" src="https://img-blog.csdnimg.cn/57c591788e844e65bc2bd8fbfaf6905e.png" width="1200"></p> <p></p> <h1 id="%E5%9B%9B%E3%80%81%E6%80%BB%E7%BB%93">四、总结</h1> <p>ChatGLM 方便部署,且对中文的理解能力很好,它的优点是部署完不用联网,不需要账号登录,非常安全,它的缺点是无法增量学习互联网上最新的信息,知识库扩展需要额外增加训练样本。</p> <p></p> </div> </div> <div id="treeSkill"></div> </article>
ChatGPT本地部署(支持中英文,超级好用)!
作者
sockstack
许可协议
CC BY 4.0
发布于
2023-11-21
修改于
2024-12-24
上一篇:软件:常用 Linux 软件汇总,值得收藏
下一篇:ChatGPT中文使用手册
尚未登录
登录 / 注册
文章分类
博客重构之路
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
前端