首页 > 其他分享 >ChatGLM

ChatGLM

时间:2023-07-28 15:11:54浏览次数:43  
标签:显存 中文 模型 6B 开源 ChatGLM

ChatGLM

本人是做视觉模型的,后续大模型这块在自然语言的火起来,后续视觉大模型要发展也是结合多模态,突然发现语言模型逃不开,还是需要学习点。在语言大模型这块呢,因为金钱和能力限制,坐不了真正意义的大模型,模型参数估计限制在10B内,为此需要找到合适的技术方向进行学习。(太大参数模型还真搞不了,落地估计更难了,这么大参数的模型只能在芯片集群分析的,没点金钱实力办不了)

在调研中国外的模型在国内的垂直应用,存在一定的水土不服,有的还涉及到商用授权的问题,在B站学习后,先研究下ChatGLM,看完之后国内在研究后有一定的教程,这个还是很不错,最近在各个公司的社区中相关技术文档越来越完善,其实学习时,掌握开源作者的readme就够了(当然还有些是环境配置的问题,这个都是小事)

一、中文语言大模型介绍

下表统计了,截止到至 2023 年 5 月 31 日在 github 上星标大于 3k 的中文开源项目。

模型名 介绍
ChatGLM ChatGLM-6B是一个基于通用语言模型(GLM)框架的开放式双语语言模型,使用了和ChatGPT 相似的技术,针对中文问答和对话进行了优化,模型拥有62亿参数。
Moss MOSS是一个支持中英双语和多种插件的开源对话语言模型,
moss-moon系列模型具有160亿参数,MOSS基座语言模型在约七千亿中英文以及代码单词上预训练得到,后续经过对话指令微调、插件增强学习和人类偏好训练具备多轮对话能力及使用多种插件的能力。
Chinese-LLaMA-Alpaca 在LLaMA模型的基础上扩充了中文词表并使用了中文数据进行二次预训练,进一步提升了中文基础语义理解能力。同时,中文Alpaca模型进一步使用了中文指令数据进行精调,显著提升了模型对指令的理解和执行能力。
BELLE BELLE团队在LLaMA、Bloomz等开源模型的基础上针对中文做了优化,在模型调优时使用由ChatGPT生产的数据,项目持续开放指令训练数据、相关模型、训练代码、应用场景等。
华驼(HuaTuo) 在LLaMA-7B模型的基础上使用中文医学指令精调/指令微调
(Instruct-tuning)。项目通过医学知识图谱和GPT3.5API构建了中文医学指令数据集,提高了LLaMA在医疗领域的问答效果。
LaWGPT 基于中文法律知识的大语言模型,在通用中文基座模型(如
Chinese-LLaMA、ChatGLM 等)的基础上扩充法律领域专有词表、大规模中文法律语料预训练,增强了大模型在法律领域的基础语义理解能力。

ChatGLM 是由清华大学 KEG 实验室和智谱 AI 联合开发的基于 GLM 框架(Du, 2022)的大语言模型,2023 年 3 月,团队开源了 ChatGLM 62 亿参数的版本——ChatGLM-6B,6B 规模的大小使 ChatGLM 模型非常适合本地部署,目前 ChatGLM-6B 在全球下载量已超过 200 万。

二、ChatGLM介绍

其源码在github地址为:ChatGLM

开源项目如图所示:

正如图中所示,根据自己的需要选在对应的模型,对与开发展,可能更愿意拥抱chatglm2-6B。

三、ChatGLM2-6B

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

详情请看:ChatGLM2-6B详情介绍

量化等级 最低 GPU 显存(推理) 最低 GPU 显存(高效参数微调)
FP16(无量化) 13 GB 14 GB
INT8 8 GB 9 GB
INT4 6 GB 7 GB

其对于我们来讲能否看到落地的希望,重点则是前向推理显存占用较少。

四、学习指南

下面的开源项目是官方推荐:

对 ChatGLM 进行加速的开源项目:

  • lyraChatGLM: 对 ChatGLM-6B 进行推理加速,最高可以实现 9000+ tokens/s 的推理速度
  • ChatGLM-MNN: 一个基于 MNN 的 ChatGLM-6B C++ 推理实现,支持根据显存大小自动分配计算任务给 GPU 和 CPU
  • JittorLLMs:最低3G显存或者没有显卡都可运行 ChatGLM-6B FP16, 支持Linux、windows、Mac部署
  • InferLLM:轻量级 C++ 推理,可以实现本地 x86,Arm 处理器上实时聊天,手机上也同样可以实时运行,运行内存只需要 4G

基于或使用了 ChatGLM-6B 的开源项目:

  • langchain-ChatGLM:基于 langchain 的 ChatGLM 应用,实现基于可扩展知识库的问答
  • 闻达:大型语言模型调用平台,基于 ChatGLM-6B 实现了类 ChatPDF 功能
  • glm-bot:将ChatGLM接入Koishi可在各大聊天平台上调用ChatGLM
  • Chuanhu Chat: 为各个大语言模型和在线模型API提供美观易用、功能丰富、快速部署的用户界面,支持ChatGLM-6B。

支持 ChatGLM-6B 和相关应用在线训练的示例项目:

第三方评测:

更多开源项目参见 [PROJECT.md]

