大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理解,而且能够帮助新手快速入门。

  本文深入讲解了大模型巨作:《ChatGLM3大模型本地化部署、应用开发与微调》,希望能对学习大模型的同学们有所帮助。

1. 前言

  在人工智能的浪潮中,自然语言处理(NLP)技术正以前所未有的速度发展。ChatGLM3,作为当前领先的语言模型之一,不仅在理解语言的深度和广度上取得了显著成就,更在本地化部署、应用开发和模型微调方面展现出巨大的潜力和应用价值。

  而在《ChatGLM3大模型本地化部署、应用开发与微调》一书,旨在为读者提供一个全面深入的指南,以助于理解和掌握ChatGLM3模型的本地化部署策略、应用开发的技巧以及模型微调的方法。本书不仅适合NLP领域的研究人员和开发者,也适合对人工智能、机器学习和深度学习有兴趣的广大读者。

  随着技术的不断进步,ChatGLM3模型的本地化部署成为了一个重要的议题。本地化不仅能够减少对网络的依赖,提高应用的响应速度,而且还能更好地满足数据安全的需求。在数据隐私和合规性日益受到重视的今天,本地化部署允许企业在确保数据不出本地环境的前提下,充分利用ChatGLM3的强大功能。

【优质书籍推荐】ChatGLM3大模型本地化部署、应用开发与微调-LMLPHP

2. 书籍推荐

2.1 内容简介

  本书旨在全面介绍大模型时代的来临,并重点探讨如何利用ChatGLM3等大模型开发智能应用系统。首先对大模型的历史发展、概念特征以及应用前景进行了阐述,为读者奠定基础知识。

  接下来,书中详细讲解了如何搭建深度学习环境,安装并使用ChatGLM3这一先进的大模型。通过Gradio等工具,实现了ChatGLM3的便捷在线部署。

  除了独立使用ChatGLM3以外,书中还将其与LangChain框架相结合,用于知识图谱抽取和智能问答任务。对LangChain中Template和Chain的使用方法也有深入探讨。此外,还介绍了ChatGLM3在增强生成、思维链和提示工程等领域的实践应用。

  书中对GLM模型的源码进行了解析,并基于此实现了文本生成功能。针对大模型微调技术,如LoRA、QLoRA等,也有详尽的原理讲解和实践指导。另外,揭示了ChatGLM3如何调用和注册官方工具函数的内部机制。

  最后,书中提供了多个实战案例,包括构建美妆助手、财务报表信息抽取、财务智能问答等,帮助读者掌握在实际场景中应用大模型的能力。

  总的来说,本书内容全面且实用,为读者打开通往大模型智能应用开发的大门。

2.2 本书作者

  王晓华,高校计算机专业讲师,研究方向为云计算、大数据与人工智能。著有《PyTorch语音识别实战》《从零开始大模型开发与微调:基于PyTorch与ChatGLM》《PyTorch 2.0深度学习从零开始学》《Python机器学习与可视化分析实战》《谷歌JAX深度学习从零开始学》《Spark 3.0大数据分析与挖掘:基于机器学习》《TensorFlow深度学习应用实践》《OpenCV+TensorFlow深度学习与计算机视觉实战》《TensorFlow知识图谱实战》《TensorFlow人脸识别实战》《TensorFlow语音识别实战》《TensorFlow+Keras自然语言处理实战》《TensorFlow 2.0卷积神经网络实战》《Keras实战:基于TensorFlow2.2的深度学习实践》《TensorFlow 2.0深度学习从零开始学》《深度学习的数学原理与实现》。
【优质书籍推荐】ChatGLM3大模型本地化部署、应用开发与微调-LMLPHP

2.3 本书目录

