《从零开始大模型开发与微调 :基于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 占用内存:…...

如何恢复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被占满导…...

基于51单片机的四种波形信号发生器仿真设计(仿真+程序源码+设计说明书+讲解视频)
本设计 基于51单片机信号发生器仿真设计 (仿真程序源码设计说明书讲解视频) 仿真原版本:proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0015 这里写目录标题 基于51单片机信号发生…...

不同网段的IP怎么互通
最近在整理工作的时候发现一个不同网段无法互通的问题,就是我们大家熟知的一级路由和二级路由无法互通的问题。由于需要记录整个过程的完整性,这里也需要详细记录下整个过程,明白的人不用看,可以直接跳过,到解决方法去…...

C#序列化与反序列化详解
在我们深入探时C#序列化和反序列化,之前我们先要明白什么是序列化,它又称串行化,是.ET运行时环境用来支持用户定义 类型的流化的机制。序列化就是把一个对象保存到一个文件或数据库字段中去,反序列化就是在适当的时候把这个文件再…...

如何在k8s的Java服务镜像(Linux)中设置中文字体
问题描述:服务是基于springboot的Java服务,在项目上是通过Maven的谷歌插件打包,再由k8s部署的。k8s的镜像就是一个Java服务,Java服务用到了中文字体。 解决这个问题首先需要搞定镜像字体的问题。有很多类似的解决方案,…...

CT 扫描的 3D 图像分类-预测肺炎的存在
介绍 此示例将展示构建 3D 卷积神经网络 (CNN) 所需的步骤,以预测计算机断层扫描 (CT) 扫描中是否存在病毒性肺炎。2D CNN 通常用于处理 RGB 图像(3 通道)。3D CNN 就是 3D 的等价物:它以 3D 体积或一系列 2D 帧(例如 CT 扫描中的切片)作为输入,3D CNN 是学习体积数据表…...

整合管理案例题分析
本文摘自江山老师文档 五个过程 制定项目章程 1.没有写项目章程,没有颁布 2.项目经理自己颁布项目章程 3.项目经理修改项目章程 4.项目章程授权不够,项目经理没有权限,下面的人不听话 5.项目章程的内容不完整 制定项目管理计划 1.项目…...

mysql4
创建表并插入数据: 字段名 数据类型 主键 外键 非空 唯一 自增 id INT 是 否 是 是 否 primary key name VARCHAR(50) 否 否 是 否 否 not null glass VARCHAR(50) 否 否 是 否 否 not nullsch 表内容 id name glass 1 xiaommg glass 1 2 xiaojun …...

Python深度学习实战-基于tensorflow原生代码搭建BP神经网络实现分类任务(附源码和实现效果)
实现功能 前面两篇文章分别介绍了两种搭建神经网络模型的方法,一种是基于tensorflow的keras框架,另一种是继承父类自定义class类,本篇文章将编写原生代码搭建BP神经网络。 实现代码 import tensorflow as tf from sklearn.datasets import…...

PDF 文档处理:使用 Java 对比 PDF 找出内容差异
不论是在团队写作还是在个人工作中,PDF 文档往往会经过多次修订和更新。掌握 PDF 文档内容的变化对于管理文档有极大的帮助。通过对比 PDF 文档,用户可以快速找出文档增加、删除和修改的内容,更好地了解文档的演变过程,轻松地管理…...

压敏电阻有哪些原理?|深圳比创达电子EMC
压敏电阻是一种金属氧化物陶瓷半导体电阻器。它以氧化锌(ZnO)为基料,加入多种(一般5~10种)其它添加剂,经压制成坯体,高温烧结,成为具有晶界特性的多晶半导体陶瓷组件。氧化锌压敏电阻器的微观结构如下图1所示。 氧化锌…...