当前位置: 首页 > news >正文

vLLM 优化- Pipeline Parallel Transformer block

目录
    • 一、Transformer Block 的基本结构
    • 二、多个 Transformer Block
    • 三、Pipeline Parallel 里的作用
    • 四、类比理解
    • 五、总结一句话
  • block0 和 block1有什么不同
    • 一、单个 Transformer block 的功能
    • 二、为什么要堆叠多个 block
    • 三、举个例子(Token 序列 100 个)
    • 四、总结 block0 和 block1 的不同

明白,你想从最底层理解:什么是多个 Transformer block,以及它们在模型里是什么作用。我给你系统解释。


一、Transformer Block 的基本结构

在 Transformer 模型里,一个 block(也叫 layer)是模型最小的堆叠计算单元。一个 block 内部一般包含两部分子层:

  1. Multi-Head Self-Attention (MHSA)

    • 让每个 token “看”序列里其他 token
    • 输出是加权的 token 表示
  2. Feed-Forward Network (FFN / MLP)

    • 对每个 token 单独做非线性变换
    • 增强表达能力

再加上:

  • Residual Connection + LayerNorm

    • 防止梯度消失
    • 稳定训练

所以一个 block 可以表示为:

Input -> MHSA -> Add & Norm -> FFN -> Add & Norm -> Output

二、多个 Transformer Block

  • 为什么要多个

    • 单个 block 表达能力有限
    • 堆叠多个 block → 模型可以捕获更复杂的语义和上下文关系
  • 形式上

Token Embedding -> Block1 -> Block2 -> Block3 -> ... -> BlockN -> Output
  • 例如:

    • GPT-2 small: 12 blocks
    • GPT-3 13B: ~40–44 blocks
    • QWEN-13B: 40–44 blocks
  • 每个 block 都有独立的权重

    • Q/K/V 权重
    • FFN 权重
    • LayerNorm 参数

堆叠越多,模型参数越大,表示能力越强,但显存占用也越高


三、Pipeline Parallel 里的作用

  • Stage (GPU) = 若干 block
  • 把模型切成多个 GPU,每张 GPU 处理几个 block
  • Token 在 stage 间传递激活值(activation)
  • 这样可以 把超大模型分布到多张 GPU 上

例子:

GPU Block / Layer
GPU0 Block 1–8
GPU1 Block 9–16
GPU2 Block 17–24

Token 先经过 GPU0 的 8 个 block,再传给 GPU1 的 8 个 block,以此类推


四、类比理解

  • 一个 block = 一个小加工单元
  • 多个 block 堆叠 = 一条流水线上的多个加工单元
  • 每个 GPU stage 处理若干 block = 一个工位负责多个加工单元

五、总结一句话

多个 Transformer block = 模型堆叠的多个基本计算单元,每个 block 包含 MHSA + FFN + LayerNorm,用于逐步提取和加工 token 的特征。Pipeline Parallel 就是把这些 block 分配到多张 GPU 上做分段计算。

block0 和 block1有什么不同

明白了,你想真正理解 为什么堆叠多个 Transformer block 能增强模型表达能力,以及 block0 和 block1 是怎么不同的。我详细解释。


一、单个 Transformer block 的功能

假设输入序列有 100 个 token,每个 token 对应一个 embedding 向量。

一个 block 的计算流程:

Input (100×d) → MHSA → Add & Norm → FFN → Add & Norm → Output (100×d)
  • MHSA(Multi-Head Self-Attention)

    • 每个 token “看”序列里的其他 token
    • 计算公式:Attention(Q, K, V)
    • 输出是 token 的加权表示,包含上下文信息
  • Feed-Forward Network (FFN)

    • 对每个 token 独立做非线性变换
    • 增强特征组合能力
  • Residual + LayerNorm

    • 保持梯度稳定
    • 防止信息丢失

一个 block:相当于“对 token 进行一次上下文感知和特征变换”。


二、为什么要堆叠多个 block

  1. 层次化特征抽取
  • block0 的输出 → 主要捕获 局部/浅层上下文

    • 例如:邻近 token 的依赖关系
  • block1 的输入 → 来自 block0 的表示

    • 可以捕获 更深层的上下文、长距离依赖
  • block2、block3 ... → 表示越高级,语义抽象越强

