《从零开始大模型开发与微调》真的把大模型说透了!零基础入门一定要看!

2022年底,ChatGPT震撼上线,大语言模型技术迅速“席卷”了整个社会,人工智能技术因此迎来了一次重要进展。与大语言模型相关的研发岗薪资更是水涨船高,基本都是5w月薪起。很多程序员也想跟上ChatGPT脚步,今天给大家带来这本《从零开始大模型开发与微调》是很好入门书!
在这里插入图片描述

内容简介

大模型是深度学习自然语言处理皇冠上的一颗明珠,也是当前AI和NLP研究与产业中最重要的方向之一。本书使用PyTorch 2.0作为学习大模型的基本框架,以ChatGLM为例详细讲解大模型的基本理论、算法、程序实现、应用实战以及微调技术,为读者揭示大模型开发技术。本书配套示例源代码、PPT课件。

《从零开始大模型开发与微调:基于PyTorch与ChatGLM》共18章,内容包括人工智能与大模型、PyTorch 2.0深度学习环境搭建、从零开始学习PyTorch 2.0、深度学习基础算法详解、基于PyTorch卷积层的MNIST分类实战、PyTorch数据处理与模型展示、ResNet实战、有趣的词嵌入、基于PyTorch循环神经网络的中文情感分类实战、自然语言处理的编码器、预训练模型BERT、自然语言处理的解码器、强化学习实战、只具有解码器的GPT-2模型、实战训练自己的ChatGPT、开源大模型ChatGLM使用详解、ChatGLM高级定制化应用实战、对ChatGLM进行高级微调。

在这里插入图片描述

适读人群:

《从零开始大模型开发与微调:基于PyTorch与ChatGLM》适合PyTorch深度学习初学者、大模型开发初学者、大模型开发人员学习,也适合高等院校人工智能、智能科学与技术、数据科学与大数据技术、计算机科学与技术等专业的师生作为教学参考书。

这本《从零开始大模型开发与微调》已经上传CSDN,还有完整版的大模型 AI 学习资料,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

PDF书籍: 完整版本链接获取

👉[CSDN大礼包🎁:《从零开始大模型开发与微调》免费分享(安全链接,放心点击)]👈

目录

