news 2026/3/8 11:05:52

7D-AI系列:Transformer 与深度学习核心概念

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
7D-AI系列:Transformer 与深度学习核心概念

文章目录

    • 一、为什么现代 LLM 使用 Decoder-only
      • 1.1 核心思想
      • 1.2 关键原因
    • 二、梯度下降(核心公式与要点)
      • 2.1 核心公式
      • 2.2 关键要素
      • 2.3 为什么不是越快越好?
    • 三、神经网络架构基础
    • 四、其他重要网络架构
    • 五、Transformer 层传递详解(含 PyTorch 代码)
    • 六、文字到 Token 的转换
    • 七、大模型权重文件内容与格式
    • 八、权重加载后的逐层推理流程
    • 九、残差连接的作用与实现
      • 9.1 核心思想
      • 9.2 为什么有效?
    • 十、层归一化(LayerNorm)解析
    • 十一、激活函数概览
    • 十二、Transformer 层的本质与规模估算
      • 12.1 正确认知
      • 12.2 典型层数
    • 十三、总结与哲学思考

一、为什么现代 LLM 使用 Decoder-only

1.1 核心思想

现代大语言模型(如 GPT、DeepSeek)多采用 Decoder-only 架构,因为预训练阶段将"编码"与"解码"能力统一到同一架构中。

1.2 关键原因

  • 任务匹配:核心任务是自回归生成(预测下一个 token),这正是解码器擅长的。
  • 能力内化:通过"预测下一个词"的预训练,decoder 的自注意力已能为输入前缀生成深层语义表示。
  • 规模效应:足够的参数与数据让单一架构同时掌握理解与生成。
  • 架构简化:统一架构更易于大规模扩展与训练。

对比:原始 Transformer(Encoder–Decoder,常用于翻译) vsDecoder-only(边读边写,即时编码)。

二、梯度下降(核心公式与要点)

2.1 核心公式

t h e t a n e w = t h e t a o l d − e t a n a b l a t h e t a L ( t h e t a ) thetanew=thetaold−etanablathetaL(theta)thetanew=thetaoldetanablathetaL(theta)

2.2 关键要素

  • 梯度:指向损失上升最快方向,反向为下降方向。
  • 学习率:步长大小,过大会发散,过小收敛缓慢。
  • 损失函数:衡量模型错误程度。

2.3 为什么不是越快越好?

  • 步长太大会发散或跳过最优点;
  • 动态调整更好:初期可以用较大学习率,后期减小;
  • 现代优化器(如 Adam)能为不同参数自适应学习率。

三、神经网络架构基础

  1. 前馈神经网络(FNN):信息单向流动,无循环连接,常用于分类与回归。
  2. 循环神经网络(RNN):专为序列设计,具备记忆,但容易出现梯度消失。LSTM/GRU 为常见改进
  3. 卷积神经网络(CNN):适用于网格数据(如图像),特点为局部连接与参数共享。

传播过程

  • 前向传播:输入到输出的计算;
  • 反向传播:基于链式法则计算梯度并更新参数。

四、其他重要网络架构

  • Transformer:自注意力为核心,支持并行和长程依赖。
  • 图神经网络(GNN):处理图结构数据,应用于社交网络、分子预测等。
  • 生成对抗网络(GAN):生成器与判别器对抗训练,应用于图像生成。
  • Diffusion 模型:前向加噪、反向去噪,当前图像生成 SOTA 方法之一。

五、Transformer 层传递详解(含 PyTorch 代码)

传递数据形状

  • 张量本身:[batch_size, seq_len, hidden_dim]
  • 注意力权重:[batch_size, num_heads, seq_len, seq_len]

PyTorch 示例(简化)

classTransformerEncoderLayer(nn.Module):def__init__(self,d_model=512,n_heads=8,d_ff=2048,dropout=0.1):super().__init__()self.self_attn=MultiHeadAttention(d_model,n_heads,dropout)self.feed_forward=nn.Sequential(nn.Linear(d_model,d_ff),nn.ReLU(),nn.Dropout(dropout),nn.Linear(d_ff,d_model))self.norm1=nn.LayerNorm(d_model)self.norm2=nn.LayerNorm(d_model)self.dropout1=nn.Dropout(dropout)self.dropout2=nn.Dropout(dropout)defforward(self,x,mask=None):x_norm=self.norm1(x)attn_output=self.self_attn(x_norm,x_norm,x_norm,mask=mask)x=x+self.dropout1(attn_output)x_norm=self.norm2(x)ff_output=self.feed_forward(x_norm)x=x+self.dropout2(ff_output)returnx

六、文字到 Token 的转换

分词策略

  • 单词分词:按空格分割,词汇表大;
  • 字符分词:每字符为 token,序列长;
  • 子词分词(主流):BPE / WordPiece,兼顾效率与词汇覆盖。

转换流程
原始文本 → 分词 → T o k e n I D → 嵌入向量 → 位置编码 → 输入矩阵 原始文本 → 分词 → Token ID → 嵌入向量 → 位置编码 → 输入矩阵原始文本分词TokenID嵌入向量位置编码输入矩阵

代码示例

fromtransformersimportAutoTokenizerimporttorch.nnasnn tokenizer=AutoTokenizer.from_pretrained("gpt2")text="Hello, world!"tokens=tokenizer.tokenize(text)token_ids=tokenizer.encode(text)embedding=nn.Embedding(vocab_size,embedding_dim)embeddings=embedding(torch.tensor(token_ids))

七、大模型权重文件内容与格式

存储的关键参数

  • 词嵌入层:[vocab_size, hidden_size]
  • 每层 Transformer:Q/K/V/输出投影矩阵、前馈网络权重、归一化参数
  • 输出层:[hidden_size, vocab_size]

