从文本预处理到多头注意力,从预训练到文本生成,一本书带你走完LLM的完整构建之路
在人工智能飞速发展的今天,大型语言模型已经成为技术领域的焦点。ChatGPT、GPT-4等模型展现出的惊人能力,让无数开发者和技术爱好者想要深入了解它们背后的工作原理。然而,这些模型往往被视为“黑盒”,其内部机制对于大多数人来说仍然是一个谜。
今天,我们要介绍的这本《从零构建大语言模型》将彻底改变这一现状。作者Sebastian Raschka通过手把手的方式,带领读者从最基础的代码开始,一步步构建出属于自己的GPT模型。
为什么要从零构建?
在深入内容之前,我们不禁要问:为什么要从零构建一个LLM?毕竟,市面上已经有众多开源的预训练模型可供使用。
作者在书中给出了明确的答案:从头开始编写LLM是了解其机制和局限性的绝佳练习。更重要的是,这种深入的理解能帮助我们根据自己的特定领域数据或任务,对现有的开源LLM架构进行预训练或微调。
研究表明,在建模性能方面,为特定任务或领域量身定制的LLM,往往能够胜过像ChatGPT这样为各种应用设计的通用模型。这包括专门用于金融领域的BloombergGPT,以及为医学问题解答量身定制的模型。
从宏观到微观:理解LLM的全貌
书中首先为读者构建了理解LLM的宏观框架。大型语言模型本质上是一种神经网络,旨在理解、生成和响应类似人类的文本。这些模型在大量文本数据上进行训练,有时包含互联网上整个公开文本的大部分内容。
LLM中的“大”既指模型的参数大小(通常有数百亿甚至数千亿个参数),也指训练这些模型所依据的庞大数据集。
值得注意的是,LLM的成功可以归因于支撑它们的Transformer架构,以及使它们能够捕捉各种语言细微差别的海量训练数据。
数据预处理:从原始文本到数字向量
在实现和训练LLM之前,我们必须先准备好训练数据集,这是全书第二章的重点内容。
LLM无法直接处理原始文本,因为文本是分类的,与实现和训练神经网络所需的数学运算不兼容。因此,我们需要将单词表示为连续值向量,这个过程称为嵌入。
文本标记化
书中详细介绍了如何将输入文本拆分为单个标记。这些标记可以是单个单词,也可以是包括标点符号在内的特殊字符。作者使用Python的正则表达式库来实现基础的分词器,并逐步优化以处理各种特殊字符。
更高级的是,书中还介绍了字节对编码(BPE)分词器,这是GPT-2、GPT-3和ChatGPT中使用的原始模型所采用的技术。BPE算法能够将未知单词分解为子词和单个字符,确保分词器能处理任何文本,即使其中包含训练数据中不存在的单词。
滑动窗口数据采样
为了生成训练LLM所需的输入-目标对,书中采用了滑动窗口方法。给定一个文本样本,提取输入块作为LLM的输入,训练期间LLM的预测任务是预测输入块后面的下一个单词。
这种方法的核心思想是:输入是文本的一部分,目标是输入偏移一个位置的下一个词。通过这种方式,模型学习预测序列中的下一个词,从而理解语言的结构和规律。
注意力机制:LLM的核心组件
注意力机制是LLM中最重要的组件之一,书中用整整一章的篇幅来讲解这一复杂概念。
为什么需要注意力机制?
在Transformer出现之前,循环神经网络(RNN)是最流行的语言翻译架构。但RNN面临一个重大问题:解码器无法直接访问编码器的早期隐藏状态,完全依赖于当前状态,这可能导致上下文丢失,尤其是在处理长距离依赖关系的复杂句子时。
注意力机制的出现解决了这个问题,它允许解码器在每个解码步骤中有选择地访问输入序列的不同部分。对于生成特定的输出标记,某些输入标记比其他标记更重要,这种重要性由注意力权重决定。
自注意力机制
自注意力是当代LLM的关键组成部分,它允许输入序列中的每个位置在计算序列表示时关注同一序列中的所有位置。
书中详细讲解了自注意力的实现过程:
计算查询和所有其他输入标记之间的注意力分数(通过点积)
对注意力分数进行归一化(通常使用softmax函数)
计算上下文向量作为所有输入向量的加权和
这些步骤通过可训练的权重矩阵(Wq、Wk、Wv)进一步增强,使模型能够学习生成“好”的上下文向量。
因果注意力与多头注意力
在生成文本时,模型只能访问当前及之前的标记,而不能看到未来的内容。因果注意力机制通过掩码实现对角线上方的注意力权重归零,确保模型仅考虑序列中当前标记处或之前出现的标记。
多头注意力则将注意力机制拆分为多个“头”,每个头学习数据的不同方面,使模型能够同时处理来自不同位置的不同表示子空间的信息。这种设计显著提高了模型在复杂任务中的性能。
构建GPT模型:从零到一
在理解了注意力机制后,书中开始构建完整的GPT模型架构。GPT模型基于Transformer的解码器部分,专为需要生成文本的任务而设计。
模型组件
GPT模型由以下核心组件构成:
层归一化与快捷连接
训练深度神经网络时,梯度消失或爆炸是常见问题。层归一化通过将激活值调整为均值为0、方差为1来解决这一问题,加快收敛速度,确保训练稳定。
快捷连接(也称为跳过连接或残差连接)则通过跳过一层或多层为梯度流经网络创建了替代的、更短的路径。这对于超大型模型(如LLM)至关重要,它们通过确保跨层梯度流的一致性来促进更有效的训练。
GELU激活函数
与传统的ReLU不同,LLM通常使用更复杂的激活函数,如GELU(高斯误差线性单元)或SwiGLU。GELU是一个平滑的非线性函数,允许负值输出小的非零输出,在训练过程中,接受负输入的神经元仍然可以为学习过程做出贡献。
预训练:让模型学会生成文本
构建好模型架构后,下一步是预训练,这是让模型学会生成文本的关键阶段。
评估生成文本的质量
如何评估模型生成的文本质量?书中介绍了通过计算交叉熵损失来衡量模型预测与目标之间的差距。
交叉熵损失衡量两种概率分布之间的差异:标签的真实分布(数据集中的标记)和模型的预测分布(LLM生成的标记概率)。训练LLM的目标是使损失接近0,这意味着模型能够准确预测序列中的下一个标记。
训练循环实现
书中实现了一个标准的训练循环,包括以下步骤:
迭代每个epoch
处理数据批次
重置和计算梯度
更新模型权重
监控训练进度(打印损失和生成文本样本)
训练结果显示,模型从最初只能生成乱码,到最终能够生成语法正确的文本,展现了预训练的强大效果。
文本生成策略:控制随机性与多样性
在模型训练完成后,如何生成文本?书中介绍了多种解码策略。
温度缩放
温度缩放是一种控制概率选择过程的技术。通过将logits除以大于0的数字(温度值),可以影响概率分布的“尖锐度”:
Top-k采样
Top-k采样将采样的标记限制为最有可能的top-k标记,并通过屏蔽其概率分数将所有其他标记从选择过程中排除。这种方法在保持输出质量的同时,增加了文本的多样性。
组合策略
书中将温度缩放和top-k采样结合,实现了一个更强大的文本生成函数。通过调整这些参数,用户可以在输出质量和多样性之间找到平衡。
加载预训练权重:站在巨人的肩膀上
预训练LLM需要大量资源且成本昂贵。例如,GPT-3的预训练成本估计为460万美元。好消息是,许多预训练LLM的开源模型可以作为通用工具使用。
书中详细介绍了如何从OpenAI加载预训练的GPT-2模型权重,并将它们加载到我们自己实现的GPTModel架构中。这包括下载权重文件、设置正确的配置(如上下文长度、偏置向量等),以及将权重映射到模型参数。
加载预训练权重后,模型立即能够生成连贯的文本,展示了预训练的强大效果。
PyTorch入门:深度学习的基础
对于不熟悉PyTorch的读者,书中提供了一个完整的附录,介绍PyTorch的基础知识,包括:
张量的概念和操作
自动微分机制
神经网络模块的使用
数据加载器的构建
GPU训练支持
这些基础知识为理解全书中的代码实现提供了必要的基础。
总结与展望
《从零构建大语言模型》为读者提供了构建自己GPT模型的完整指南。从数据预处理到注意力机制,从模型架构到预训练过程,书中覆盖了LLM开发的方方面面。
通过阅读这本书,读者不仅能够理解LLM的内部工作原理,还能掌握实际构建和训练这些模型的技能。更重要的是,这种深入的理解为后续微调、优化和应用LLM奠定了坚实的基础。
无论你是AI研究者、机器学习工程师,还是对LLM工作原理充满好奇的爱好者,这本书都将为你打开一扇通往大型语言模型世界的大门。
本书涵盖的核心主题包括:LLM基本概念、文本数据处理、注意力机制编码、GPT模型实现、模型预训练、PyTorch入门等。通过理论与实践相结合的方式,帮助读者真正掌握大型语言模型的构建技术。
关注微信公众号“人工智能产业链union”回复关键字“AI加油站128”获取下载地址。
【AI加油站】Openclaw龙虾专题一:养一只AI小龙虾,是什么体验?(附下载)【AI加油站】Openclaw龙虾专题二:免费开源!OpenClaw个人AI助理极简部署指南(附飞书配置)(附下载)【AI加油站】Openclaw龙虾专题三:OpenClaw完全使用手册精华版:本地AI助手的全方位指南(附下载)【AI加油站】Openclaw龙虾专题五:当AI长出手脚:一份给聪明人的OpenClaw理性上手手册(附下载)【AI加油站】Openclaw龙虾专题六:OpenClaw橙皮书精华版:从入门到精通,一文读懂GitHub第一AI项目的核心秘密(附下载)【AI加油站】Openclaw龙虾专题七:让你的AI助手脱胎换骨:OpenClaw中级到高级完整实战教程(附下载)【AI加油站】第一部:《大型语言模型应用检索增强生成:改变搜索、推荐和 AI 助手》附下载【AI加油站】第二部:《程序员的自我修炼手册》(附下载)【AI加油站】第三部:《大规模语言模型:从理论到实践》(附下载)【AI加油站】第四部:《使用生成式人工智能和Python开始数据分析》(附下载)【AI加油站】第五部:《使用生成式人工智能和Python开始数据分析》(附下载)【AI加油站】第六部:《时间序列:建模、计算与推断》(附下载)【AI加油站】第七部:《因果关系的逻辑理论的好书-A Logical Theory of Causality》(附下载)【AI加油站】第八部:《模式识别(第四版)-模式识别与机器学习》(附下载)
【AI加油站】第九部:《Python深度学习(中文版)》(附下载)【AI加油站】第十二部:《从零开始的机器学习》(附下载)【AI加油站】第十三部:《Transformer入门到精通》(附下载)【AI加油站】第十四部:《LLM 应用开发实践笔记》(附下载)【AI加油站】第十五部:《大模型基础 完整版》(附下载)【AI加油站】第十六部:《从头训练大模型最佳实践》(附下载)【AI加油站】第十八部:《深度强化学习》(附下载)【AI加油站】第十九部:清华大学《大模型技术》(附下载)【AI加油站】第二十部:Prompt入门神书-《Prompt 学习指南》(附下载)【AI加油站】第二十一部:吴恩达&open AI联合推出《大模型通关指南》(附下载)【AI加油站】第二十二部:《李宏毅深度学习教程》值得反复阅读的神书!(附下载)【AI加油站】第二十三部:Prompt经典中文教程-《提示工程指南》(附下载)【AI加油站】第二十四部:爆火下载28万次!MIT最新神书《理解深度学习》(附下载)【AI加油站】第二十五部:LLM4大名著,OpenAI专家强推《深度解析:大语言模型理论与实践》(附下载)【AI加油站】第二十六部:NLP大牛Thomas Wolf等新书《Transformer自然语言处理》(附下载)【AI加油站】第二十七部:哈工大博士耗时一年整理《PyTorch常用函数手册》,轻松掌握PyTorch的各种操作(附PDF下载)【AI加油站】第二十八部:大模型炼丹大师必备《深度学习调优指南中文版-系统性优化模型》(附下载)【AI加油站】第二十九部:炸裂发布!《大语言模型:导论》重磅发布!(附下载)【AI加油站】第三十部:最值得读的LLM书!下载量10w+!《基于Transformer和扩散模型的生成式AI》(附下载)【AI加油站】第三十一部:RL稀缺宝典!《强化学习的艺术》(附下载)【AI加油站】第三十二部:一本醍醐灌顶的教科书!《大语言模型提示工程:构建LLM应用的艺术与科学》(附下载)【AI加油站】第三十三部:机器学习好评榜第一《机器学习基础》(附下载)【AI加油站】第三十四部:所有大模型领域学习者必读,没有之一!由深度学习三巨头联合撰写!(附下载)【AI加油站】第三十五部:{AI炼丹神书}——从0到1榨干深度学习模型每一滴性能的终极战术手册《深度学习调优指南》(附下载)【AI加油站】第三十六部:面向生产环境的大型语言模型实战手册《LLM 大语言模型构建指南》(附下载)【AI加油站】第三十七部:《深度学习的数学导论:方法、实现与理论》从神经网络架构到物理信息模型的全景综述(附下载)【AI加油站】第三十八部:下载量10w+!《大型语言模型:语言理解和生成》从文本分类到主题建模的实战指南(附下载)【AI加油站】第三十九部:包教包会!《从零开始构建大语言模型的关键要点》大模型训练全景指南:从0到1的系统性最佳实践(附下载)【AI加油站】第四十部:《大规模机器学习训练工程实战手册》——从硬件选型到故障恢复的系统性指南(附下载)【AI加油站】第四十一部:《ChatGPT后训练全景解析:技术演进、核心挑战与未来方向》(附下载)【AI加油站】第四十二部:《百页机器学习书》:从算法到实战的全景指南(附下载)【AI加油站】第四十三部:《掌握大语言模型》核心知识速览:从NLP基础到LLM前沿实践(附下载)【AI加油站】第四十四部:《精通PyTorch》-从CNN到Transformer、LLM、GNN的端到端实战图谱(附下载)【AI加油站】第四十五部:《图神经网络导论》-全景拆解:从数学基石到落地应用的知识地图(附下载)【AI加油站】第四十六部:谷歌大佬编写,我唯一熬夜看完的机器学习神作《机器学习:概率视角》(附下载)【AI加油站】第四十七部:复旦大学张奇老师《自然语言处理导论》(附下载)【AI加油站】第四十八部:Github持续霸榜!「Leetcode刷题笔记」解题思路/代码/模板开放下载!(附下载)【AI加油站】第四十九部:下载10W+爆火神书《基于LangChain进行生成式AI开发》(附下载)【AI加油站】第五十部:打破 “AI 神话”!《AI 3.0 》剖析机器智能的真实能力,探讨人机共生的未来图景(附下载)【AI加油站】第五十一部:从 PGC 到 AIGC:内容生产的颠覆性革命,一文看透智能创作如何重塑经济与社会(附下载)【AI加油站】第五十二部:《人工智能简史》穿越 AI 百年:从 “机器替代” 到 “人机共生” 的技术革命与人性思考(附下载)【AI加油站】第五十三部:智能无疆:《人工智能:现代方法(第 4 版)》全景解读(附下载)【AI加油站】第五十四部:《深度学习革命》从学术寒冬到全球科技争霸的十年史诗(附下载)【AI加油站】第五十五部:《生命 3.0》人工智能时代的进化史诗与未来抉择(附下载)【AI加油站】第五十六部:《我看见的世界-李飞飞自传》从移民少女到 AI 先驱:李飞飞与 ImageNet 的破晓之路(附下载)【AI加油站】第五十七部:《智人之上》解码从石器时代到 AI 时代的信息网络密码(附下载)【AI加油站】第五十八部:《千脑智能》解锁智能本质:从千脑智能理论到人类与 AI 的未来图景(附下载)【AI加油站】第五十九部:《AI极简经济学》解锁 AI 商业价值:从预测核心到战略重构的极简经济学指南(附下载)【AI加油站】第六十部:深入探索《人工智能哲学》:从理论根基到核心争议与未来展望(附下载)【AI加油站】第六十一部:解构 《人类 2.0》:硅谷视角下科技重塑未来的全景蓝图(附下载)【AI加油站】第六十二部:以逻辑、艺术与音乐为钥,解锁思维本质的奇书 ——《哥德尔、艾舍尔、巴赫》(附下载)【AI加油站】第六十三部:深入探索《皇帝新脑》:电脑、人脑与物理定律的跨学科思辨(附下载)【AI加油站】第六十四部:解锁 《Python 自然语言处理》:从基础到实战的全方位指南(附下载)【AI加油站】第六十五部:深入解析《人工智能:复杂问题求解的结构和策略》核心内容(附下载)【AI加油站】第六十六部:从理论到实践:《人工智能:一种现代方法(第二版)》引领你走进 AI 世界(附下载)【AI加油站】第六十七部:从像素到智能视觉:解读《图像处理、分析与机器视觉》的核心价值(附下载)【AI加油站】第六十七部:从像素到智能视觉:解读《图像处理、分析与机器视觉》的核心价值(附下载)【AI加油站】第六十八部:洞悉数据挖掘本质:《数据挖掘:概念与技术》核心概念与技术体系剖析(附下载)【AI加油站】第六十九部:拒绝 “人工”,拥抱 “智能”:《机器学习》的终极修炼手册(附下载)【AI加油站】第七十部:《机器视觉》的“圣经”:从成像到场景分析的完整旅程(附下载)【AI加油站】第七十一部:从入门到实战:一口气读完《机器学习实战》全栈笔记(附下载)【AI加油站】第七十二部:穿越不确定性的智慧之舟:《贝叶斯统计推断》全景纵览(附下载)【AI加油站】第七十三部:《深入理解机器学习:从原理到算法》的全景式解读(附下载)【AI加油站】第七十四部:《游戏人工智能编程案例精粹》全景深读:从数学物理到实战AI,一本书带你通关智能开发!(附下载)【AI加油站】第七十五部:《神经网络与机器学习》:一部贯通感知器、反向传播与强化学习的“AI筑基之书”(附下载)【AI加油站】第七十六部:《语音识别与深度学习》从GMM到DNN:语音识别三十年进化史与未来之门(附下载)【AI加油站】第七十七部:《人工智能》从“算法黑箱”到“道德代码”:一场关于AI伦理、法律与人类未来的跨时空对话(附下载)【AI加油站】第七十八部:智能的终极密码:从大脑到未来的智能机器——《人工智能的未来》深度解读(附下载)【AI加油站】第七十九部:当机器成为“新物种”:一场比工业革命更凶猛的静默革命——《人工智能时代》全景导读(附下载)【AI加油站】第八十部:《从0到1》:颠覆式创新的思维圣经,创业者必读的未来指南(附下载)【AI加油站】第八十一部:《史蒂夫·乔布斯传》-被遗弃的天才:史蒂夫·乔布斯如何用创伤与执念改变世界的六次”(附下载)【AI加油站】第八十二部:“失控”之后,是“新秩序”——凯文·凯利《新经济新规则》:10条铁律如何重写商业、财富与人生(附下载)【AI加油站】第八十三部:穿越《互联网黑洞》:一部被低估的预言书,一张写给未来十年的生存地图(附下载)【AI加油站】第八十四部:把“运气”拆给你看——《偶然中的必然》里的概率魔法(附下载)【AI加油站】第八十五部:AI 全域变现知识图谱:从工具实操到商业闭环的完整指南(附下载)【AI加油站】第八十六部:研途指南:周志华谈研究与论文撰写的核心逻辑与实践路径(附下载)【AI加油站】第八十七部:定位革命:抢占用户心智的营销圣经与实践指南(附下载)【AI加油站】第八十八部:《技术元素》:凯文·凯利用“进化”重写文明史——一部写给未来居民的“地球说明书”(附下载)【AI加油站】第八十九部:《数学的领悟》:一本让“解题”升华为“悟道”的神奇之书(附下载)【AI加油站】第九十部:高产出管理圣经:格鲁夫的实战管理智慧全解析(附下载)【AI加油站】第九十一部:《深入浅出统计学》全景式精读笔记——从数据到决策,一本让统计学“活”起来的魔法书(附下载)【AI加油站】第九十二部:疯传的底层逻辑:让产品、思想与行为病毒式扩散的 6 大核心法则(附下载)【AI加油站】第九十三部:《硅谷之火》:个人计算机的崛起与革命浪潮(附下载)【AI加油站】第九十四部:神经网络设计:从基础原理到工程实践的权威指南(附下载)【AI加油站】第九十五部:移动浪潮下的生产力变革:《移动的力量》核心洞察全景解析(附下载)【AI加油站】第九十六部:精益创业:用科学方法引爆新创企业增长奇迹(附下载)【AI加油站】第九十七部:解锁集体智慧:Web 2.0 时代的智能编程实战指南(附下载)【AI加油站】第九十八部:颠覆医疗:大数据时代的个人健康革命全景解析(附下载)【AI加油站】第九十九部:心智社会:智能的分布式认知革命(附下载)【AI加油站】第一百部:终极算法:机器学习与人工智能的大一统探索(附下载)【AI加油站】第一百零一部:当数学天才遇见神经网络:冯·诺依曼揭开的智能革命序幕(附下载)【AI加油站】第一百零二部-华为管理专题:《班长的战争》:华为一线管理者的实战圣经——解密让17万人高效作战的管理密码(附下载)【AI加油站】第一百零三部-华为管理专题:从偶然到必然:华为研发投资与管理实践完全解析(附下载)【AI加油站】第一百零四部-华为管理专题:华为传:从深圳小作坊到全球科技巨头的崛起之路(附下载)【AI加油站】第一百零五部-华为管理专题:《华为崛起》:一部中国企业的史诗级成长启示录(附下载)【AI加油站】第一百零六部-华为管理专题:《熵减:华为活力之源》深度解读——任正非管理哲学的核心密码(附下载)【AI加油站】第一百零七部-华为管理专题:任正非传:从苦难中崛起的民族企业家(附下载)【AI加油站】第一百零八部-华为管理专题:华为客户关系管理法深度解析:从"三流产品、一流市场"到全球通信巨头的客户关系哲学(附下载)【AI加油站】第一百零九部-华为管理专题:激活组织:华为奋进的密码-一部解码华为组织活力的管理宝典(附下载)【AI加油站】第一百一十部-华为管理专题:《华为哲学:任正非的企业之道》一部关于中国企业精神图腾的思想史诗(附下载)【AI加油站】第一百一十一部-华为管理专题:华为训战:从军事智慧到企业人才培养的革命性方法论(附下载)【AI加油站】第一百一十二部-华为管理专题:华为销售法:To B销售成功之道的深度解析(附下载)【AI加油站】第一百一十三部-华为管理专题:华为项目管理法:从实战出发的12步精进之道(附下载)【AI加油站】第一百一十四部-华为管理专题:华为数字化转型之道:从认知觉醒到实践落地的全景指南(附下载)【AI加油站】第一百一十五部-华为管理专题:华为数据之道:非数字原生企业的数字化转型实战指南(附下载)【AI加油站】第一百一十六部-华为管理专题:华为人才管理之道:打造世界级企业的核心密码(附下载)【AI加油站】第一百一十七部-华为管理专题:灰度之道:华为从2万到7000亿的人才管理密码(附下载)【AI加油站】第一百一十八部-华为管理专题:华为培训体系建设深度解析:打造世界级人才引擎的完整实践(附下载)【AI加油站】第一百一十九部-华为管理专题:华为干部管理体系深度解析:从"士兵"到"将军"的锻造之路(附下载)【AI加油站】第一百二十部-华为管理专题:华为流程管理之道:从"游击队"到"正规军"的蜕变密码(附下载)【AI加油站】第一百二十一部-华为管理专题:华为研发管理体系深度解析:从草莽创业到全球领跑的变革之路(附下载)【AI加油站】第一百二十二部:企业AI应用落地实践全景解析:从理论到生产的三个月实战总结(附下载)【AI加油站】第一百二十三部:华为-AI开发平台ModelArts系列:华为云ModelArts 6.8.0 API参考文档深度解读(附下载)
【AI加油站】第一百二十四部:华为-AI开发平台ModelArts系列:华为云ModelArts SDK完全指南:一站式AI开发利器(附下载)【AI加油站】第一百二十五部:华为-AI开发平台ModelArts系列:华为云ModelArts快速入门完全指南:从零基础到AI实战(附下载)