第1章 新时代的曙光—人工智能与大模型 1 [4]
1.1 人工智能:思维与实践的融合 1
1.1.1 人工智能的历史与未来 2
1.1.2 深度学习与人工智能 2
1.1.3 选择PyTorch 2.0实战框架 3
1.2 大模型开启人工智能的新时代 4
1.2.1 大模型带来的变革 4
1.2.2 最强的中文大模型—清华大学ChatGLM介绍 5
1.2.3 近在咫尺的未来—大模型的应用前景 6
1.3 本章小结 7
第2章 PyTorch 2.0深度学习环境搭建 8
2.1 环境搭建1:安装Python 8
2.1.1 Miniconda的下载与安装 8
2.1.2 PyCharm的下载与安装 11
2.1.3 Python代码小练习:计算Softmax函数 14
2.2 环境搭建2:安装PyTorch 2.0 15
2.2.1 Nvidia 10/20/30/40系列显卡选择的GPU版本 15
2.2.2 PyTorch 2.0 GPU Nvidia运行库的安装 15
2.2.3 PyTorch 2.0小练习:Hello PyTorch 18
2.3 生成式模型实战:古诗词的生成 18
2.4 图像降噪:手把手实战第一个深度学习模型 19
2.4.1 MNIST数据集的准备 19
2.4.2 MNIST数据集的特征和标签介绍 21
2.4.3 模型的准备和介绍 22
2.4.4 对目标的逼近—模型的损失函数与优化函数 24
2.4.5 基于深度学习的模型训练 24
2.5 本章小结 26
第3章 从零开始学习PyTorch 2.0 27
3.1 实战MNIST手写体识别 27
3.1.1 数据图像的获取与标签的说明 27
3.1.2 实战基于PyTorch 2.0的手写体识别模型 29
3.1.3 基于Netron库的PyTorch 2.0模型可视化 32
3.2 自定义神经网络框架的基本设计 34
3.2.1 神经网络框架的抽象实现 34
3.2.2 自定义神经网络框架的具体实现 35
3.3 本章小结 43
第4章 一学就会的深度学习基础算法详解 44
4.1 反向传播神经网络的前身历史 44
4.2 反向传播神经网络两个基础算法详解 47
4.2.1 最小二乘法详解 48
4.2.2 梯度下降算法 50
4.2.3 最小二乘法的梯度下降算法及其Python实现 52
4.3 反馈神经网络反向传播算法介绍 58
4.3.1 深度学习基础 58
4.3.2 链式求导法则 59
4.3.3 反馈神经网络的原理与公式推导 60
4.3.4 反馈神经网络原理的激活函数 64
4.3.5 反馈神经网络原理的Python实现 66
4.4 本章小结 70
第5章 基于PyTorch卷积层的MNIST分类实战 71
5.1 卷积运算的基本概念 71
5.1.1 基本卷积运算示例 72
5.1.2 PyTorch中的卷积函数实现详解 73
5.1.3 池化运算 75
5.1.4 Softmax激活函数 77
5.1.5 卷积神经网络的原理 78
5.2 实战:基于卷积的MNIST手写体分类 80
5.2.1 数据的准备 80
5.2.2 模型的设计 81
5.2.3 基于卷积的MNIST分类模型 82
5.3 PyTorch的深度可分离膨胀卷积详解 84
5.3.1 深度可分离卷积的定义 84
5.3.2 深度的定义以及不同计算层待训练参数的比较 86
5.3.3 膨胀卷积详解 87
5.3.4 实战:基于深度可分离膨胀卷积的MNIST手写体识别 87
5.4 本章小结 90
第6章 可视化的PyTorch数据处理与模型展示 91
6.1 用于自定义数据集的torch.utils.data工具箱使用详解 92
6.1.1 使用torch.utils.data. Dataset封装自定义数据集 92
6.1.2 改变数据类型的Dataset类中的transform的使用 93
6.1.3 批量输出数据的DataLoader类详解 98
6.2 实战:基于tensorboardX的训练可视化展示 100
6.2.1 可视化组件tensorboardX的简介与安装 100
6.2.2 tensorboardX可视化组件的使用 100
6.2.3 tensorboardX对模型训练过程的展示 103
6.3 本章小结 105
第7章 ResNet实战 106
7.1 ResNet基础原理与程序设计基础 106
7.1.1 ResNet诞生的背景 107
7.1.2 PyTorch 2.0中的模块工具 109
7.1.3 ResNet残差模块的实现 110
7.1.4 ResNet网络的实现 112
7.2 ResNet实战:CIFAR-10数据集分类 114
7.2.1 CIFAR-10数据集简介 114
7.2.2 基于ResNet的CIFAR-10数据集分类 117
7.3 本章小结 118
第8章 有趣的词嵌入 120
8.1 文本数据处理 120
8.1.1 Ag_news数据集介绍和数据清洗 120
8.1.2 停用词的使用 123
8.1.3 词向量训练模型Word2Vec使用介绍 125
8.1.4 文本主题的提取:基于TF-IDF 128
8.1.5 文本主题的提取:基于TextRank 132
8.2 更多的词嵌入方法—FastText和预训练词向量 134
8.2.1 FastText的原理与基础算法 135
8.2.2 FastText训练及其与PyTorch 2.0的协同使用 136
8.2.3 使用其他预训练参数来生成PyTorch 2.0词嵌入矩阵(中文) 140
8.3 针对文本的卷积神经网络模型简介—字符卷积 141
8.3.1 字符(非单词)文本的处理 141
8.3.2 卷积神经网络文本分类模型的实现—Conv1d(一维卷积) 148
8.4 针对文本的卷积神经网络模型简介—词卷积 151
8.4.1 单词的文本处理 151
8.4.2 卷积神经网络文本分类模型的实现—Conv2d(二维卷积) 153
8.5 使用卷积对文本分类的补充内容 155
8.5.1 汉字的文本处理 155
8.5.2 其他细节 157
8.6 本章小结 158
第9章 基于循环神经网络的中文情感分类实战 160
9.1 实战:循环神经网络与情感分类 160
9.2 循环神经网络理论讲解 165
9.2.1 什么是GRU 165
9.2.2 单向不行,那就双向 167
9.3 本章小结 168
第10章 从零开始学习自然语言处理的编码器 169
10.1 编码器的核心—注意力模型 170
10.1.1 输入层—初始词向量层和位置编码器层 170
10.1.2 自注意力层 172
10.1.3 ticks和Layer Normalization 177
10.1.4 多头注意力 178
10.2 编码器的实现 180
10.2.1 前馈层的实现 181
10.2.2 编码器的实现 182
10.3 实战编码器:拼音汉字转化模型 184
10.3.1 汉字拼音数据集处理 185
10.3.2 汉字拼音转化模型的确定 187
10.3.3 模型训练部分的编写 190
10.4 本章小结 191
第11章 站在巨人肩膀上的预训练模型BERT 193
11.1 预训练模型BERT 193
11.1.1 BERT的基本架构与应用 194
11.1.2 BERT预训练任务与微调 195
11.2 实战BERT:中文文本分类 198
11.2.1 使用Hugging Face获取BERT预训练模型 198
11.2.2 BERT实战文本分类 200
11.3 更多的预训练模型 203
11.4 本章小结 205
第12章 从1开始自然语言处理的解码器 206
12.1 解码器的核心—注意力模型 206
12.1.1 解码器的输入和交互注意力层的掩码 207
12.1.2 为什么通过掩码操作能够减少干扰 212
12.1.3 解码器的输出(移位训练方法) 213
12.1.4 解码器的实现 214
12.2 解码器实战—拼音汉字翻译模型 215
12.2.1 数据集的获取与处理 216
12.2.2 翻译模型 218
12.2.3 拼音汉字模型的训练 229
12.2.4 拼音汉字模型的使用 230
12.3 本章小结 231
第13章 基于PyTorch 2.0的强化学习实战 232
13.1 基于强化学习的火箭回收实战 232
13.1.1 火箭回收基本运行环境介绍 233
13.1.2 火箭回收参数介绍 234
13.1.3 基于强化学习的火箭回收实战 234
13.1.4 强化学习的基本内容 239
13.2 强化学习的基本算法—PPO算法 243
13.2.1 PPO算法简介 243
13.2.2 函数使用说明 244
13.2.3 一学就会的TD-error理论介绍 245
13.2.4 基于TD-error的结果修正 247
13.2.5 对于奖励的倒序构成的说明 248
13.3 本章小结 249
第14章 ChatGPT前身—只具有解码器的GPT-2模型 250
14.1 GPT-2模型简介 250
14.1.1 GPT-2模型的输入和输出结构—自回归性 251
14.1.2 GPT-2模型的PyTorch实现 252
14.1.3 GPT-2模型输入输出格式的实现 257
14.2 Hugging Face GPT-2模型源码模型详解 259
14.2.1 GPT2LMHeadModel类和GPT2Model类详解 259
14.2.2 Block类详解 270
14.2.3 Attention类详解 274
14.2.4 MLP类详解 281
14.3 Hugging Face GPT-2模型的使用与自定义微调 282
14.3.1 模型的使用与自定义数据集的微调 282
14.3.2 基于预训练模型的评论描述微调 285
14.4 自定义模型的输出 286
14.4.1 GPT输出的结构 286
14.4.2 创造性参数temperature与采样个数topK 288
14.5 本章小结 290
第15章 实战训练自己的ChatGPT 291
15.1 什么是ChatGPT 291
15.2 RLHF模型简介 293
15.2.1 RLHF技术分解 293
15.2.2 RLHF中的具体实现—PPO算法 296
15.3 基于RLHF实战的ChatGPT正向评论的生成 297
15.3.1 RLHF模型进化的总体讲解 297
15.3.2 ChatGPT评分模块简介 298
15.3.3 带有评分函数的ChatGPT模型的构建 300
15.3.4 RLHF中的PPO算法—KL散度 301
15.3.5 RLHF中的PPO算法—损失函数 303
15.4 本章小结 304
第16章 开源大模型ChatGLM使用详解 305
16.1 为什么要使用大模型 305
16.1.1 大模型与普通模型的区别 306
16.1.2 一个神奇的现象—大模型的涌现能力 307
16.2 ChatGLM使用详解 307
16.2.1 ChatGLM简介及应用前景 308
16.2.2 下载ChatGLM 309
16.2.3 ChatGLM的使用与Prompt介绍 310
16.3 本章小结 311
第17章 开源大模型ChatGLM 高级定制化应用实战 312
17.1 医疗问答GLMQABot搭建实战—基于ChatGLM搭建专业客服问答机器人 312
17.1.1 基于ChatGLM搭建专业领域问答机器人的思路 313
17.1.2 基于真实医疗问答的数据准备 314
17.1.3 文本相关性(相似度)的比较算法 315
17.1.4 提示语句Prompt的构建 316
17.1.5 基于单个文档的GLMQABot的搭建 316
17.2 金融信息抽取实战—基于知识链的ChatGLM本地化知识库检索与智能答案生成 318
17.2.1 基于ChatGLM搭建智能答案生成机器人的思路 319
17.2.2 获取专业(范畴内)文档与编码存储 320
17.2.3 查询文本编码的相关性比较与排序 322
17.2.4 基于知识链的ChatGLM本地化知识库检索与智能答案生成 325
17.3 基于ChatGLM的一些补充内容 327
17.3.1 语言的艺术—Prompt的前世今生 328
17.3.2 清华大学推荐的ChatGLM微调方法 329
17.3.2 一种新的基于ChatGLM的文本检索方案 330
17.4 本章小结 331
第18章 对训练成本上亿美元的ChatGLM进行高级微调 332
18.1 ChatGLM模型的本地化处理 332
18.1.1 下载ChatGLM源码与合并存档 332
18.1.2 修正自定义的本地化模型 335
18.1.3 构建GLM模型的输入输出示例 337
18.2 高级微调方法1—基于加速库Accelerator的全量数据微调 339
18.2.1 数据的准备—将文本内容转化成三元组的知识图谱 339
18.2.2 加速的秘密—Accelerate模型加速工具详解 342
18.2.3 更快的速度—使用INT8(INT4)量化模型加速训练 345
18.3 高级微调方法2—基于LoRA的模型微调 348
18.3.1 对ChatGLM进行微调的方法—LoRA 348
18.3.2 自定义LoRA的使用方法 349
18.3.3 基于自定义LoRA的模型训练 350
18.3.4 基于自定义LoRA的模型推断 352
18.3.5 基于基本原理的LoRA实现 355
18.4 高级微调方法3—基于Huggingface的PEFT模型微调 357
18.4.1 PEFT技术详解 358
18.4.2 PEFT的使用与参数设计 359
18.4.3 Huggingface专用PEFT的使用 360
18.5 本章小结 362
在这里插入图片描述
在这里插入图片描述

