当前位置: 首页 > news >正文

《从零开始大模型开发与微调 :基于PyTorch与ChatGLM》简介

内 容 简 介

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

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

本书适合PyTorch深度学习初学者、大模型开发初学者、大模型开发人员学习,也适合高等院校人工智能、智能科学与技术、数据科学与大数据技术、计算机科学与技术等专业的师生作为教学参考书。

写作本书的原因

PyTorch作为最新的、应用最为广泛的深度学习开源框架,自然引起了广泛的关注,它吸引了大量程序设计和开发人员进行相关内容的开发与学习。掌握PyTorch程序设计基本技能的程序设计人员成为当前各组织和单位热切寻求的热门人才。他们的主要工作就是利用获得的数据集设计不同的人工神经模型,利用人工神经网络强大的学习能力提取和挖掘数据集中包含的潜在信息,编写相应的PyTorch程序对数据进行处理,对其价值进行进一步开发,为商业机会的获取、管理模式的创新、决策的制定提供相应的支持。随着越来越多的组织、单位和行业对深度学习应用的重视,高层次的PyTorch程序设计人员必将成为就业市场上紧俏的人才。

与其他应用框架不同,PyTorch并不是一个简单的编程框架,深度学习也不是一个简单的名词,而是需要相关研究人员对隐藏在其代码背后的理论进行学习,掌握一定的数学知识和理论基础的。特别是随着PyTorch 2.0的推出,更好、更快、更强成为PyTorch 2.0所追求的目标。

研究人员探索和发展深度学习的目的是为了更好地服务于人类社会,而人工智能的代表—清华大学开发的ChatGLM是现阶段人工智能最高端的研究成果,它可以模拟人类智能的某些方面,例如语言理解、智能问答、自然语言处理等。相较于其他人工智能产品,ChatGLM有着更加强大的算法、更多的数据基础以及更强的训练和优化,使得ChatGLM可以实现更加准确和高效的决策和预测,为人类社会带来巨大的价值。

在医疗领域,ChatGLM可以帮助医生更准确地诊断疾病,提高治疗的效果和效率。在交通领域,ChatGLM可以辅助驾驶员进行驾驶决策,减少交通事故的发生。在金融领域,ChatGLM可以帮助银行和证券公司进行风险控制和投资决策。在教育领域,ChatGLM可以根据学生的学习情况和兴趣爱好,提供个性化的学习方案和资源。

在这个人工智能风起云涌的时代,借由PyTorch 2.0与ChatGLM推出之际,本书为了满足广大人工智能程序设计和开发人员学习最新的PyTorch程序代码的需要,对涉及深度学习的结构与编程技巧循序渐进地做了介绍与说明,以深度学习实战内容为依托,从理论开始介绍PyTorch程序设计模式,多角度、多方面地对其中的原理和实现提供翔实的分析;同时,以了解和掌握最强的人工智能模型ChatGLM,进行可靠的二次开发和微调为目标,使读者能够在开发者的层面掌握ChatGLM程序设计方法和技巧,为开发出更强大的人工智能大模型打下扎实的基础。

本书的内容

本书共18章,所有代码均采用Python语言编写,这也是PyTorch 2.0框架推荐使用的语言。

第1章介绍人工智能的基本内容,初步介绍深度学习应用与大模型的发展方向,介绍最强的人工智能大模型—清华大学ChatGLM的应用前景,旨在说明使用深度学习和人工智能实现大模型是未来科技的发展方向,也是必然趋势。

第2章介绍PyTorch 2.0的安装和常用的类库。Python是易用性非常强的语言,可以很方便地将公式和愿景以代码的形式表达出来,而无须学习过多的编程知识。还将手把手地向读者演示第一个深度学习模型的完整使用示例。

第3章演示使用PyTorch框架进行手写体识别的实际例子,完整地对MNIST手写体项目进行分类,同时讲解模型的标签问题以及本书后期常用的损失函数计算等内容。

第4章系统介绍深度学习的基础知识—反向传播神经网络的原理和实现。这是整个深度学习领域最为基础的内容,也是最为重要的理论部分。本章通过独立编写代码的形式为读者实现这个神经网络中最重要的算法。

第5章介绍卷积神经网络的使用,主要介绍使用卷积对MNIST数据集进行识别。这是一个入门案例,但是包含的内容非常多,例如使用多种不同的层和类构建一个较为复杂的卷积神经网络。同时也介绍了一些具有个性化设置的卷积层。

第6章主要讲解PyTorch 2.0数据处理与模型训练可视化方面的内容,这是本书中非常重要的基础,也是数据处理中非常重要的组成部分,通过编写相应的程序来实现模型对输入数据的处理,能够使得读者更加深入地了解PyTorch框架的运行原理。

