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

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

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

文章目录

  • 1. 前言
  • 2. 书籍推荐
    • 2.1 内容简介
    • 2.2 本书作者
    • 2.3 本书目录
    • 2.4 适合读者
  • 3. 购买链接

1. 前言

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

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

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

在这里插入图片描述

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深度学习从零开始学》《深度学习的数学原理与实现》。
在这里插入图片描述

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)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Latex入门教学——常用语句介绍

目录 一、导言 二、正文 三、图片 四、公式 五、表格 六、参考文献 LaTex模板下载 IEEE模板:IEEE Article Templates - IEEE Author Center Journals通用模板:Overleaf, Online LaTeX Editor其他方法:百度,CSDN等。 一、导…

华为校招机试 - 满二叉搜索树查找(20240424)

在线OJ测试 题目详情 - 满二叉搜索树查找 - HydroOJ 题目描述 给定 (2^n) - 1 个不同的整数(1 ≤ n ≤ 10,n 为整数),构建一棵平衡满二叉搜索树。 二叉搜索树定义如下: 节点的左子树只包含小于当前节点的数节点的右子树只包含大于当前节点的数所有左子树和右子树自身必…

为什么有些3D模型导入总是渲染不出来?---模大狮模型网

在使用3D建模软件时,有时候会遇到一些导入模型后无法正确渲染的问题,这给用户带来了不便和困扰。本文将探讨一些可能导致3D模型无法渲染的原因,并提供解决方案,帮助您顺利渲染模型。 一、文件格式不兼容某些3D建模软件只支持特定的…

SDA616 600KHz、16V、2A同步降压转换器

一般说明 该SDA616是一个完全集成,高效率2A同步整流降压转换器。该SDA616工作在一个宽的输 出电流负载范围高效率。该器件提供两种工作模式,PWM控制和PFM模式开关控制,它允许在更宽的负载范围内的高效率。 该SDA616需要一个现…

电脑开机后卡在开机LOGO画面如何排查处理

当电脑开机后长时间停滞在开机LOGO画面,无法继续进入操作系统,这一现象常令用户困扰不已。本文将深入探讨导致此类问题的多种可能原因,并提供相应的解决方法,帮助你有效地诊断和排除故障。 硬件故障或接触不良 1. 硬盘问题:硬盘是系统启动的关键组件,其故障或数据线接触…

RAG Survey

本文翻译自:Retrieval-Augmented Generation for Large Language Models: A Survey https://arxiv.org/pdf/2312.10997 文章目录 摘要一、INTRODUCTION二、RAG概述A. Naive RAGB. Advanced RAGC. Modular RAGD. RAG与微调 三、 检索A. 检索来源1) 数据结…

Qt客服端开发的组件库

Qt 是一个功能丰富的跨平台 C 应用程序框架,它包含了许多用于不同目的的组件库。以下是一些主要的 Qt 组件库,这些库为开发者提供了广泛的工具和功能,以便构建复杂的应用程序。北京木奇移动技术有限公司,专业的软件外包开发公司&a…

短信接口如何快速对接

短信大家都不陌生,基本上我们每天都会收到各种各样的短信,内容有些是营销类的,有些是数字验证码,有些是快递取件码类似的通知短信,这些短信内容都是通过短信接口触发来进行发送的,那么你知道短信接口如何快…

绘制签章 乱码问题 (踩坑日记)

签章汉字乱码问题 原因:我们在docker上因为没有汉字字体需要我们手动把文件打进去 注意点:如果开启了打包过滤加上字体不过滤 绘制签章转载

数海启航:数学与人工智能的深度交织

在人类文明的长河中,数学始终扮演着探秘未知、构建理论框架的基石角色。随着科技的飞速发展,尤其是人工智能(AI)的兴起,数学与这一前沿领域的结合愈发紧密,成为推动AI进步的最强引擎。 一、数学&#xff1a…

【操作系统复习资料】(持续更新中)

目录 第一章:操作系统引论 第二章:进程的描述与控制 未完待续。。。。。接 第三章:处理机调度与死锁 第四章:存储器管理 第五章:虚拟存储器 第六章:第八节 磁盘存储器的性能和调度 第一章&#xff1a…

Docker深入探索:网络与资源控制、数据管理与容器互联以及镜像生成

目录 一、 Docker网络 (一)Docker网络实现原理 (二)Docker网络模式 1. Bridge网络(默认) 2. Host网络 3. None网络 4. Container网络 5. 自定义网络 二、资源控制 (一)cgr…

windows下pysqlite3安装

pysqlite3 下载地址:SQLite Download Page windows下安装 首先在官网中下载以下文件 sqlite-amalgamation-3450300.zip #源码文件 sqlite-dll-win-x64-3450300.zip # 根据系统选择32或者64,可通过查看我的电脑属性中查看 sqlite-tools-win-x64-345…

万兆以太网MAC设计(9)数据流仲裁模块

文章目录 一、模块接口二、模块功能描述2.1、实现思路 三、仿真3.1、仿真设计3.2、仿真波形 总结: 一、模块接口 c0和c1表示输入的俩个数据通道,c0优先级高,P_ARBITER_LAYER 表示当前是在IP层进行仲裁还是MAC层,可复用于俩个模块…

每日算法之对称二叉树

题目描述 给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1: 输入:root [1,2,2,3,4,4,3] 输出:true 示例 2: 输入:root [1,2,2,null,3,null,3] 输出:false 提示: …

c# 构造函数 静态构造函数 内联字段(即静态字段和实例字段) 父类构造函数 父类静态构造函数 父类内联字段 执行顺序

顺序如下: 1.子类的内联字段 2.子类的静态构造函数 3.父类的内联字段 4.父类的静态构造函数 5.父类的构造函数 6.子类的构造函数 7.子类的方法 public class A{public static string a1"A0";static A(){Console.WriteLine("父类内联字段:…

内网安全【1】——域信息收集/应用网络凭证/CS插件/Android/BloodHound

内容大纲: 概念名词: 局域网 (自己家) 工作组 (网吧) 内网域 (公司) 比如一家公司有1000台机器 运维人员去管理1000 不可能每台上去都进行软件的安装 环境的部署 密码的设置…

VSCODE通过SFTP链接VM进行开发

在vscode插件里面搜索sftp,安装。 安装之后,按ctrlshiftp,找到sftp的config 然后填写刚刚的IP,然后是你的用户名密码 如果是通过密钥链接的话就是这样配置 然后切换到这个sftp的tab里面 然后在你的项目右键,然后选择op…

Linux实现简单进度条(附原理解释和动图效果)

1&#xff0c;行缓冲区 先看下面的代码和运行结果&#xff0c; #include<stdio.h> #include<unistd.h> int main() {printf("你好\n");sleep(3);return 0; }只是一个简单的打印“你好”然后休眠三秒&#xff0c;最后程序结束 再看下面的代码和运行结果…

将阿里云中数据传输到其他超算服务器

目录 方法一&#xff1a;在阿里云中连接超算&#xff0c;然后使用rsync&#xff08;速度慢&#xff09; 方法2&#xff1a;rclone(速度很快&#xff0c;100G只花了大约20min) 方法一&#xff1a;在阿里云中连接超算&#xff0c;然后使用rsync/scp&#xff08;速度慢&#xff0…