目 录
第1章 大模型时代的开端 1
1.1 大模型的历史与发展 1
1.1.1 大模型的“涌现” 1
1.1.2 深度学习与大模型的起源 3
1.1.3 大模型的概念与特点 4
1.1.4 大模型开启了深度学习的新时代 5
1.2 为什么要使用大模型 6
1.2.1 大模型与普通模型的区别 7
1.2.2 为什么选择ChatGLM 8
1.2.3 大模型应用场合与发展趋势 9
1.3 本章小结 102章 PyTorch 2.0深度学习环境搭建 11
2.1 安装Python开发环境 12
2.1.1 Miniconda的下载与安装 12
2.1.2 PyCharm的下载与安装 14
2.1.3 softmax函数练习 18
2.2 安装PyTorch 2.0 19
2.2.1 NVIDIA 10/20/30/40系列显卡选择的GPU版本 19
2.2.2 PyTorch 2.0 GPU NVIDIA运行库的安装 19
2.2.3 Hello PyTorch 22
2.3 Hello ChatGLM3 23
2.3.1 ChatGLM3简介与安装 23
2.3.2 CPU版本的ChatGLM3推演 25
2.3.3 GPU(INT4或INT8量化)版本的ChatGLM3推演 26
2.3.4 GPU(half或float量化)版本的ChatGLM3推演 28
2.3.5 离线状态的ChatGLM3的使用 29
2.3.6 ChatGLM的高级使用 30
2.4 本章小结 313章 基于gradio的云上自托管ChatGLM3部署实战 32
3.1 gradio的基本使用详解 32
3.1.1 从gradio的Interface开始 33
3.1.2 gradio输入与输出组件 35
3.1.3 启动gradio的launch 41
3.1.4 gradio中多样化的输入和输出组件 42
3.1.5 gradio中常用的几个组件 45
3.1.6 使用gradio搭建视频上色服务 57
3.2 基于gradio的猫狗分类可视化训练与预测实战 59
3.2.1 运行环境与数据集的准备 60
3.2.2 模型的设计 63
3.2.3 PyTorch模型训练的基本流程 64
3.2.4 可视化训练流程 65
3.2.5 使用训练好的模型完成gradio可视化图像分类 67
3.3 基于网页端的ChatGLM3部署和使用 69
3.3.1 使用gradio搭建ChatGLM3网页客户端 70
3.3.2 使用ChatGLM3自带的网页客户端 71
3.4 基于私有云服务的ChatGLM3部署和使用 72
3.4.1 使用FastAPI完成ChatGLM3私有云交互端口的搭建(重要) 73
3.4.2 基于streamlit的ChatGLM3自带的网页客户端 74
3.5 本章小结 744章 使用ChatGLM3与LangChain实现知识图谱抽取和智能问答 75
4.1 当ChatGLM3遇见LangChain 76
4.1.1 LangChain的基本构成、组件与典型场景 76
4.1.2 确认统一地址的ChatGLM3部署方案 78
4.1.3 使用ChatGLM3构建LangChain的LLM终端 78
4.1.4 从一个简单的提示模板开始 81
4.1.5 ChatGLM3格式化提示词的构建与使用 82
4.2 ChatGLM3+ LangChain搭建专业问答机器人 84
4.2.1 使用LangChain的LLM终端完成文本问答 84
4.2.2 数据准备与基础算法分析 86
4.2.3 使用LangChain完成提示语Prompt工程 87
4.2.4 基于ChatGLM3的LLM终端完成专业问答 88
4.3 使用ChatGLM3的LLM终端搭建知识图谱抽取与智能问答 89
4.3.1 基于ChatGLM3的LLM终端完成知识图谱抽取 89
4.3.2 基于ChatGLM3的LLM终端完成智能问答 91
4.4 本章小结 925章 适配ChatGLM3终端的Template与Chain详解 93
5.1 基于输入模板的人机交互 93
5.1.1 提示模板的4种类型 94
5.1.2 可嵌套的提示模板 95
5.2 Template中示例的最佳选择 97
5.2.1 基于长度的输出示例 97
5.2.2 基于相似度的输出示例 99
5.3 使用Chain提高ChatGLM3的能力 100
5.3.1 Chain的数学计算方法 101
5.3.2 多次验证检查器 101
5.4 LangChain中的记忆功能 102
5.4.1 ConversationChain会话链的使用 102
5.4.2 系统memory的使用 103
5.5 基于ChatGLM3终端撰写剧情梗概、评论与宣传文案实战 105
5.5.1 对过程进行依次调用的顺序链SimpleSequentialChain 105
5.5.2 对过程进行依次调用的顺序链SequentialChain 107
5.5.3 对顺序链添加额外参数的方法 109
5.6 本章小结 1116章 ChatGLM3多文本检索的增强生成实战 112
6.1 使用自然语言处理方法对目标进行查找 113
6.1.1 数据集的准备 113
6.1.2 分别基于BM25与LLM终端进行目标查找的方法 114
6.1.3 建立工业级标准化输出:LLM终端与BM25结合 116
6.2 基于LLM终端完成文本内容抽取与文本问答 118
6.2.1 读取目标内容 118
6.2.2 LangChain对文档的读取与分割方法 119
6.2.3 基于LangChain的文本分块 123
6.2.4 找到最近似问题的文本段落 124
6.2.5 使用LLM终端完成智能文本问答 125
6.3 使用LLM终端完成反向问题推断 127
6.3.1 文本问题提取实战 127
6.3.2 存储提取后的内容 130
6.4 本章小结 1317章 构建以人为本的ChatGLM3规范化Prompt提示工程 132
7.1 提示工程模板构建的输入与输出格式 132
7.1.1 提示模板的输入格式 133
7.1.2 提示模板的输出格式 135
7.2 提示工程模板高级用法 138
7.2.1 提示模板的自定义格式 138
7.2.2 提示模板的FewShotPromptTemplate格式 139
7.2.3 部分格式化的提示模板详解 140
7.3 结合提示工程的网页搜索服务实战 142
7.3.1 网页搜索的API实现 142
7.3.2 网页问答提示模板的实现 143
7.3.3 结合网页搜索的LLM终端问答实战 144
7.4 本章小结 1458章 使用ChatGLM3的思维链构建 146
8.1 思维链初探 146
8.1.1 思维链源于人类使用自然语言的概念来理解事物 147
8.1.2 思维链的优势与应用场景 147
8.2 思维链详解及其实战 149
8.2.1 思维链详解 149
8.2.2 基于ChatGLM3的思维链实战 150
8.3 本章小结 1529章 GLM源码分析与文本生成实战 153
9.1 GLM组件详解 154
9.1.1 GLM模型架构重大突破:旋转位置编码 154
9.1.2 添加旋转位置编码的注意力机制 156
9.1.3 新型的激活函数GLU详解 156
9.1.4 GLM“三角掩码”与“错位”输入输出格式详解 157
9.2 GLM整体架构详解与文本生成实战 159
9.2.1 调整架构顺序的GLMBlock 159
9.2.2 自定义GLM模型(单文本生成版) 162
9.3 本章小结 16710章 低资源单GPU微调ChatGLM3实战 168
10.1 什么是大模型微调 168
10.1.1 大模型微调的作用 169
10.1.2 大模型微调技术有哪些 169
10.1.3 参数高效微调详解 170
10.2 ChatGLM3大模型微调的准备内容 171
10.2.1 从数据准备看ChatGLM3微调:有监督微调详解 172
10.2.2 从实施看ChatGLM3微调:LoRA详解 173
10.2.3 适配ChatGLM3微调的辅助库:PEFT详解 174
10.3 虚拟客服多轮问答实战 180
10.3.1 ChatGLM3数据输入结构和处理函数 181
10.3.2 ChatGLM3微调训练 186
10.3.3 ChatGLM3微调推理 189
10.4 加速的秘密:accelerate训练方法与模型量化详解 191
10.4.1 加速器accelerate详解与完整代码编写 192
10.4.2 加速的秘密1:大模型的量化技术 195
10.4.3 加速的秘密2:大模型的INT8量化方案 196
10.4.4 加速的秘密3:大模型ChatGLM3中的量化源码分析与实践 198
10.5 更快的量化训练方案:QLoRA基础内容详解 200
10.5.1 加速的秘密4:基于bitsandbytes的ChatGLM3量化QLoRA实现 200
10.5.2 加速的秘密5:QLoRA详解 202
10.5.3 微调的目的:让生成的结果更聚焦于任务 205
10.6 QLoRA微调文本生成实战 207
10.6.1 数据处理 207
10.6.2 损失函数设计 210
10.6.3 基于QLoRA的ChatGLM3文本生成微调实战 211
10.6.4 基于QLoRA的ChatGLM3文本生成 213
10.7 本章小结 21511章 会使用工具的ChatGLM3 216
11.1 ChatGLM3调用工具源码详解与实战 216
11.1.1 Python调用工具详解 217
11.1.2 ChatGLM3工具调用流程详解 218
11.1.3 大模型ChatGLM3工具调用实战详解 220
11.1.4 大模型ChatGLM3工具调用原理详解 223
11.1.5 ChatGLM3消息传递方式详解 230
11.2 ChatGLM3官方工具注册与调用源码分析与实战 231
11.2.1 Python中的装饰器与回调函数 231
11.2.2 ChatGLM3官方工具函数的注册源码分析详解 233
11.2.3 大模型ChatGLM3官方工具调用的判定依据详解 236
11.2.4 ChatGLM3官方工具函数的调用分析详解 237
11.2.5 ChatGLM3调用工具分析与实战演示 238
11.3 ChatGLM3实战:构建个人助理之美妆助手 240
11.3.1 背景和参考资料设定 240
11.3.2 美妆助手的使用实战 246
11.4 本章小结 24712章 上市公司财务报表非结构化信息抽取实战 249
12.1 超长文本处理功能的ChatGLM3与真实财务报表的处理 250
12.1.1 ChatGLM3-6B-32K模型的获取与缓存 250
12.1.2 超大规模的20202023年真实中国股票市场年度财务报表数据库的建立 250
12.2 单报表非结构化信息抽取实战 253
12.2.1 单报表数据探查与提取信息结构化处理 253
12.2.2 单报表数据非结构化信息抽取的实现 254
12.3 本章小结 25613章 上市公司财务报表智能问答与财务预警实战 257
13.1 基于ChatGLM3的非结构化数据抽取与大规模财务报表数据库的建立 257
13.1.1 逐行代码讲解使用ChatGLM3对关键数据进行抽取 258
13.1.2 大规模上市公司财务报表目标字段抽取函数的建立 260
13.1.3 大规模上市公司财务报表目标字段数据库的建立 262
13.2 基于自然语言的上市公司财务报表智能问答与财务预警实战 264
13.2.1 使用自然语言结合ChatGLM3实现上市公司财务报表智能问答与预警解决方案1 264
13.2.2 使用自然语言结合ChatGLM3-6B实现上市公司财务报表智能问答与预警解决方案2 267
13.2.3 使用自然语言结合ChatGLM3实现上市公司财务报表智能问答与预警解决方案3 270
13.3 本章小结 272
附录 大模型的“幻觉” 273

