本地部署 ChatGLM2-6B

本地部署 ChatGLM2-6B

  • 1. 什么是 ChatGLM2-6B
  • 2. Github 地址
  • 3. 安装 Miniconda3
  • 4. 创建虚拟环境
  • 5. 安装 ChatGLM2-6B
  • 6. 启动 ChatGLM2-6B
  • 7. 访问 ChatGLM2-6B
  • 8. API部署
  • 9. OpenAI 格式的流式 API 部署
  • 10. 命令行部署
  • 11. ChatGLM2-6B 的推理参数含义

1. 什么是 ChatGLM2-6B

ChatGLM2-6B 是开源中英双语对话模型 ChatGLM-6B 的第二代版本,在保留了初代模型对话流畅、部署门槛较低等众多优秀特性的基础之上,ChatGLM2-6B 引入了如下新特性:

  1. 更强大的性能:基于 ChatGLM 初代模型的开发经验,我们全面升级了 ChatGLM2-6B 的基座模型。ChatGLM2-6B 使用了 GLM 的混合目标函数,经过了 1.4T 中英标识符的预训练与人类偏好对齐训练,评测结果显示,相比于初代模型,ChatGLM2-6B 在 MMLU(+23%)、CEval(+33%)、GSM8K(+571%) 、BBH(+60%)等数据集上的性能取得了大幅度的提升,在同尺寸开源模型中具有较强的竞争力。
  2. 更长的上下文:基于 FlashAttention 技术,我们将基座模型的上下文长度(Context Length)由 ChatGLM-6B 的 2K 扩展到了 32K,并在对话阶段使用 8K 的上下文长度训练,允许更多轮次的对话。但当前版本的 ChatGLM2-6B 对单轮超长文档的理解能力有限,我们会在后续迭代升级中着重进行优化。
  3. 更高效的推理:基于 Multi-Query Attention 技术,ChatGLM2-6B 有更高效的推理速度和更低的显存占用:在官方的模型实现下,推理速度相比初代提升了 42%,INT4 量化下,6G 显存支持的对话长度由 1K 提升到了 8K。
  4. 更开放的协议:ChatGLM2-6B 权重对学术研究完全开放,在获得官方的书面许可后,亦允许商业使用。如果您发现我们的开源模型对您的业务有用,我们欢迎您对下一代模型 ChatGLM3 研发的捐赠。

2. Github 地址

https://github.com/THUDM/ChatGLM2-6B

3. 安装 Miniconda3

下载 Conda 安装脚本,

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

运行安装脚本,

bash Miniconda3-latest-Linux-x86_64.sh

按提示操作。当提示是否初始化 Conda 时,输入 “yes”,

在这里插入图片描述

安装完成后,关闭当前终端并打开新终端,这将激活 Conda,

sudo su - root

更新 Conda 至最新版本,

conda update conda

在这里插入图片描述
在这里插入图片描述

4. 创建虚拟环境

conda create -n chatglm2 python==3.10.6 -y
conda activate chatglm2

5. 安装 ChatGLM2-6B

git clone --recursive https://github.com/THUDM/ChatGLM2-6B; cd ChatGLM2-6B
pip install -r requirements.txt

6. 启动 ChatGLM2-6B

streamlit run web_demo2.py

7. 访问 ChatGLM2-6B

使用浏览器打开 http://localhost:8501/

在这里插入图片描述

问它一个问题,清华大学在哪?

在这里插入图片描述

8. API部署

运行仓库中的 api.py,

python api.py

默认部署在本地的 8000 端口,通过 POST 方法进行调用,

curl -X POST "http://127.0.0.1:8000" \-H 'Content-Type: application/json' \-d '{"prompt": "你好", "history": []}'

得到的返回值为,

{"response": "你好👋!我是人工智能助手 ChatGLM2-6B,很高兴见到你,欢迎问我任何问题。","history": [["你好","你好👋!我是人工智能助手 ChatGLM2-6B,很高兴见到你,欢迎问我任何问题。"]],"status": 200,"time": "2023-07-08 16:18:00"
}

9. OpenAI 格式的流式 API 部署

可以作为任意基于 ChatGPT 的应用的后端,比如 ChatGPT-Next-Web。