这本《从零开始大模型开发与微调》已经上传CSDN,还有完整版的大模型 AI 学习资料,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

PDF书籍: 完整版本链接获取

👉[CSDN大礼包🎁:《从零开始大模型开发与微调》免费分享(安全链接,放心点击)]👈

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【C++指南】类和对象(二):类的默认成员函数——全面剖析 :构造函数

💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:《C指南》 期待您的关注 ​ 阅读本篇文章之前,你需要具备的前置知识:类和对象的基础 点击下方链接 【C指南…

顶会论文复现:PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS

文章目录 1 资料2 我的总结3 复现源码首先你需要有gpt的api接口安装:数据集执行指令源码 4 结果 1 资料 我复现的源码:https://github.com/Whiffe/test_set_contamination 官网源码:https://github.com/tatsu-lab/test_set_contamination 论文&#x…

Java实体对象转换利器MapStruct详解

概述 现在的JAVA项目多数采用分层结构,参考《阿里巴巴JAVA开发手册》。 分层之后,每一层都有自己的领域模型,即不同类型的 Bean:  DO ( Data Object ) :与数据库表结构一一对应,…

游戏盾是如何解决游戏行业攻击问题

随着游戏行业的迅猛发展,其高额的利润和激烈的市场竞争吸引了众多企业和创业者的目光。然而,这一行业也面临着前所未有的业务和安全挑战,尤其是DDoS(分布式拒绝服务)攻击,已经成为游戏行业的一大威胁。今天…