第7章介绍卷积神经网络的核心内容,讲解基于Block堆积的ResNet模型的构建方法,这为后面搭建更多基于模块化的深度学习模型打下基础。

第8~9章是PyTorch自然语言处理的基础部分,从词向量开始,到使用卷积和循环神经网络完成自然语言处理的情感分类项目,循序渐进地引导读者使用深度学习完成自然语言处理实战。

第10章介绍深度学习另一个重要的模块—注意力模型,本章的理论部分非常简单,讲解得也很清晰,但其内容对整个深度学习模型具有里程碑意义。

第11~12章是自然语言处理的补充内容,分别介绍使用现有的预训练模型进行自然语言处理以及自然语言处理解码器的部分。第12章和第10章相互衔接,主要是对当前的新模型Transformer进行介绍和说明,分别从其架构入手,对编码器和解码器进行详细介绍。同时,本章还介绍各种ticks和小的细节,有针对性地对模型优化做了说明。

第13~15章是对强化学习部分的讲解,同时详细讲解深度学习中具有开创性质的GPT2模型的构成架构和源码设计,并基于以上两部分完成了一个简化版的ChatGPT设计,这是为后续进行语言模型微调打下基础。

第16~18章是本书有关大模型的核心内容。第16章讲解人工智能大模型ChatGLM的使用与自定义方法。第17章讲解ChatGLM高级定制化应用,包括专业客服问答机器人、金融信息抽取实战以及一些补充内容;其中金融信息抽取使用了基于知识链的多专业跨领域文档挖掘的方法,这是目前ChatGLM甚至是自然语言处理大模型方面最为前沿的研究方向。第18章讲解ChatGLM模型的本地化处理和ChatGLM的高级微调方法,极具参考价值。

相关文章:

《从零开始大模型开发与微调 :基于PyTorch与ChatGLM》简介

内 容 简 介 大模型是深度学习自然语言处理皇冠上的一颗明珠,也是当前AI和NLP研究与产业中最重要的方向之一。本书使用PyTorch 2.0作为学习大模型的基本框架,以ChatGLM为例详细讲解大模型的基本理论、算法、程序实现、应用实战以及微调技术,…...

【LeetCode】102. 二叉树的层序遍历