自己实践学习的如图所示:

在整个实践中环境部署不难,重点是下载各种模型。模型放在model_data中,这样所有项目可以共用模型,到时修改配置文件即可

项目中readme比较详细,直接参考用即可。具体的示例图

ChatGLM-6B

的web_demo如下:

langchain-ChatGLM

angchain-ChatGLM是基于 ChatGLM-6B + langchain 实现的基于本地知识的 ChatGLM 应用。

项目亮点:可以本地上传知识库,并且计划支持联网搜索。

项目地址:https://github.com/imClumsyPanda/langchain-ChatGLM

visual-openllm

基于 ChatGLM + Visual ChatGPT + Stable Diffusion

项目亮点:整合了ChatGLM和Stable Diffusion,支持作图。

项目地址:https://github.com/visual-openllm/visual-openllm

标签:显存,中文,模型,6B,开源,ChatGLM
From: https://www.cnblogs.com/polly333/p/17587643.html

相关文章

  • LangChain+ChatGLM2-6B搭建知识库
    ChatGLM2-6B介绍ChatGLM2-6B在保留了初代模型对话流畅、部署门槛较低等众多优秀特性的基础之上,引入了如下新特性:• 更强大的性能:基于ChatGLM初代模型的开发经验,全面升级了基座模型。ChatGLM2-6B使用了 GLM 的混合目标函数,经过了1.4T中英标识符的预训练与人类偏好对......
  • 与 AI 同行,利用 ChatGLM 构建知识图谱
    大家好,我是东方财富的一名算法工程师,这里分享一些利用大模型赋能知识图谱建设的一些实践。为什么知识图谱需要大模型在金融场景中,天然会有大量结构化的数据需要投入大量的人力去生产和维护,而这样的数据又会大量被应用在下游的标签、推荐、风控等场景。比如基金关联的基金经理,基......
  • ChatGLM2 部署全过程每一步超详细
    打开autodl,创建实例TeslaT4*1卡使用miniconda镜像。方法一:从huggingface下载这个步骤不稳定我们换种下载方式apt-getupdateaptinstallgit-lfsgitlfsinstallgitclonehttps://huggingface.co/THUDM/chatglm2-6b方法二:去清华云下载模型这个链接只能下载所有的模型......
  • ChatGLM-6B阿里云服务器部署及微调笔记
    1、ChatGLM-6B阿里云服务器部署整体参考零基础,零成本,部署一个属于你的大模型https://blog.csdn.net/qqxx6661/article/details/130311311?ops_request_misc=&request_id=&biz_id=102&utm_term=阿里云chatglm&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaid......
  • ChatGLM-6B第二代模型开源,拿下LLM模型中文能力评估榜单第一名
    ChatGLM-6B自3月14日发布以来,深受广大开发者喜爱。截至6月24日,来自Huggingface上的下载量已经超过300w。为了更进一步促进大模型开源社区的发展,我们再次升级ChatGLM-6B,发布ChatGLM2-6B。在主要评估LLM模型中文能力的C-Eval榜单中,截至6月25日ChatGLM2模型以71.1的......
  • Hugging News #0626: 音频课程更新、在线体验 baichuan-7B 模型、ChatGLM2-6B 重磅发
    每一周,我们的同事都会向社区的成员们发布一些关于HuggingFace相关的更新,包括我们的产品和平台更新、社区活动、学习资源和内容更新、开源库和模型更新等,我们将其称之为「HuggingNews」,本期HuggingNews有哪些有趣的消息,快来看看吧!重要更新最新音频课程现已发布近期,我们......
  • ChatGPT小型平替之ChatGLM-6B本地化部署、接入本地知识库体验
    本文期望通过本地化部署一个基于LLM模型的应用,能让大家对构建一个完整的应用有一个基本认知。包括基本的软硬环境依赖、底层的LLM模型、中间的基础框架及最上层的展示组件,最终能达到在本地零编码体验的目的。一、ChatGLM-6B模型介绍https://github.com/THUDM/ChatGLM-6B[Star......
  • ChatGLM项目启动选项参数
    项目启动选项usage:langchina-ChatGLM[-h][--no-remote-model][--modelMODEL][--loraLORA][--model-dirMODEL_DIR][--lora-dirLORA_DIR][--cpu][--auto-devices][--gpu-memoryGPU_MEMORY[GPU_MEMORY...]][--cpu-memoryCPU_MEMORY][--load-in-8bit][--bf16]......
  • 在 Windows 下部署 ChatGLM-6B 过程记录
    1、为git安装lfs模块下载模型文件前,需要安装gitlfs模块以支持大文件的下载。下载地址:https://git-lfs.com/验证:gitlfsinstall2、下载模型文件gitclonehttps://huggingface.co/THUDM/chatglm-6b-int43、......
  • ChatGLM-6B云服务器部署教程
    目录一、准备服务器1.购买服务器2.开机进入终端3.进入终端二、部署ChatGLM1.执行命令2.本地代理访问地址2.1结果如下2.2api接口一样操作三、Fastapi流式接口1.api_fast.py1.2将api_fast.py上传到服务器2.准备插件3.访问地址CSDN链接地址:https://blog.csdn.net/Yh_yh_new_Yh/ar......