常见文件格式

  • PyTorch:.pt、.pth、.bin
  • Hugging Face:.safetensors(更安全、更快)
  • 量化格式:GGUF/GGML(体积更小,便于部署)

八、权重加载后的逐层推理流程

defforward(self,input_ids):x=self.embedding(input_ids)+self.position_embedding(position_ids)forlayerinself.layers:residual=x x_norm=self.norm1(x)attn_output=self.attention(x_norm)x=residual+attn_output residual=x x_norm=self.norm2(x)ff_output=self.ffn(x_norm)x=residual+ff_output logits=self.lm_head(self.final_norm(x))returnlogits

KV 缓存优化(推理)

# 如果存在 past_key_values,则拼接以避免重复计算ifpast_key_valuesisnotNone:key=torch.cat([past_key,key],dim=2)value=torch.cat([past_value,value],dim=2)

九、残差连接的作用与实现

9.1 核心思想

输出 = 输入 + 变换 ( 输入 ) 输出 = 输入 + 变换(输入)输出=输入+变换(输入)

9.2 为什么有效?

  • 提供直接梯度通路,缓解梯度消失;
  • 保持信息完整,在最坏情况下输出=输入;
  • 网络只需学习"变化量",学习更高效。

Transformer 中的实现示例

x=x+self.dropout(self.self_attn(self.norm1(x)))x=x+self.dropout(self.ffn(self.norm2(x)))

十、层归一化(LayerNorm)解析

操作
对每个样本的每个特征维度,进行标准化。

作用

  • 稳定层输入分布,帮助加速收敛;
  • 允许使用较大学习率;
  • 缓解训练中的梯度问题。

十一、激活函数概览

  • ReLU:max(0,x),简单且减少梯度消失;
  • GELU:平滑近似,Transformer 常用;
  • Sigmoid / Tanh:用于概率或归一化输出;
  • Swish/SiLU:x * sigmoid(x),部分模型(如 LLaMA)使用门控变体。

在实际模型中:BERT/GPT 多用 GELU,LLaMA 使用 SwiGLU 等门控激活。

十二、Transformer 层的本质与规模估算

12.1 正确认知

一个 Transformer 层不是单个神经元,而是一个复杂模块,包含:多头自注意力、前馈网络(两个全连接层+激活)、层归一化与残差连接。

示例:d_model=768 的层大约含有 ~7M 参数,等价于大量传统神经元的复杂度。

12.2 典型层数

  • GPT-3(大规模):96 层;
  • LLaMA-2 7B:约 32 层;
  • BERT-base:12 层。

十三、总结与哲学思考

完整处理链条:
文本分词 → 向量化(嵌入) → 添加位置编码 → 多层 T r a n s f o r m e r 加工 → 概率输出 → 自回归生成。 文本分词 → 向量化(嵌入)→ 添加位置编码 → 多层 Transformer 加工 → 概率输出 → 自回归生成。文本分词向量化(嵌入)添加位置编码多层Transformer加工概率输出自回归生成。

核心设计理念:

  • 注意力机制实现全局信息交互;
  • 残差与层归一化保证深层网络稳定训练;
  • 自回归机制负责语言生成。

哲学思考:
大语言模型将人类知识编码为高维参数,前向传播是将这些知识应用于新输入。每层相当于处理不同抽象层次的"微型大脑",层层堆叠形成复杂能力。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/3 7:36:13

无人机航拍视角河边河道垂钓及人员溺水检测数据集 无人机智能监控系统原型 自动识别禁钓区钓鱼行为、非法船只 实时监测游泳者状态 在公园湖泊、水库部署,提升无人机安防效率智慧河道监控、应急救援、AI巡检等

2 无人机航拍视角河到钓鱼溺水目标检测数据集 ,3293张,yolo,voc,coco标注 图像尺寸:1080*1920 类别数量:4类 训练集:3234; 验证集:47; 测试集:12 类别: 每一类图像数 ,每一类标注数 ShuiBianDiaoYu-水边钓鱼…

作者头像 李华
网站建设 2026/3/1 21:05:31

PHP大马分析:从短代码到强大后门的解密

PHP大马分析:从短代码到强大后门的解密 在一次例行的日志巡检中,WAF突然触发了一条关于可疑PHP文件访问的告警。起初并未引起太多注意——这类事件每天都有几十起,多数是自动化扫描器留下的痕迹。但当我打开那个被标记的脚本时,第…

作者头像 李华
网站建设 2026/3/7 14:50:38

深入浅出冒泡排序:原理、实现与优化(附C++代码)

深入浅出冒泡排序:原理、实现与优化(附C代码) 大家好!今天我们来聊聊排序算法里最基础也最经典的一种——冒泡排序。它的核心思想简单易懂,非常适合排序算法的入门学习。这篇文章会从原理拆解、过程演示、代码实现&…

作者头像 李华
网站建设 2026/2/27 17:02:14

挂马方式与检测技术深度解析

挂马方式与检测技术深度解析 在当今的Web安全攻防战场上,挂马早已不再是简单的“插入一段iframe”就能概括的行为。它已演变为一场融合了漏洞利用、社会工程、代码混淆甚至人工智能生成内容(AIGC)的综合性攻击手段。黑客通过植入恶意代码&…

作者头像 李华
网站建设 2026/2/28 20:34:48

逆向解密webshell源码全过程解析

逆向解密webshell源码全过程解析 在一次日常的群聊“闲逛”中,一个链接突然弹了出来——附言只有短短一句:“这 webshell 不一般,你看看?” 好奇心瞬间被点燃。不是因为它是后门,而是因为它“不一般”。 点开链接&a…

作者头像 李华