题目链接 文章目录 Python3方法一: 广度优先搜索 (BFS) ⟮ O ( n ) ⟯ \lgroup O(n) \rgroup ⟮O(n)⟯方法二: 深度优先搜索 (DFS) ⟮ O ( n ) ⟯ \lgroup O(n) \rgroup ⟮O(n)⟯ C方法一: 广度优先搜索 (BFS) ⟮ O ( n ) ⟯ \lgroup O(n…...

golang连接池检查连接失败时如何重试

在Go中,可以通过使用database/sql包的DB类型的Ping方法来检查数据库连接的可用性。如果连接检查失败,可以选择进行重试。以下是一个简单的示例代码,演示了如何在连接检查失败时进行重试: import ("database/sql""…...

从JavaScript到Rust的三年时间小结

Rust 是一种注重安全性、速度和并发性的系统编程语言。它能编译成高效的本地代码,无需垃圾回收即可访问内存等底层资源,同时还能防止分隔故障。 作者讨论了他们几年来用 Rust 构建大型应用程序和库的经验。他们发现 Rust 的借用检查器和类型系统有助于减…...

【Python机器学习】零基础掌握VotingRegressor集成学习

如何更准确地预测房价? 想象一下,你是一名房地产分析师,你的任务是预测一个小区的未来房价。这看似简单,但实际上,房价受到多种因素的影响,如地理位置、房屋面积、周围设施等。你可能会使用线性回归模型来进行预测,但是你会发现,尽管模型的准确性还可以,但还是存在一…...

云计算模式的区域LIS系统源码,基于ASP.NET+JQuery、EasyUI+MVC技术架构开发

云计算模式的区域LIS系统源码 云LIS系统源码,自主版权 LIS系统是专为医院检验科的仪器设备能与计算机连接。可通过LIS系统向仪器发送指令,让仪器自动操作和接收仪器数据。并快速的将检验仪器中的数据导入到医生工作站中进行管理,且可将检验结…...

面向对象设计原则之接口隔离原则

目录 定义接口隔离原则与单一职责原则示例 定义 接口隔离原则,全称为 Interface Segregation Principle,缩写ISP。 原始定义:Clients should not be forced to depend upon interfaces that they don’t use。 翻译: 不应该强行…...

haproxy 负载均衡

haproxy负载均衡 haproxy:基于C语言开发的开源软件 支持高性能的tcp和http负载均衡器,工作中用的版本1.5.9 haproxy功能:主要用于高并发的web站点,工作原理和nginx、lvs都一样 haproxy缺点: 单节点部署,单实例运行。代…...

在el-dialog中使用tinymce 点击工具栏下拉框被遮挡

在el-dialog中使用tinymce控件时,会出现点击工具栏下拉框出现在弹窗下一层,审查元素之后发现是tinymce的下拉框z-index优先级低于el-dialog的z-index导致的,所以需要增加tinymce的下拉框的z-index值。 通过审查元素得到,需要修改t…...

CloudQuery + StarRocks:打造高效、安全的数据库管控新模式

随着技术的迅速发展,各种多元化的数据库产品应运而生,它们不仅类型众多,而且形式各异,国产化数据库千余套,开源数据库百余套 OceanBase 、PolarDB 、StarRocks…还有一些像 Oracle、MySQL 这些传统数据库。这些数据库产…...

各类统计模型R语言的详细使用教程-R语言的线性回归使用教程

各类统计模型R语言的详细使用教程-R语言的线性回归使用教程 前言R语言的线性回归代码示例回归诊断误差项正态qq图内学生化残差外学生化残差线性关系异常值的发现、处理帽子矩阵的方法DFFITS 准则Cook统计量COVRATIO准则多重共线性summaryKlein判别法特征根法条件指数法方差膨胀…...

点云从入门到精通技术详解100篇-基于尺度统一的三维激光点云与高清影像配准

目录 前言 研究现状 三维激光点云与影像配准研究现状 点云配准研究现状...

<蓝桥杯软件赛>零基础备赛20周--第2周

报名明年4月蓝桥杯软件赛的同学们,如果你是大一零基础,目前懵懂中,不知该怎么办,可以看看本博客系列:备赛20周合集 20周的完整安排请点击:20周计划 每周发1个博客,共20周(读者可以按…...

CMake多文件构建初步

前面学习了cmake,不熟悉,只是记录了操作过程;下面再继续; 略有一点进步,增加一个代码文件,之前是1个代码文件; 如下图,prj是空文件夹, CMakeLists.txt如下;…...

游戏研发的解决方案有哪些?

游戏研发的解决方案可以根据不同的需求和情境而有所不同,以下是一些常见的游戏研发解决方案: 游戏引擎: 游戏引擎是游戏研发的基础,它提供了开发游戏所需的核心功能,如图形渲染、物理引擎、音效管理、动画等。一些流行…...

Bayes决策:身高与体重特征进行性别分类

代码与文件请从这里下载:Auorui/Pattern-recognition-programming: 模式识别编程 (github.com) 简述 分别依照身高、体重数据作为特征,在正态分布假设下利用最大似然法估计分布密度参数,建立最小错误率Bayes分类器,写出得到的决…...

【考研数学】数学“背诵”手册 | 需要记忆且容易遗忘的知识点

文章目录 引言一、高数常见泰勒展开 n n n 阶导数公式多元微分函数连续、可微、连续可偏导之间的关系多元函数极值无条件极值条件极值 三角函数的积分性质华里士公式( “点火”公式 )特殊性质 原函数与被积函数的奇偶性结论球坐标变换公式 二、写在最后 …...

HJ3 明明的随机数

牛客网:HJ3 明明的随机数 https://www.nowcoder.com/practice/3245215fffb84b7b81285493eae92ff0?tpId37&tqId21226&ru/exam/oj 使用Go语言解题,最简单的方式: 解题一: // 运行时间:5ms 占用内存&#xff1a…...

如何恢复u盘删除文件?2023最新分享四种方法恢复文件

U盘上删除的文件怎么恢复?使用U盘存储文件是非常方便的,例如:在办公的时候,会使用U盘来存储网络上查找到的资料、产品说明等。在学习的时候,会使用U盘来存储教育机构分享的教学视频、重点知识等。而随着U盘存储文件的概…...

8.稳定性专题

1. anr https://code84.com/303466.html 一句话,规定的时间没有干完要干的事,就会发生anrsystem_anr场景 input 5sservice 前台20s 后台60scontentprivider超市 比较少见 原因 主线程耗时 复杂layout iobinder对端block子线程同步锁blockbinder被占满导…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...

Java 加密常用的各种算法及其选择

在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

基于Docker Compose部署Java微服务项目

一. 创建根项目 根项目&#xff08;父项目&#xff09;主要用于依赖管理 一些需要注意的点&#xff1a; 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件&#xff0c;否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

【HTML-16】深入理解HTML中的块元素与行内元素

HTML元素根据其显示特性可以分为两大类&#xff1a;块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

初学 pytest 记录

安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”&#xff08;简单设计&#xff09;是软件开发中的一个重要理念&#xff0c;倡导以最简单的方式实现软件功能&#xff0c;以确保代码清晰易懂、易维护&#xff0c;并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计&#xff0c;遵循“让事情保…...

回溯算法学习

一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...