2.4 适合读者

  《ChatGLM3大模型本地化部署、应用开发与微调》是一本专门针对大模型初学者、研究人员和开发人员而编写的权威指南。无论您是刚踏入大模型领域的新手,还是已具备一定基础的研究人员,亦或是致力于大模型应用开发的工程师,本书都将为您提供全面的理论知识和实践技能。

  对于初学者而言,本书将从大模型的基本原理出发,循序渐进地介绍核心概念、关键技术和主要应用场景,为您打下扎实的理论基础。随书配套的实践案例将引导您动手操作,快速上手并体验大模型的魅力。

  对于有一定基础的研究人员,本书将深入探讨大模型的前沿理论和算法,如注意力机制、transformer架构、预训练技术等,并介绍大模型在自然语言处理、计算机视觉、决策智能等领域的最新研究进展。

  对于应用开发人员,本书将提供实用的开发指南,包括大模型的本地化部署策略、API集成方法、微调调优技巧等,帮助开发者高效地将大模型技术应用于实际项目场景中。

  同时,本书内容严谨全面,不仅适合大模型从业人员自学,也可作为高等院校或高职高专相关专业的大模型课程教材,为培养新一代的大模型人才提供权威指导。无论您是哪一类读者,相信通过本书的学习,定能助您掌握大模型的方方面面,成为大模型领域的佼佼者。

3. 购买链接

  本书的京东购买链接为:ChatGLM3大模型本地化部署、应用开发与微调(人工智能技术丛书)](https://item.jd.com/14575684.html)

04-29 19:11