在矩池云使用ChatGLM-6B & ChatGLM2-6B

这篇具有很好参考价值的文章主要介绍了在矩池云使用ChatGLM-6B & ChatGLM2-6B。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ChatGLM-6B 和 ChatGLM2-6B都是基于 General Language Model (GLM) 架构的对话语言模型,是清华大学 KEG 实验室和智谱 AI 公司于 2023 年共同发布的语言模型。模型有 62 亿参数,一经发布便受到了开源社区的欢迎,在中文语义理解和对话生成上有着不凡的表现。

ChatGLM-6B 可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。ChatGLM-6B 针对中文问答和对话进行了优化,经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,已经能生成相当符合人类偏好的回答。

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

  • 更强大的性能:基于 ChatGLM 初代模型的开发经验,全面升级了 ChatGLM2-6B 的基座模型。ChatGLM2-6B 使用了 GLM 的混合目标函数,经过了 1.4T 中英标识符的预训练与人类偏好对齐训练,评测结果显示,相比于初代模型,ChatGLM2-6B 在 MMLU(+23%)、CEval(+33%)、GSM8K(+571%) 、BBH(+60%)等数据集上的性能取得了大幅度的提升,在同尺寸开源模型中具有较强的竞争力。

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

  • 更高效的推理:基于 Multi-Query Attention 技术,ChatGLM2-6B 有更高效的推理速度和更低的显存占用:在官方的模型实现下,推理速度相比初代提升了 42%,INT4 量化下,6G 显存支持的对话长度由 1K 提升到了 8K。

目前 ChatGLM-6B 以及 ChatGLM2-6B 均可通过登记进行商用,为方便大家使用,矩池云已第一时间获取到相关权限并上线了这两个模型的镜像,后续也会根据模型更新而进行镜像迭代,以下是在矩池云上使用 ChatGLM2-6B 的方法,ChatGLM-6B 的使用方法与其一致。

在矩池云使用ChatGLM-6B & ChatGLM2-6B,人工智能,机器学习,深度学习,语言模型

硬件要求

矩池云已经配置好了 ChatGLM-6B 和 ChatGLM2-6B 环境,显存需要大于13G。可以选择 A4000、P100、3090 或更高配置的显卡。

租用机器

在矩池云主机市场:https://matpool.com/host-market/gpu,选择显存大于13G的机器,比如 A4000 显卡,然后点击租用按钮(选择其他满足显存要求的显卡也可以)。

在矩池云使用ChatGLM-6B & ChatGLM2-6B,人工智能,机器学习,深度学习,语言模型

租用页面,搜索 ChatGLM2-6B,选择这个镜像,再点击租用即可。

在矩池云使用ChatGLM-6B & ChatGLM2-6B,人工智能,机器学习,深度学习,语言模型

机器租用成功后,你会看到 8000 端口对应链接,这是 ChatGLM2-6B 默认的 api 接口,镜像已经设置了开机自启,也就是说现在可以直接调用这个接口使用 ChatGLM2-6B 了。

在矩池云使用ChatGLM-6B & ChatGLM2-6B,人工智能,机器学习,深度学习,语言模型

使用 ChatGLM2-6B api

调用 ChatGLM2-6B api 需要发送 POST 请求。前面租用机器我们自定义了 8000 端口,在租用页面可以获得对应的公网链接,比如:https://hz.xxxx.com:xxxx/?token=xxxxx

需要注意,实际我们请求不需要 token,所以直接用:https://hz.xxxx.com:xxxx 这段即可。

curl请求:

curl -X POST "https://hz.xxxx.com:xxxx" \
     -H 'Content-Type: application/json' \
     -d '{"prompt": "你好", "history": []}'

Python请求:

import requests
import json
def getGLM(prompt, history):
    '''
    curl -X POST "https://hz.xxxx.com:xxxx" \
     -H 'Content-Type: application/json' \
     -d '{"prompt": "你好", "history": []}'
    '''
    url = 'https://hz.xxxx.com:xxxx'
    # 设置请求头
    headers = {
    'Content-Type': 'application/json'
    }
    data = {
    'prompt': prompt,
    'history': history
    }
    # 发送请求并获取响应
    response = requests.post(url, headers=headers, data=json.dumps(data))
    # 检查响应状态码
    if response.status_code == 200:
        # 获取响应数据
        rsp = response.json()
        return rsp
    else:
        print('请求失败,状态码:', response.status_code)
        
# 测试请求
history=[]
prompt = "假设你是一位Python高手,请用Python Pandas 模块实现一个Excel文件批量合并脚本"
getGLM(prompt, history)

A4000 回复复杂点的问题(回复字数1.5k左右),耗时 20-40s 左右。

在矩池云使用ChatGLM-6B & ChatGLM2-6B,人工智能,机器学习,深度学习,语言模型

ChatGLM2-6B 也有 web demo,大家也可以运行测试,具体的使用方法如下文。

运行 ChatGLM2-6B web demo

首先我们需要 kill 掉系统开启自启的 ChatGLM2-6B API 服务,Jupyterlab 里新建一个 Terminal,然后输入下面指令查看api服务器进程id。

ps aux | grep api.py

在矩池云使用ChatGLM-6B & ChatGLM2-6B,人工智能,机器学习,深度学习,语言模型

kill 掉相关进程,从上面运行结果可以看出,api.py 进程id是5869,执行下面指令即可 kill 相关进程:

# 注意 5869 换成你自己租用服务器里查出来的 api.py 程序的进程id
# 注意 5869 换成你自己租用服务器里查出来的 api.py 程序的进程id
# 注意 5869 换成你自己租用服务器里查出来的 api.py 程序的进程id
kill 5869

运行 ChatGLM2-6B 版本 运行

# 进入项目目录
cd /ChatGLM2-6B
# 安装依赖
pip install streamlit streamlit_chat
# 启动脚本
streamlit run web_demo2.py --server.port 8000 --server.address 0.0.0.0

在矩池云使用ChatGLM-6B & ChatGLM2-6B,人工智能,机器学习,深度学习,语言模型

运行后服务会启动到 8000端口,host 设置成0.0.0.0,这样我们访问租用页面 8000 端口链接即可访问到对应服务了。

前面租用机器我们自定义了 8000 端口,在租用页面可以获得对应的公网链接:

在矩池云使用ChatGLM-6B & ChatGLM2-6B,人工智能,机器学习,深度学习,语言模型

比如:https://hz.xxxx.com:xxxx/?token=xxxxx

需要注意的是,实际上我们在请求时候不需要 token,所以使用的地址直接用:https://hz.xxxx.com:xxxx 这段即可。

在矩池云使用ChatGLM-6B & ChatGLM2-6B,人工智能,机器学习,深度学习,语言模型

浅尝试一下生成的效果还不错,这个问题的回答有点出乎意料,给了一个用 pygame 写的猜数游戏,其他的一些模型一般回复的内容都是 cmd 版本的。

在矩池云使用ChatGLM-6B & ChatGLM2-6B,人工智能,机器学习,深度学习,语言模型文章来源地址https://www.toymoban.com/news/detail-632958.html