运行仓库中的 openai_api.py,

python openai_api.py

进行 API 调用的示例代码为,

import openai
if __name__ == "__main__":openai.api_base = "http://localhost:8000/v1"openai.api_key = "none"for chunk in openai.ChatCompletion.create(model="chatglm2-6b",messages=[{"role": "user", "content": "你好"}],stream=True):if hasattr(chunk.choices[0].delta, "content"):print(chunk.choices[0].delta.content, end="", flush=True)

10. 命令行部署

运行仓库中 cli_demo.py,

python cli_demo.py

程序会在命令行中进行交互式的对话,在命令行中输入指示并回车即可生成回复。

输入 clear 可以清空对话历史,输入 stop 终止程序。

11. ChatGLM2-6B 的推理参数含义

  • Maximum length 参数
    基于 FlashAttention 技术,我们将基座模型的上下文长度(Context Length)由 ChatGLM-6B 的 2K 扩展到了 32K,并在对话阶段使用 8K 的上下文长度训练,允许更多轮次的对话。但当前版本的 ChatGLM2-6B 对单轮超长文档的理解能力有限,我们会在后续迭代升级中着重进行优化。

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

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

完结!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/69814.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自然语言处理(4)——语料库和语言知识库

NLP学习笔记(4)——语料库和语言知识库 1. 基础知识2.语料库技术的发展第一个阶段:早期,20世纪五十年代中期之前二个阶段:沉寂时期,1957-20世纪八十年代初第三个阶段:复苏与发展时期&#xff0c…

Nltk——语料库

NLTK使用方法总结 NLTK(natural language toolkit)是一套基于python的自然语言处理工具集。 安装与功能描述 首先,打开终端安装nltk。 pip install nltk 打开Python终端并输入以下内容来安装 NLTK 包 import nltk nltk.download() 语言处理…

自然语言处理NLP(2)——统计语言模型、语料库

在上一部分中,我们已经了解了自然语言处理的基本知识:自然语言处理NLP(1)——概述。 在这一部分中,我们将简要介绍NLP领域的基本模型——语言模型,我们还将对自然语言处理的基础——语料库的概念进行介绍。…

一起来学自然语言处理----语料库和词汇资源

语料库和词汇资源 1、自然语言工具包(NLTK)2、获取文本语料1.语料库古腾堡语料库网络和聊天文本布朗语料库路透社语料库就职演说语料库标注文本语料库在其他语言的语料库语料库结构载入自己的语料库 2.条件频率分布理解条件频率分布使用双连词生成随机文…

【自然语言处理】浅谈语料库

文章目录 【自然语言处理】浅谈语料库前言一、浅谈语料库1、语料和语料库2、语料库语言学3、 建议语料库的意义 二、语料库深入了解1、语料库划分与种类2、语料库构建原则3、语料标注的优缺点 三、自然语言处理工具包:NLTK1、 了解NLTK2、 获取NLTK3、 Standford NL…

NLP浅谈语料库

NLP浅谈语料库 1. 浅谈语料库 1.1 语料和语料库 ​ 语料通常指在统计自然语言处理中实际上不可能观测到大规模的语言实例。所以人们简单地用文本作为替代,并把文本中的上下文关系作为现实世界中语言的上下文关系的替代品。 ​ 语料库一词在语言学上意指大量的文…

任正非谈成功秘诀:28年只对准一个城墙口冲锋

文/记者 赵东辉、李斌、刘诗平、蔡国兆、彭勇、何雨欣 任正非和华为公司,堪称当代商业史上的传奇。 1987年,年满43岁的任正非和5个同伴集资2.1万元成立华为公司,利用两台万用表加一台示波器,在深圳的一个“烂棚棚”里起…

AI流量监控,哪些AI应用正在迅速崛起?

“ 通过对网站数据分析工具SimilarWeb的数据监控,观察AI相关站点的网站访问量变化,来发掘AI应用端的变化趋势,找到当下最火爆的AI应用。” AI网站访问量数据变化 访问量成长周冠军 LLamaIndex本周流量成长冠军是llamaindex.ai,周访…

chatgpt赋能python:Python不报错,为什么还是运行不了?

