内 容 简 介
大模型是深度学习自然语言处理皇冠上的一颗明珠,也是当前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的高级微调方法,极具参考价值。