到了这里,关于在矩池云使用ChatGLM-6B & ChatGLM2-6B的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用Triton部署chatglm2-6b模型

    NVIDIA Triton Inference Server是一个针对CPU和GPU进行优化的云端和推理的解决方案。 支持的模型类型包括TensorRT、TensorFlow、PyTorch(meta-llama/Llama-2-7b)、Python(chatglm)、ONNX Runtime和OpenVino。 NVIDIA Triton Server是一个高性能的推断服务器,具有以下特点: 1. 高性能:Triton Server为使用GPU进行推

    2024年02月08日
    浏览(56)
  • 【ChatGLM_02】LangChain知识库+Lora微调chatglm2-6b模型+提示词Prompt的使用原则

    运行langchain-ChatGLM-master下面的webui.py文件 (1) 配置知识库 新建知识库 向知识库当中添加文件 支持上传的数据格式:word、pdf、excel、csv、txt、文件夹等。但是此处我试了一下 (2) 文档数据测试 word文档测试: (3) 知识库测试模式 知识库测试只会返回输入内容在当前知识库当中的

    2024年02月14日
    浏览(42)
  • ChatGLM2-6B

    ChatGLM2-6B 项目基本情况 GitHub:https://github.com/THUDM/ChatGLM2-6B/tree/main 参考:https://mp.weixin.qq.com/s/11jCCeOpg1YbABIRLlnyvg 主要贡献 更强大的性能:基于 ChatGLM 初代模型的开发经验,我们全面升级了 ChatGLM2-6B 的基座模型。ChatGLM2-6B 使用了 GLM 的混合目标函数,经过了 1.4T 中英标识符的预

    2024年02月15日
    浏览(45)
  • ChatGLM2-6B 部署

    这是ChatGLM2-6B 部署的阅读笔记,主要介绍了ChatGLM2-6B模型的部署和一些原理的简单解释。 它是单卡开源的对话模型。 充分的中英双语预训练 较低的部署门槛 FP16半精度下,需要至少13G的显存进行推理,甚至可以进一步降低到10G(INT8)和6G(INT4) 更长的序列长度 ChatGLM-6B 序列长度达

    2024年02月09日
    浏览(54)
  • ChatGLM2-6B、ChatGLM-6B 模型介绍及训练自己数据集实战

    介绍 ChatGLM-6B是开源的文本生成式对话模型,基于General Language Model(GLM)框架,具有62亿参数,结合模型蒸馏技术,实测在2080ti显卡训练中上(INT4)显存占用 6G 左右, 优点 :1.较低的部署门槛: FP16 半精度下,ChatGLM-6B 需要至少 13GB 的显存进行推理,结合模型量化技术,一需求可以进一步

    2024年02月12日
    浏览(59)
  • 三个开源大模型(chatglm2-6B, moss, llama)-chatglm2的测试

    chatglm2-6B 是清华大学开源的一款支持中英双语的对话语言模型。经过了 1.4T 中英标识符的预训练与人类偏好对齐训练,具有62 亿参数的 ChatGLM2-6B 已经能生成相当符合人类偏好的回答。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6G

    2024年02月11日
    浏览(66)
  • ChatGLM2-6B下载与部署

    我们首先来看一下 ChatGLM2-6B 模型的 requirements : 可以看到,要求 torch=2.0 ,这就产生了一个问题: torch 与 cuda 版本的匹配问题。本地机器中 CUDA=10.0 ,于是在费了半天时间配置好 ChatGLM2-6B 所需环境,从 github 和 huggingface 下载好了 ChatGLM2-6B 模型,但是在 run 的过程中报错 Torch

    2024年02月06日
    浏览(68)
  • 阿里云部署 ChatGLM2-6B 与 langchain+ChatGLM

    更新系统 安装git 克隆 ChatGLM2-6B 源码 克隆 chatglm2-6b 模型 安装 ChatGLM2-6B 依赖 修改模型的路径 修改成 启动服务 启动成功后 克隆 langchain-ChatGLM 源码 git clone https://github.com/imClumsyPanda/langchain-ChatGLM.git 克隆模型 安装 langchain-ChatGLM 依赖 修改配置 修改一 修改成 修改二 修改成 修改

    2024年02月15日
    浏览(50)
  • ChatGLM2-6B github页面 介绍

    ChatGLM 2 -6B 是开源中英双语对话模型 ChatGLM-6B 的第二代版本,在保留了初代模型对话流畅、部署门槛较低等众多优秀特性的基础之上,ChatGLM 2 -6B 引入了如下新特性: 更强大的性能 :基于 ChatGLM 初代模型的开发经验,我们全面升级了 ChatGLM2-6B 的基座模型。ChatGLM2-6B 使用了

    2024年02月13日
    浏览(47)
  • 第五篇-ChatGLM2-6B模型下载

    可以使用如下代码下载 创建下载环境 编写代码 down_glm2.py snapshot_download其他参数 只允许下载部分类型的文件(以JSON为例) allow_patterns=‘*.json’, 不允许下载部分类型的文件(以JSON为例) ignore_patterns=[‘*.json’] 执行下 第一篇-ChatGLM-webui-Windows安装部署-CPU版 第二篇-二手工作站

    2024年02月14日
    浏览(78)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包