当前位置: 首页 > news >正文

昇思25天学习打卡营第19天|MindNLP ChatGLM-6B StreamChat

文章目录

      • 昇思MindSpore应用实践
        • ChatGML-6B简介
        • 基于MindNLP的ChatGLM-6B StreamChat
      • Reference

昇思MindSpore应用实践

本系列文章主要用于记录昇思25天学习打卡营的学习心得。

ChatGML-6B简介

ChatGLM-6B 是由清华大学和智谱AI联合研发的产品,是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。 ChatGLM-6B 使用了和 ChatGPT 相似的技术,针对中文问答和对话进行了优化。经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答。

基于MindNLP的ChatGLM-6B StreamChat

实验步骤:
1、导入MindNLP必要的模块:
AutoModelForSeq2SeqLM:用于自动加载适用于序列到序列任务的预训练模型。
AutoTokenizer:用于加载与模型相匹配的预训练分词器,用于文本的预处理和后处理。
gradio(别名gr):一个用于创建交互式机器学习界面的库。
mdtex2html:一个Markdown和LaTeX到HTML转换器。

2、导入ChatGLM-6B预训练模型
使用AutoModelForSeq2SeqLM.from_pretrained从指定源加载预训练的ChatGLM-6B大语言模型。

3、导入分词器
使用AutoTokenizer.from_pretrained加载与模型匹配的分词器。
分词器负责将原始文本转换成模型能理解的Token格式(通常是数字ID序列),并在生成文本后将其转换回可读的文本。

代码示例:

from mindnlp.transformers import AutoModelForSeq2SeqLM, AutoTokenizer
import gradio as gr
import mdtex2htmlmodel = AutoModelForSeq2SeqLM.from_pretrained('ZhipuAI/ChatGLM-6B', mirror="modelscope").half()  # .half()将模型的数据类型转换为半精度浮点数(float16)
model.set_train(False)  # 将模型设置为评估模式,关闭训练模式
tokenizer = AutoTokenizer.from_pretrained('ZhipuAI/ChatGLM-6B', mirror="modelscope")prompt = '有个叫丽丽的人连麦到一个昵称叫李鑫和南方的网友,丽丽说:你好,李鑫,就喜欢跟你们南方人聊天,你们南方人就是别北方人有点素质,不是夸你们呢,李鑫回答:我是山东人。请问丽丽会怎么回复?'
history = []
response, _ = model.chat(tokenizer, prompt, history=history, max_length=500)
response

返回结果:
在这里插入图片描述
结论:大模型就是比丽丽有点素质!OK了,家人们~

Reference

[1] Github-ChatGLM-6B
[2]昇思大模型平台

http://www.lryc.cn/news/404032.html

相关文章:

  • .NET在游戏开发中有哪些成功的案例?
  • 搜维尔科技:我们用xsens完成了一系列高难度的运动项目并且捕获动作
  • 深入探讨:Node.js、Vue、SSH服务与SSH免密登录
  • Unity UGUI 之 Toggle
  • Git报错:error: fsmonitor--daemon failed to start处理方法
  • 【项目】星辰博客介绍
  • 从0开始的STM32HAL库学习6
  • Elasticsearch ILM 热节点迁移至冷节点 IO 打满、影响读写解决方案探讨
  • STM32中PC13引脚可以当做普通引脚使用吗?如何配置STM32的TAMPER?
  • k8s学习——创建测试镜像
  • 重塑水资源管理的新篇章:深度剖析智慧水利解决方案的前沿技术与应用,探索其如何推动水利行业向智能化、高效化、可持续化方向迈进
  • C#实现数据采集系统-查询报文处理和响应报文分析处理
  • 【音视频】AAC编码器与ffmpeg生成AAC数据
  • Linux openEuler_24.03部署MySQL_8.4.0 LTS安装实测验证安装以及测试连接全过程实操手册
  • 【Elasticsearch7】3-基本操作
  • 给定一整数数组,其中有p种数出现了奇数次,其他数都出现了偶数次,怎么找到这p个数?
  • RICHTEK立锜科技 WIFI 7电源参考设计
  • CUDA编程00 - 配置CUDA开发环境
  • HTML5大作业三农有机,农产品,农庄,农旅网站源码
  • Spark的动态资源分配算法
  • Python 爬虫技术 第06节 HTTP协议与Web基础知识
  • js | 原型链
  • Volatility:分析MS10-061攻击
  • 水表数字识别3:Pytorch CRNN实现水表数字识别(含训练代码和数据集)
  • oracle数据文件损坏和误删dbf文件处理方法
  • postMessageXss续2
  • 【深度学习】sdxl的Lora训练技巧
  • 推荐一款 Android 手机端的 SSH 远程连接工具
  • 3.1、matlab双目相机标定实验
  • IntelliJ IDEA 直接在软件中更新为最新版