Skip to content

《智能之门:大语言模型基础》一书的配套代码和彩色插图。图书预计2025年底出版。

Notifications You must be signed in to change notification settings

xiaowuhu/LLMBasic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

前言

本书是笔者的另外一本书《智能之门:深度学习基础》的姐妹篇,读者如果阅读本书时感觉吃力,请首先阅读《智能之门:深度学习基础》。

关于大语言模型原理的学习

我们首先把大语言模型从字面上拆分成三个部分:大、语言、模型。所以全书也大致分为三个部分。

第一部分,第 1 章先从模型讲起,首先介绍了初级循环神经网络,引入了时间步和序列预测的概念。

第二部分包括三章。第 2 章用从简单到复杂的循环神经网络建立基本的语言模型并完成情感分析任务,带领读者进入自然“语言”处理的世界。第 3 章以机器翻译问题为话题,介绍了序列到序列的编码器-解码器模型,并引入了注意力机制的概念。第 4 章的 Transformer 模型是一个分水岭,在有了编码器-解码器和注意力机制的知识基础后,对于读者来说并不难理解。我们对编码器和解码器的每一个模块都给出了具体实现,并训练了一个 Transformer 模型来解决机器翻译问题,并与前一章做了比较。

第三部分包括五章。第 5 章开始进入大语言模型阶段,对 Transfomer 模型进行拆解,讲解了以 BERT 为代表的编码器模型的训练和微调,以应对不同的下游任务。第 6 章通过对 GPT-1/2 模型的讲解,学习对解码器模型的预训练,包括数据准备、分词器训练、模型训练、解码预测等完整的流程,并完成了对联和古诗生成任务。第 7 章介绍了 GPT-3/3.5,并用动手实践了元学习、指令微调、对话生成等任务。第 8 章讲解了大模型(不限于语言模型)的关键技术,对于近年来出现的很多新概念、新方法给与详细的介绍,并动手实践了混合专家模型、思维链、强化学习等关键环节。第 9 章是对大语言模型深度探索。

自从大语言模型出现后,有些人认为它可以取代一切现有的模型。笔者对此有不同看法。不可否认大语言模型的性能非常好,但是它的训练和预测成本太高了,而且并不能解决现实世界中所有的问题,这也是小模型可以继续存在的理由。但是,不管是大模型还是小模型,它们的内部工作原理都是相同。

实际上,训练大语言模型和学习大语言模型是两回事,我们完全可以“以小见大”地训练自己的大语言模型,所以,不同于目前市面上的大多数关于大语言模型的书籍,本书不是讲应用的,而是通过各种典型的问题来引领学习方向,难度逐步从浅到深,最终达到彻底理解大语言模型底层原理的目的。

笔者曾参加过很多次面试,加入微软和在微软内部转岗时曾先后面试过 20 多轮,也作为面试官面试过很多实习生、毕业生、有经验的求职者。在这些面试过程中,笔者发现所有的面试官都会刨根问底地让你讲清楚一个 API、一个组件、一个模型后的工作原理,而不仅仅止步于看到你只会调用这个 API、组件或模型。而本书正是这方面的专著,可以帮助读者应对相关职位的社会招聘,所以本书也非常适合社会读者自学。所以不用担心看不懂本书。以笔者自身为例,笔者在半年前对自然语言处理也不熟悉,所以使用了费曼学习法,把自己在学习中遇到的问题、思考的方法、实践的过程都记录下来写成本书,相信绝大多数读者都能跟随这个水到渠成的学习路径,真正学习到知识。

本书提供的电子资源有以下几种,统一放在 Github/xiaowuhu/LLMBasic 上。

  • 代码:由于本书侧重于原理与实战的结合,所以每一章都包含大量的代码,用于讲解公式和原理,以及训练、微调、预测的步骤。

  • 数据与模型:训练模型所需要的数据,以及训练好的模型参数。

  • 彩图与幻灯片:书中原配的所有图片都是彩色的,并有与内容配套的 PowerPoint 幻灯片。

关于本书封面

本书封面以黄色为主,切合生成式大语言模型的主题,也是微软徽标的四色之一。封面上绘制了一套黄色面板的架子鼓,因此可以叫做“架子鼓书”。

除本书外,笔者还完成了其它几本书,如:红色封面的“键盘书”(《智能之门:软件工程最佳实践》);绿色封面的“贝斯书”(《智能之门:强化学习基础》);蓝色封面的“吉他书”(《智能之门:深度学习基础》。这四本书将会陆续出版,形成一套完整的 AI 时代的知识学习体系。

环境搭建

  1. 操作系统可以选用 Windows 11 或 WSL 或 Linux,建议使用Windows 11,可完成大部分试验。最后一章在做强化学习试验时需要使用Linux。
  2. 根据不同的操作系统,选择 Mini Conda 安装包:https://www.anaconda.com/docs/getting-started/miniconda/install
  3. 在 Conda 环境中建立虚拟 llm0 环境:conda create -n llm0 -python=3.11
  4. 进入该环境:conda activate llm0
  5. 安装所需python包:pip install -r requirements.txt。其中,requirements.txt 文件中包含了笔者所曾经使用的全部第三方包,仅供读者参考。但是必须要安装的有以下几个包的最新版本:
  • trl
  • transformers
  • tqdm
  • torch(GPU版)
  • torchdata
  • torchtext
  • numpy
  • matplotlib

其他包可以暂时不安装,在运行示例代码时如果遇到了“未找到安装包”的错误,可以再临时安装,以节省硬盘空间。相信这对于熟悉Python环境的读者来说很容易解决。

  1. 下载本Github Repo到本地,然后用Visual Studio Code打开根目录LLMBasic,在左边栏Explorer处可以进入每个子目录运行相关的Python代码。

About

《智能之门:大语言模型基础》一书的配套代码和彩色插图。图书预计2025年底出版。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages