Transformer与大语言模型:第14章 GPT
第14章 GPT本章目标:理解 GPT 的 Decoder-Only 架构,Next Token Prediction 的工作原理,以及为什么 GPT 能聊天。本章目录14.1 GPT 是什么?14.2 GPT 为什么采用 Decoder-Only 架构?14.3 GPT 最核心的训练任务:Next Token Prediction14.4 Causal Mask:为什么不能看到答案?14.5 GPT 的架构14.6 GPT 的生成过程14.7 为什么 GPT 能聊天?14.8 GPT 系列的演进14.9 从 GPT 到 ChatGPT:Instruction Tuning 与 RLHF14.10 GPT 的 Tokenizer14.11 TensorFlow 实现(简化版 GPT)14.12 采样策略14.13 GPT 完整推理流程:从 Prompt 到输出14.14 GPT 为什么不是"数据库"?14.15 GPT、BERT、RAG 的关系本章总结本章思考题下一章预告14.1 GPT 是什么?GPT(Generative Pre-trained Transformer)是 OpenAI 发布的语言模型系列。核心思想:在大量文本上预训练,学会预测下一个 Token,然后微调用于各种任务。14.2 GPT 为什么采用 Decoder-Only 架构?原始 Transformer 包含 Encoder + Decoder。其中:Encoder更适合理解和编码输入序列(BERT 走的这条路)Decoder更适合根据已有上下文生成输出序列GPT 的核心目标是生成,因此选择了 Decoder 作为基础。但它没有使用原始 Decoder 的全部结构:GPT DecoderMasked Self-AttentionFFN原始 Transformer DecoderMasked Self-AttentionCross-AttentionFFNGPT 去掉了 Cross-Attention——因为它没有 Encoder,不需要"关注编码器的输出"。GPT=Decoder-Only\text{GPT} = \text{Decoder-Only}GPT=Decoder-Only14.3 GPT 最核心的训练任务:Next Token PredictionGPT 的预训练任务非常简单:给定前面的 Token,预测下一个 Token。输入: I love deep 预测: learning 输入: I love deep learning 预测: . 输入: The capital of France is 预测: Paris以I love deep learning .为例,GPT 学习的是一系列条件概率:P(love∣I)P(\text{love} \mid \text{I})P(love∣I)P(deep∣I,love)P(\text{deep} \mid \text{I}, \text{love})P(deep∣I,love)P(learning∣I,love,deep)P(\text{learning} \mid \text{I}, \text{love}, \text{deep})P(learning∣I,love,deep)P(.∣I,love,deep,learning)P(\text{.} \mid \text{I}, \text{love}, \text{deep}, \text{learning})P(.∣I,love,deep,learning)统一写成:P(xt∣x1,x2,…,xt−1)P(x_t \mid x_1, x_2, \ldots, x_{t-1})P(xt​∣x1​,x2​,…,xt−1​)这个任务看起来简单,但要做好,模型必须理解语法、语义、记住事实知识、理解上下文。14.3.1 一整句话如何变成训练数据?关键做法:把序列错开一位,输入是原序列,目标是右移一位的序列。Input: I love deep learning Target: love deep learning .即:X=[I,love,deep,learning]X = [\text{I}, \text{love}, \text{deep}, \text{learning}]X=[I,love,deep,learning]Y=[love,deep,learning,.]Y = [\text{love}, \text{deep}, \text{learning}, \text{.}]Y=[love,deep,learning,.]对应关系:输入位置 预测目标 I → love I love → deep I love deep → learning I love deep learning → .Target=Input的右移版本\text{Target} = \text{Input 的右移版本}Target=Input的右移版本14.4 Causal Mask:为什么不能看到答案?训练时我们明明知道整个句子I love deep learning .——那模型预测love时会不会直接从输入里"偷看"到答案?会。所以 GPT 必须使用Causal Mask(因果掩码):当前位置只能看到自己和过去,不能看到未来。I love deep learning I ✓ ✗ ✗ ✗ love ✓ ✓ ✗ ✗ deep ✓ ✓ ✓ ✗ learning ✓ ✓ ✓ ✓14.4.1 Causal Mask 的数学形式标准 Self-Attention:Attention(Q,K,V)=softmax(QKTdk)V\text{Attention}(Q,K,V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)VAttention(Q,K,V)=softmax(dk​​QKT​)V加入 Causal Mask 后:Attention(Q,K,V)=softmax(QKTdk+M)V\text{Attention}(Q,K,V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}} + M\right)VAttention(Q,K,V)=softmax(dk​​QKT​+M)V其中:Mij={ 0,j≤i−∞,jiM_{ij} = \begin{cases} 0, j \leq i \\ -\infty, j i \end{cases}Mij​={0,−∞,​j≤iji​未来位置加上−∞-\infty−∞,经过 Softmax 后e−∞=0e^{-\infty} = 0e−∞=0

相关新闻

具身智能技术创新原理(50):一种面向原生底座的TVA-World-VLA三元协同架构

具身智能技术创新原理(50):一种面向原生底座的TVA-World-VLA三元协同架构

前沿技术探索:TVA智能体(简称TVA)TVA智能体(亦称“AI智能体视觉”或“TVA视觉智能体”)是依托Transformer架构与“因式智能体”理论构建的通用视觉技术体系。它有机融合深度强化学习(DRL)、卷积…

2026/9/13 22:29:49 阅读更多 →
具身智能技术创新原理(49):基于TVA的毫秒级感知-决策-执行闭环控制框架

具身智能技术创新原理(49):基于TVA的毫秒级感知-决策-执行闭环控制框架

前沿技术探索:TVA智能体(简称TVA) TVA智能体(亦称“AI智能体视觉”或“TVA视觉智能体”)是依托Transformer架构与“因式智能体”理论构建的通用视觉技术体系。它有机融合深度强化学习(DRL)、卷积神经网络(CNN)与因式分解算法(FRA),构成了具身智能的核心视觉中枢(…

2026/9/13 22:29:49 阅读更多 →
TypeScript中Date类型本质与日期安全实践指南

TypeScript中Date类型本质与日期安全实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/13 22:28:48 阅读更多 →

最新新闻

CopilotKit 语音输入 QA 实战:LangGraph (Python) 集成中 Voice Demo 的验收清单与源码级实现解析

CopilotKit 语音输入 QA 实战:LangGraph (Python) 集成中 Voice Demo 的验收清单与源码级实现解析

CopilotKit 语音输入 QA 实战:LangGraph (Python) 集成中 Voice Demo 的验收清单与源码级实现解析 【免费下载链接】CopilotKit The Frontend Stack for Agents & Generative UI. React, Angular, Mobile, Slack, and more. Makers of the AG-UI Protocol 项目…

2026/9/13 23:29:13 阅读更多 →
从本地 SAP HANA 迁移到 BDC 版 SAP HANA Cloud,真正需要重新理解的是控制面

从本地 SAP HANA 迁移到 BDC 版 SAP HANA Cloud,真正需要重新理解的是控制面

很多 SAP HANA 迁移项目在方案阶段都会形成一种很自然的思维惯性。原来的数据库运行在本地数据中心,现在准备迁往 SAP HANA Cloud,于是团队很容易把任务理解成数据库位置发生变化,服务器从企业机房移动到了云端,数据库版本、网络地址、连接方式和部署流程跟着调整一下即可。…

2026/9/13 23:29:13 阅读更多 →
Python电商广告推荐系统实战:从行为日志到实时服务

Python电商广告推荐系统实战:从行为日志到实时服务

简介:这是一套基于真实电商广告场景的Python推荐系统源码,面向机器学习初学者与推荐算法实践者,聚焦点击率(CTR)预估这一核心任务,适用于广告投放、个性化推荐等工业级应用学习与复现。资源共13个文件&…

2026/9/13 23:29:13 阅读更多 →
Haystack 检索器(Retrievers)API 全解析:从 BM25、向量语义检索到自动合并与句子窗口

Haystack 检索器(Retrievers)API 全解析:从 BM25、向量语义检索到自动合并与句子窗口

Haystack 检索器(Retrievers)API 全解析:从 BM25、向量语义检索到自动合并与句子窗口 【免费下载链接】haystack Open-source AI orchestration framework for building context-engineered, production-ready LLM applications. Design modu…

2026/9/13 23:29:13 阅读更多 →
NeMo ConcatDataset 与 ConcatMapDataset 源码级指南:多数据集温度采样、随机采样与轮询混合

NeMo ConcatDataset 与 ConcatMapDataset 源码级指南:多数据集温度采样、随机采样与轮询混合

NeMo ConcatDataset 与 ConcatMapDataset 源码级指南:多数据集温度采样、随机采样与轮询混合 【免费下载链接】Speech A scalable generative AI framework built for researchers and developers working on Large Language Models, Multimodal, and Speech AI (Au…

2026/9/13 23:29:13 阅读更多 →
从 HDI 设计时工件看 SAP HANA Cloud 的兼容边界,迁移真正难的往往不是 SQL

从 HDI 设计时工件看 SAP HANA Cloud 的兼容边界,迁移真正难的往往不是 SQL

把一套已经在 SAP HANA 2.0 上运行多年的应用迁往 SAP HANA Cloud 时,数据库里的表、视图和存储过程往往不是最先暴露问题的地方。真正容易让部署流水线突然停下来的,反而可能只是项目目录里一个不起眼的 .hdbcds 文件、一段仍然调用 _SYS_DI 老接口的初始化脚本,或者 .hdic…

2026/9/13 23:28:12 阅读更多 →

日新闻

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and ag…

2026/9/13 0:00:24 阅读更多 →
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitH…

2026/9/13 0:00:24 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

Flutter应用改名全指南:从Android到iOS的配置与工具实践

刚接一个外包项目时,甲方要求把工程里临时用的应用名改成正式产品名。我本来觉得“改名”这种小事,打开配置文件改一行不就完了?结果真动手才发现,Flutter项目里“应用名称”根本不是一处配置,而是一整套散落在 Androi…

2026/9/13 0:00:24 阅读更多 →

周新闻

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and ag…

2026/9/13 0:00:24 阅读更多 →
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitH…

2026/9/13 0:00:24 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

Flutter应用改名全指南:从Android到iOS的配置与工具实践

刚接一个外包项目时,甲方要求把工程里临时用的应用名改成正式产品名。我本来觉得“改名”这种小事,打开配置文件改一行不就完了?结果真动手才发现,Flutter项目里“应用名称”根本不是一处配置,而是一整套散落在 Androi…

2026/9/13 0:00:24 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/13 16:51:11 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/12 18:29:34 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/12 19:02:44 阅读更多 →