类比

  • block0:识别单词 / 短语
  • block1:理解句子结构
  • block2:理解段落关系
  • blockN:整体上下文、语义和意图

  1. 不同权重矩阵
  • 每个 block 的 Q/K/V、FFN 权重都是 独立的
  • 同样的 token 输入到不同 block,计算的变换不同
  • 结果:即使 block0 输出的特征已经包含上下文,block1 可以 重新组合和增强

  1. 逐步叠加非线性变换
  • FFN 是非线性函数(GELU / ReLU)
  • 堆叠多个 block → 非线性组合能力指数级增加
  • 类似 深度神经网络堆叠层的原理

三、举个例子(Token 序列 100 个)

  • block0:每个 token 结合上下文 → 输出特征 A0(100×d)
  • block1:用 A0 再做 self-attention → 输出特征 A1
  • block2:用 A1 → 输出特征 A2
  • 最终输出:每个 token 都包含整条序列的多层次上下文信息

核心:每一层 block 都在加工前一层的表示,让模型捕获更复杂的语义和长距离依赖


四、总结 block0 和 block1 的不同

特性 block0 block1
输入 原始 token embedding block0 输出特征 A0
权重 W_Q/W_K/W_V, FFN0 独立权重 W_Q/W_K/W_V, FFN1
输出 初步上下文感知 更深层次的语义抽象
功能 捕获局部依赖 捕获更复杂/长距离依赖

一句话理解
block0 = 初步理解 token 及局部上下文
block1 = 在 block0 的基础上,提炼更高级语义
堆叠多个 block → 每个 token 的表示不断升级,模型可以理解更复杂的语义和上下文关系


如果你愿意,我可以画一张 token 经过多层 block 的特征升级图,直观显示 block0/block1/block2 如何逐层增强上下文理解。

你希望我画吗?

http://www.jsqmd.com/news/194796/

相关文章:

  • Kotlin类代码实战
  • 基于SpringBoot的演唱会门票购票网站系统毕业设计项目源码
  • 深度学习毕设选题推荐:基于人工智能 python的人脸识别系统设计与实现
  • 基于SpringBoot的医院人事管理系统的设计与实现毕业设计项目源码
  • 系统架构设计师(软考高级)设计模式备考指南
  • 基于SpringBoot的服装商城销售系统毕业设计项目源码
  • 计算机深度学习毕设实战-基于python的人脸识别系统设计与实现人工智能
  • 基于SpringBoot的一站式公务员备考系统的设计与实现毕业设计项目源码
  • 会话(Session)与Cookie的原理、应用与安全实践
  • 2026临沂月子中心top5推荐榜公布:南坊等地优质品牌深度解析及选择指南 - 全局中转站
  • 深度学习毕设项目:机器学习基于python的人脸识别系统设计与实现
  • kettle从入门到精通 第113课 ETL之webspoon 多行转一行或者多行数据合并为一行
  • 【从0到1】独立游戏开发者AI指南
  • 打开cmd的方式以及常用的dos命令学习
  • Leetcode 25. K 个一组翻转链表 JavaScript (Day 12)
  • JavaScript数组some()和every()方法最佳实践
  • Spring-boot读书笔记一lombok
  • 2026最新辣椒油/辣椒蘸料/油泼辣子/红油/油辣子品牌首要推荐椒上飞:百年非遗传承,川味调味专家之选 - 全局中转站
  • 【】reuse
  • 【】reuse原理
  • 基于Java+SpringBoot的停车场管理系统(源码+lw+部署文档+讲解等)
  • 完整教程:盛世宏博档案库房温湿度及安防一体化监控系统架构解析
  • 基于SpringBoot的音乐舞台剧分类赏析系统毕业设计项目源码
  • Kotlin类定义与使用全指南
  • 基于Java+SpringBoot的外卖系统(源码+lw+部署文档+讲解等)
  • 深度测评 8个一键生成论文工具:本科生毕业论文痛点全解析
  • Leetcode 138. 随机链表的复制 (Day 12)
  • 基于微信小程序的养老服务平台系统毕业设计项目源码
  • 基于大数据挖掘技术的台风灾害预测系统(源码+lw+部署文档+讲解等)
  • springboot基于大数据的购物平台用户行为分析vue