C语言基础(10)之指针(2)

在上一篇文章中我们谈到了指针,并给老铁们讲解了什么是指针、指针类型、野指针以及指针运算等知识。在这篇文章中小编将继续带大家了解指针的相关知识点。 1. 指针和数组 指针和数组之间又能有什么联系呢?在谈这个之前,我们先来讲讲指针和数…

Android15车载音频之Virtualbox中QACT实时调试(八十八)

简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【原创干货持续更新中……】🚀 优质视频课程:AAOS车载系统+…

微信小程序开发-调试及配置文件介绍

一,隐藏控制台系统日志 在小程序开发中,如果你想要隐藏控制台中的系统日志,可以通过以下步骤进行操作: 打开小程序的开发工具。在开发工具的控制台(Console)中,找到你想要隐藏的系统日志。右键点击该系统日志条目。在…

MySQL连接查询:外连接

先看我的表结构 dept表 emp表 外连接分为 1.左外连接 2.右外连接 1.左外连接 基本语法 select 字段列表 FORM 表1 LEFT [OUTER] JOIN 表2 ON 条件;例子:查询emp表的所有数据,和对应部门的员工信息(左外连接) select e.*, d.n…

利士策分享,旅游是否要舟车劳顿才能尽兴?

利士策分享,旅游是否要舟车劳顿才能尽兴? 国庆假期,当夜幕降临,城市灯火阑珊,一场关于美食与等待的较量悄然上演。 李女士在北京天坛公园附近餐厅的等位经历——前方1053桌的壮观景象,不仅让人咋舌&#xf…