Python不报错,为什么还是运行不了? 如果你是一位有着10年 Python 编程经验的工程师,你很可能会遇到这样的问题:代码没有报错,但运行时却出现了一些奇怪的问题。 在这篇文章中,我们将着重探讨这个问题&…

CTFHub | 前端验证

0x00 前言 CTFHub 专注网络安全、信息安全、白帽子技术的在线学习,实训平台。提供优质的赛事及学习服务,拥有完善的题目环境及配套 writeup ,降低 CTF 学习入门门槛,快速帮助选手成长,跟随主流比赛潮流。 0x01 题目描述…

chatgpt赋能python:Python绕过验证码分析

Python绕过验证码分析 介绍 验证码(CAPTCHA)是一种常见的人机验证机制,用于保护网站不被自动化机器人恶意攻击。但是,对于一些恶意攻击者而言,绕过这种验证机制是他们完成攻击的必由之路。Python是一种强大的编程语言…

如何区分GPT3.5和4?

切换模型 前两天申请的GPT 4的API调用权限终于申请下来了。 这两天我也是抓紧开发,让自己搭建的国内网站(aichatroom.cn)可以快速支持上使用GPT 4。 GPT 3.5和GPT4的区别 GPT-3.5 和 GPT-4 分别代表了 OpenAI 发布的两个不同版本的自然语言处…

2021年度泰晤士全球大学【计算机科学排名】公布

转载于 青塔 泰晤士世界大学学科排名(THE World University Rankings by Subject)涵盖工程技术、理学、生命科学、计算机科学、教育学、临床前期与临床健康、商业与经济、法学、社会科学、艺术与人文、心理学等11个学科领域。 学科排名采用与世界大学排名…

再见正则表达式!这次彻底告别手写!

这篇文章的目的是让你能得到完美的正则表达式,而且还不用自己拼。 说到正则表达式,一直是令我头疼的问题,这家伙一般时候用不到,等用到的时候发现它的规则是一点儿也记不住,\d表示一个数字,\s表示包括下划…

软银成功收购波士顿动力,收获顶尖的机器人技术

波士顿动力(Boston Dynamics)在机器人领域里属于顶尖的研发公司,而这家在行业内取得了巨大成功的公司,却被Alphabet(谷歌母公司)整体出售给日本软银,并且与Boston Dynamics一起被出售的是日本本土的一家机器人公司Scha…

深度学习经典入门项目—波士顿房价预测

目录 房价预测--线性回归数据处理数据形状变换数据集划分数据归一化处理housing.data数据格式 模型设计线性回归模型设计 训练配置训练过程保存并测试模型保存模型测试模型 房价预测–线性回归 波士顿房价预测数据集是经典的机器学习、深度学习入门的数据集。下面我们用这个数…

本周AI热点回顾:波士顿动力机器狗去新西兰放羊了、微软WSL将支持GPU、ERNIE-GEN刷新SOTA

01 波士顿动力机器狗去新西兰放羊了!网友:不努力连狗都不如 波士顿动力的科学家可能做梦也没想到,他们研制出来的Spot机械狗,刚刚商用,就被训练来放羊了。 新西兰,一个因为牛奶和羊毛被中国人熟知的国家&am…

机器学习项目实践——波士顿房价预测

基于线性回归预测波士顿房价 摘要:分类和回归属于机器学习领域有监督学习算法的两种方法,有监督学习是通过已有的训练样本去训练得到一个模型,再使用这个模型将所有的输入映射到相应的输出,若输出结果是离散型称为分类&#xff0…

起底网红机器人波士顿动力

关注网易智能,聚焦AI大事件,读懂下一个大时代! 这家“网红”机器人公司又火了。 最近,接连发布的两条波士顿动力机器人的最新视频让不少人感到惊讶,一段是发布于今年10月11日标题为“跑酷阿特拉斯”的视频,…

重磅干货!揭秘波士顿动力背后的专利技术

【导读】本文从波士顿动力背后申请的专利入手,从动力系统、步态分析,详细探讨了波士顿动力机器人背后的技术实现。 波士顿动力四足机器人的发展历程(前世今身) 相比于轮式或履带机器人,波士顿足式机器人具有更强的地形适应能力,身体十分灵活,可以在各种崎岖不平的地面行…