新書推薦:
《
资治通鉴臣光曰辑存 资治通鉴目录(司马光全集)(全二册)
》
售價:HK$
296.7
《
明代社会变迁时期生活质量研究
》
售價:HK$
308.2
《
律令国家与隋唐文明
》
售價:HK$
74.8
《
紫云村(史杰鹏笔下大唐小吏的生死逃亡,新历史主义小说见微之作,附赠5张与小说内容高度契合的宣纸彩插)
》
售價:HK$
101.2
《
现代吴语的研究(中华现代学术名著3)
》
售價:HK$
66.7
《
天下的当代性:世界秩序的实践与想象(新版)
》
售價:HK$
79.4
《
德国天才4:断裂与承续
》
售價:HK$
112.7
《
妈妈的情绪,决定孩子的未来
》
售價:HK$
43.7
|
編輯推薦: |
(1)需求导向,实用为本:作者凭借多年AI培训与社区建设的深厚积累,汲取项目实践与学员互动之精华,提炼出高效实用的开发方法论,为读者提供值得信赖的专业指导。(2)案例驱动,高效通关:精选Chat、辅助编程、RAG、翻译、AI Agent、智能语音对话、数字人、模型训练、AI小镇及VS Code插件等十大领域案例,引导读者快速通关核心领域的大模型应用开发。(3)实操验证,轻松上手:作者将丰富的实战经验精炼成一系列经过严格验证的部署、微调和量化操作流程,确保读者在多领域场景中获得高效、精准的开发体验。
|
內容簡介: |
本书系统地讲解了大语言模型的实战应用过程,涵盖基础知识、常见操作和应用开发3个方面,帮助大语言模型的使用者、应用开发者循序渐进地掌握大模型的原理、操作以及多个场景下的应用开发技能。全书共18章,分为三篇:?基础篇介绍大语言模型的基础知识、应用架构和应用工作模式。?操作篇详细讲解大模型的实操环节,包括环境搭建、多种有代表性的开源大语言模型的安装、微调与量化等常见操作。?开发篇讲述大语言模型在Chat、辅助编程、RAG、翻译、AI Agent、智能语音对话、数字人、模型训练、AI小镇这9个领域的应用开发过程,从工作原理、源码分析、部署运行和测试验证等方面进行了详细介绍。中间还穿插讲解了VS Code插件的开发,丰富了应用运行的场景。
|
關於作者: |
高强文
互链高科(北京)技术发展有限公司总经理,银川方达电子系统工程有限公司董事长,宁夏回族自治区劳动模范。专注于人工智能大语言模型应用开发、开源社区开发与运营。参加工作20多年来,一直从事医疗健康领域信息化、人工智能等产品研发与管理工作,近年来致力于开源事业,开发运营aliendao.cn、gitclone.com和opendao.cn等开源社区,在GitHub上贡献了20多个开源代码库。
|
目錄:
|
目 录
前 言
基础篇
第1章 大语言模型的基础知识 3
1.1 大语言模型概述 4
1.1.1 基本情况 4
1.1.2 发展历史 4
1.1.3 发展现状 6
1.1.4 发展趋势 7
1.2 基本原理 7
1.2.1 Transformer架构 8
1.2.2 编码器与解码器 8
1.2.3 自注意力机制 9
1.3 应用开发技术 11
1.3.1 Python 11
1.3.2 React.js 11
1.4 训练方法 12
1.4.1 FFT 12
1.4.2 RLHF 13
1.4.3 P-Tuning 13
1.4.4 LoRA 13
1.5 常见现象 13
1.5.1 幻觉 14
1.5.2 灾难性遗忘 14
1.5.3 涌现 14
1.5.4 价值对齐 15
第2章 大语言模型应用架构 16
2.1 整体架构 16
2.2 基础设施 17
2.2.1 硬件部分 17
2.2.2 操作系统 18
2.3 基础软件 18
2.3.1 CUDA 18
2.3.2 PyTorch 18
2.3.3 Anaconda 19
2.3.4 Nginx 19
2.4 应用软件 20
2.4.1 大语言模型文件 20
2.4.2 Transformers库 20
2.4.3 服务程序 20
2.4.4 API 21
2.4.5 客户端程序 21
第3章 大语言模型应用的工作模式 22
3.1 硬件部署 22
3.2 应用软件部署 23
3.3 运行模式 24
3.3.1 模型API服务的工作模式 24
3.3.2 模型API服务的运行过程 25
3.3.3 前后端交互方法 26
3.3.4 前端实现 27
操作篇
第4章 应用环境搭建 31
4.1 基础设施 31
4.1.1 服务器要求 31
4.1.2 操作系统准备 31
4.1.3 推理卡安装 32
4.2 基础软件安装 32
4.2.1 Linux 32
4.2.2 Windows 40
4.3 其他软件安装 41
4.3.1 Nginx 41
4.3.2 Git 42
第5章 大语言模型安装 43
5.1 ChatGLM安装 43
5.1.1 ChatGLM3模型介绍 43
5.1.2 ChatGLM3-6B安装 44
5.1.3 编程验证 45
5.2 Qwen-VL安装 47
5.2.1 Qwen模型介绍 47
5.2.2 Qwen-VL-Chat-Int4安装 47
5.2.3 编程验证 49
5.3 LLaMA2安装 50
5.3.1 LLaMA2模型介绍 50
5.3.2 Llama-2-7b-chat安装 51
5.3.3 运行验证 51
5.4 Gemma安装 54
5.4.1 Gemma模型介绍 54
5.4.2 Gemma-2B安装 55
5.4.3 编程验证 55
5.5 Whisper安装 57
5.5.1 Whisper-large-v3介绍 57
5.5.2 Whisper-large-v3安装 57
5.5.3 编程验证 58
第6章 大语言模型微调 60
6.1 ChatGLM微调 60
6.1.1 微调方法介绍 61
6.1.2 微调环境准备 61
6.1.3 语料准备 62
6.1.4 模型下载 65
6.1.5 微调过程 65
6.1.6 微调模型测试 67
6.2 LLaMA2微调 68
6.2.1 微调方法介绍 68
6.2.2 微调环境准备 69
6.2.3 语料准备 70
6.2.4 模型下载 71
6.2.5 微调过程 71
6.2.6 PEFT微调模型测试 73
6.2.7 模型合并 74
6.2.8 合并后模型测试 74
6.3 Gemma微调 74
6.3.1 微调方法介绍 74
6.3.2 微调环境准备 75
6.3.3 模型下载 75
6.3.4 微调程序开发 75
6.3.5 语料文件下载 77
6.3.6 微调与测试过程 78
第7章 大语言模型量化 79
7.1 量化介绍 79
7.2 llama.cpp量化过程 80
7.2.1 llama.cpp编译 80
7.2.2 模型GGUF格式转换 81
7.2.3 模型下载 81
7.2.4 量化过程 81
7.2.5 量化模型测试 82
7.2.6 Web方式运行 82
7.3 gemma.cpp量化过程 83
7.3.1 gemma.cpp源码下载 83
7.3.2 gemma.cpp编译 83
7.3.3 量化模型下载 84
7.3.4 推理 84
第8章 多模态模型应用 86
8.1 Stable Diffusion介绍 86
8.2 Stable Diffusion部署 87
8.2.1 代码获取 87
8.2.2 Python虚拟环境准备 87
8.2.3 依赖库安装 87
8.2.4 模型下载 88
8.2.5 服务运行 88
8.3 Stable Diffusion应用 88
8.3.1 文生图应用 89
8.3.2 图生图应用 90
开发篇
第9章 Chat应用 94
9.1 目标 94
9.2 原理 94
9.2.1 功能概要 94
9.2.2 系统架构 95
9.2.3 运行原理 96
9.3 开发过程 96
9.3.1 Node.js安装 96
9.3.2 chat-app新建 96
9.3.3 源代码 97
9.3.4 测试 98
9.3.5 应用发布 99
第10章 辅助编程应用 102
10.1 目标 103
10.2 原理 103
10.2.1 功能概要 103
10.2.2 系统架构 103
10.2.3 运行原理 104
10.3 开发过程 104
10.3.1 开发环境准备 104
10.3.2 测试模型准备 105
10.3.3 API服务实现 106
10.3.4 测试 110
第11章 VS Code插件 112
11.1 目标 112
11.2 原理 112
11.2.1 功能概要 112
11.2.2 系统架构 113
11.2.3 运行原理 114
11.3 开发过程 114
11.3.1 环境准备与项目创建 115
11.3.2 插件开发 115
11.3.3 插件发布 118
第12章 检索增强生成应用 121
12.1 目标 121
12.2 原理 122
12.2.1 功能概要 122
12.2.2 系统架构 123
12.2.3 运行原理 124
12.3 开发过程 125
12.3.1 大语言模型安装 125
12.3.2 依赖库安装 125
12.3.3 向量化模型下载 126
12.3.4 源代码 126
12.3.5 测试 128
第13章 PDF翻译应用 130
13.1 目标 130
13.2 原理 130
13.2.1 功能概要 130
13.2.2 系统架构 131
13.2.3 运行原理 131
13.3 开发过程 135
13.3.1 大语言模型安装 135
13.3.2 依赖环境安装 135
13.3.3 下载英译中模型 135
13.3.4 源代码 136
13.3.5 测试 138
第14章 智能代理应用 140
14.1 目标 140
14.2 原理 141
14.2.1 AI Agent 141
14.2.2 AutoGen 141
14.3 开发过程 143
14.3.1 大语言模型安装 143
14.3.2 Docker安装 144
14.3.3 虚拟环境准备 145
14.3.4 运行环境验证 145
14.3.5 多代理会话应用开发 146
第15章 语音模型应用 149
15.1 目标 149
15.2 原理 149
15.2.1 功能概要 149
15.2.2 系统架构 150
15.2.3 运行原理 151
15.3 开发过程 152
15.3.1 运行环境安装 152
15.3.2 模型下载 153
15.3.3 Demo运行 153
15.3.4 服务端开发 154
15.3.5 客户端开发 160
15.3.6 测试 163
第16章 数字人应用 166
16.1 目标 166
16.2 原理 167
16.2.1 功能概要 167
16.2.2 系统架构 167
16.2.3 运行原理 168
16.3 开发过程 169
16.3.1 环境准备 169
16.3.2 源代码 173
16.3.3 测试 177
第17章 提示词生成应用:从零训练
模型 179
17.1 目标 179
17.2 原理 180
17.2.1 GPT-2 180
17.2.2 训练流程与应用架构 181
17.2.3 训练方法与运行原理 182
17.3 开发与训练过程 185
17.3.1 语料整理 186
17.3.2 训练 188
17.3.3 推理与服务 196
17.3.4 测试 202
第18章 AI小镇应用 204
18.1 目标 204
18.2 原理 205
18.2.1 功能概要 205
18.2.2 系统架构 206
18.2.3 运行原理 207
18.3 开发过程 209
18.3.1 大语言模型安装 210
18.3.2 开发环境搭建 210
18.3.3 地图制作 210
18.3.4 app.js 211
18.3.5 BootScene.js 213
18.3.6 GameScene.js 213
18.3.7 ChatUtils.js 218
18.3.8 测试 219
|
內容試閱:
|
前 言
大语言模型(Large Language Model,LLM)是自然语言处理(Natural Language Processing,NLP)中的一个重要分支,它基于深度学习,采用海量文本数据和大量算力进行训练。训练后的模型能够理解和生成人类语言文本,执行与语言文本相关的任务,包括文本生成、代码补全、文章总结、翻译和情感分析等。
经过多年的发展,NLP技术在与人类语言相关的领域有着较为广泛的应用,如自动翻译、智能语音客服、文稿校对、语音助手等。这些应用场景通常涉及相对专业的需求。然而,随着ChatGPT的流行,大语言模型开始从专业领域走进大众的生活。以聊天(Chat)方式回答人们提出的问题,这种交互方式在日常生活中司空见惯,但出现在人工智能领域却非常新颖。这种趋势促使ChatGPT及类似产品迅速得到普及和应用,其背后的原理、训练过程等也逐步引起人们的关注。
大语言模型的应用非常广泛。例如,在辅助编程中,大语言模型能够根据上下文提示补全代码或编写整个函数;在智能语音客服中,大语言模型可以基于自然语言对用户提出的问题进行理解,并给出相应的答案;在教育领域,大语言模型可以帮助学生更好地理解和掌握知识,提高学习效率;在翻译领域,大语言模型能够准确地理解语言的语境、含义和结构,使翻译更加准确;大语言模型可以与语音、图像、视频等融合,形成多模态应用,如智能语音机器人、数字人等;大语言模型还可以与开发活动进行整合,产生如人工智能代理(AI Agent)等创新应用。
本书特点
这是一本介绍大语言模型基础知识、操作方法和应用开发的书。本书内容来源丰富且可靠,我在写作过程中抱持谨慎态度,确保读者能从中获得准确的信息。具体而言,本书的材料来源主要包括以下几个方面。
培训课件:在过去两年中,我作为讲师,面向教师、学生以及软件企业举办了多场大语言模型培训,深入了解了用户的实际需求。
社交媒体互动:我将自己在知乎等平台上发布的文章进行了整理和细化,这些文章曾引起读者的广泛关注。
实践案例:在本书撰写过程中,我开发了一系列示例程序,并对实际操作步骤进行了验证和测试。
开源项目:我将自己在GitHub平台上发布的开源应用进行了必要的调整和改进,以适应书中的说明和示例。
官方资源:我整合了来自各个大语言模型官网的资料,确保提供权威和最新的信息。
读者对象
本书涉及的模型丰富、操作步骤详细、源代码完整,便于大模型应用的使用者和开发者阅读及实践。
对于使用者来说,本书能满足其在部署、微调方面的需求。
对于开发者来说,9个不同领域的开发案例能满足其学习、实践的需求。
如何阅读本书
本书面向大语言模型应用的使用者和开发者,从大语言模型的基础知识开始,逐步深入,详细介绍了常见的操作方法和各类型应用的开发过程。
全书共18章,分为三篇。
基础篇(第1~3章),讲解大语言模型的基础知识、应用架构、应用工作模式。
操作篇(第4~8章),讲解大模型的实操环节,包括应用环境的搭建,多种大模型的安装、微调与量化等,囊括了大模型的常用操作。
开发篇(第9~18章),详细讲述大语言模型在9个领域的应用开发过程,包括Chat、编程、RAG、翻译、AI Agent、语音、数字人、提示词生成、AI小镇等,涵盖应用的开发目标、原理及开发过程,中间还穿插讲解了VS Code插件的开发,丰富了应用的运行场景。具体来说,本篇中每章都阐述了示例的设计目标,详细介绍了应用的运行原理,给出了源代码、运行方法、运行结果,内容完整,各章自成体系,章与章之间无严格的阅读顺序。
勘误和支持
虽然我在写作时已经尽力谨慎,但本书中仍可能出现一些错误或者不准确的地方,恳请读者指正。若读者发现有错漏之处或者提出宝贵意见,请通过邮箱little51@126.com联系我。
本书的所有源代码和简要操作步骤,都在https://github.com/little51/llm-dev上开源,读者可自行查阅。
实践要求及说明
在本书的所有示例中,涉及GPU的项目均可在16GB内存的推理卡或显卡上实现。虽然有一部分示例只需要8GB或6GB内存即可实现,但为了完整实践所有示例,还是建议采用16GB或16GB以上内存的推理卡或显卡,以及与之配套的服务器或高性能的个人计算机(PC)。
以下是关于代码的注意事项。
①由于排版中对每行代码长度的限制,Python程序中一些长行用反斜杠“\\”强制换行,这也是符合Python语法规范的。
②在操作系统命令行下执行命令时,Linux支持对较长的命令采用反斜杠“\\”进行换行,命令执行结果不会发生变化。在 Windows 系统中此方法不适用。如果遇到使用“\\”且换行的命令要在Windows上执行,则需要将“\\”去掉且不能换行。
例如,以下命令在Linux系统中运行正常。
pip install -r requirements.txt -i \https://pypi.mirrors.ustc.edu.cn/simple
而如果要在Windows系统上运行,则需要把行尾的“\\”删去,并且不换行,保持命令为一行。
pip install -r requirements.txt -i https://pypi.mirrors.ustc.
|
|