信息学奥赛复赛复习14-CSP-J2021-03网络连接-字符串处理、数据类型溢出、数据结构Map、find函数、substr函数

PDF文档回复:20241007 1 P7911 [CSP-J 2021] 网络连接 [题目描述] TCP/IP 协议是网络通信领域的一项重要协议。今天你的任务,就是尝试利用这个协议,还原一个简化后的网络连接场景。 在本问题中,计算机分为两大类:服务机&#x…

3. BBP系列运动控制板(飞控板)简介

3.1. 概述 Bread Board Pilot(简称BBP) 是在积累了前期 Single Pilot 及 PH7 飞控板大量设计及使用经验的基础上,全新基于PH47代码框架开发的高灵活性, 高性能, 超低成本的最新一代飞控板设计。 目前,因为其使用便捷灵活&#xf…

Hallo部署指南

一、介绍 Hallo是由复旦大学、百度公司、苏黎世联邦理工学院和南京大学的研究人员共同提出的一个AI对口型肖像图像动画技术,可基于语音音频输入来驱动生成逼真且动态的肖像图像视频。 该框架采用了基于扩散的生成模型和分层音频驱动视觉合成模块,提高了…

【AI知识点】正则化(Regularization)

正则化(Regularization) 是机器学习和统计学中的一种技术,用于防止模型过拟合。在训练模型时,模型可能会过度拟合训练数据,导致在新数据上的表现较差。正则化通过在优化过程中引入额外的约束或惩罚项,使模型…

【开发心得】筑梦上海:项目风云录(6)

目录 会海跳槽 票务开启 漂泊在外的日子 未完待续 会海跳槽 随着时刻表的出炉,意味着大规模的界面开发逐步进入正规。项目组里陆陆续续引进了8个人,最多的时候,同时有10个人在现场。“松工”为我们准备的办公室坐的满满当当,…

Maven 高级之分模块设计与继承、聚合

在软件开发中,随着项目规模的扩大,代码量和复杂度不断增加,传统的一体化开发模式逐渐暴露出诸多问题。为了解决这些问题,模块化开发应运而生,而 Maven 正是模块化开发的利器,它提供的继承和聚合机制为构建和…

wc命令:统计文本行数、单词数、字节数

一、命令简介 ​wc​(word count)是一个在类 Unix 系统中常用的命令行工具,用于统计文本文件的 行数​、单词数 ​和 字节数​。 ​​ ‍ 二、命令参数 ​wc​ 命令的基本语法如下: wc [选项] 文件选项: ​-c​…

当管理遇上AI,工作效率翻了3倍!

最近这段时间,很多企业都开始降薪、裁员。 在降本增效的大背景下,企业但凡有什么大动作,压力往往都会转嫁到管理者的身上。 一方面,要调大家的状态,处理团队中的各种琐事;另一方面,要及时响应…

【ESP32】Arduino开发 | Timer定时器+定时器闹钟例程

有关定时器外设的详细介绍在ESP-IDF的对应文章中,跳转栏目目录可以找到。 1. API 1.1 启动定时器 hw_timer_t * timerBegin(uint8_t timer, uint16_t divider, bool countUp); timer:定时器序号(ESP32有4个硬件定时器,所以可填序…

SpringBoot赋能旅游管理:系统设计与实现

第三章 系统分析 3.1可行性分析 对所有的系统来说,都有可能会受到时间和空间上的制约。所以,我们在设计每一个项目的时候,必须对该系统实行可行性分析,这样不但能够降低项目的危害,还能改降低人力、物力和财力的损耗。…

【CKA】十六、监控Pod度量指标

16、监控Pod度量指标 1. 考题内容: 2. 答题思路: 题目意思是:找出label有namecpu-user的CPU最高的Pod,然后把它的名字写在已经存在的 /opt/KUTR00401/KUTR00401.txt文件里 3. 官网地址: https://kubernetes.io/zh-…