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

大模型内部组成与层次调用关系

​​​​​大模型 (如GPT-4、Llama 3、Qwen等)并非一个“黑箱”,而是一个由多个功能模块和层次结构构成的复杂系统。理解其内部组成与各层之间的调用关系,是掌握大模型工作原理、优化应用性能、进行模型定制与调试的关键。

我们将从两个维度展开:

1、内部组成:大模型的“解剖学”——它由哪些核心组件构成?

2、层次调用关系:大模型的“运行流程”——这些组件如何协同工作?


一、大模型的内部组成:四大核心组件

尽管不同架构(如GPT 、PaLM、Mixtral)存在差异,但现代大语言模型(LLM)普遍由以下四个核心组件构成:

┌─────────────────────────────────────────────────────┐ │ 大模型(LLM) │ ├──────────────────────┬──────────────────────────────┤ │ 1. 输入嵌入层 (Input Embedding) │ │ 2. Transformer 层堆栈 (Transformer Blocks) │ │ └─ 自注意力机制 (Self-Attention) │ │ └─ 前馈神经网络 (Feed-Forward Network, FFN) │ │ 3. 输出层 (Output Layer) │ │ └─ 解码器头 (Decoder Head) │ │ 4. 上下文管理与缓存 (Context Management & KV Cache) │ └─────────────────────────────────────────────────────┘

1、输入嵌入层(Input Embedding Layer)

功能:将输入的文本(串行的Token序列)转换为并行的高维向量(Embedding),作为模型的“数学表示”。

技术细节

1)分词(Tokenization):使用BPE(Byte Pair Encoding)或SentencePiece算法将文本切分为Token。

例如:"Hello, world!" → ["Hello", ",", "world", "!"]

2)嵌入查找(Embedding Lookup):每个Token对应一个预训练的向量(如768维、4096维)。

3)位置编码(Positional Encoding):加入位置信息,让模型知道Token的顺序。

方法:绝对位置编码(如BERT)、旋转位置编码(RoPE,用于Llama 3、Qwen)。

输出:一个形状为[batch_size, seq_len, hidden_size]的张量。

关键作用将离散的符号(文字)转化为连续的数学空间,供神经网络处理。


2、Transformer 层堆栈(Transformer Blocks Stack)

这是大模型的核心计算引擎,通常由数十层(如Llama 3-70B有80层)相同的Transformer块堆叠而成。

每个Transformer块包含两个核心子模块:

(1) 自注意力机制(Self-Attention Mechanism)

功能:让模型在处理每个Token时,能够“关注”序列中的其他相关Token,建立长距离依赖。

计算流程

1)生成Q、K、V矩阵

  • Query (Q):当前Token的“查询”向量。
  • Key (K):所有Token的“键”向量。
  • Value (V):所有Token的“值”向量。

2)计算注意力分数

  • Attention(Q, K, V) = softmax(QK^T / √d_k) * V
  • 其中d_k是Key向量的维度。

3)多头注意力(Multi-Head Attention)

  • 将Q、K、V拆分为多个“头”(如32头),并行计算注意力,最后拼接。
  • 目的:让模型从不同子空间学习不同的语义关系。

输出:加权后的Value向量,表示每个Token的上下文感知表示。

(2) 前馈神经网络(Feed-Forward Network,FFN)

功能对自注意力输出的向量进行非线性变换,增强模型的表达能力。

结构

1)两层全连接网络 + 激活函数(如SwiGLU、ReLU)。

2)公式:FFN(x) = W2 * σ(W1 * x + b1) + b2

特点

1)在Transformer块中位于自注意力之后。

2)参数独立于位置,对每个Token单独处理。

关键作用:Transformer块通过“自注意力 + FFN”的交替堆叠,逐层提取和抽象语义信息。


3、输出层(Output Layer)

功能:将最后一层Transformer的隐藏状态转换为最终的文本输出。

组成

1)归一化层(Layer Normalization)

  • 对最后一层的输出进行归一化,稳定训练过程。

2)语言模型头(Language Model Head)

  • 一个线性层(Linear Layer),将隐藏状态映射回词汇表大小(vocab_size)。
  • 输出形状:[batch_size, seq_len, vocab_size]

3)Softmax 归一化

  • 将 logits 转换为概率分布。

4)采样策略(Sampling Strategy)

  • 从概率分布中选择下一个Token。
  • 方法:贪心采样(Greedy)、Top-k采样、Top-p(Nucleus)采样、Temperature调整。

关键作用:将模型的“思考结果”转化为人类可读的文本。


4、上下文管理与缓存(Context Management & KV Cache)

功能:管理对话历史,避免重复计算,提升推理效率。

关键技术

1)KV Cache(Key-Value Cache)

  • 在自回归生成过程中,缓存每一层的K和V矩阵
  • 下一个Token生成时,只需计算新Token的Q,并与缓存的K、V计算注意力,无需重新计算整个序列。
  • 效果将推理复杂度从 O(n²) 降低到 O(n),支持长上下文(如128K tokens)

2)滑动窗口(Sliding Window)

  • 当上下文超过最大长度时,自动丢弃最老的部分。

3)注意力重计算(Recomputation)

  • 在训练时节省显存,推理时不常用。

关键作用:实现高效、低延迟的流式输出和长对话支持。


二、大模型的层次调用关系:一次推理的完整流程

我们以用户输入"你好,你是谁?"并生成回复为例,展示大模型内部各组件的调用时序与数据流动

阶段1:输入处理

用户输入: "你好,你是谁?" ↓ [分词器 Tokenizer] ↓ Token IDs: [151644, 109630, 28757, 109630, 28804, 109630, 28862, 109630, 28804, 13] ↓ [输入嵌入层 Input Embedding] ↓ 嵌入向量: [batch=1, seq_len=10, hidden_size=4096] ← Llama 3-8B的hidden_size

阶段2:Transformer 层堆栈前向传播

该嵌入向量依次通过N 层 Transformer 块(如Llama 3-8B有32层):

For each layer in range(N): ┌──────────────────────────────┐ │ Layer i │ │ │ │ ┌──────────────────────┐ │ │ │ 自注意力 (Self-Attn) │ ←─┼─ 使用上一层输出作为Q,K,V │ └──────────────────────┘ │ │ ↓ │ │ ┌──────────────────────┐ │ │ │ 前馈网络 (FFN) │ │ │ └──────────────────────┘ │ └──────────────────────────────┘

每一层都会更新Token的表示,使其包含更丰富的语义和上下文信息。

KV Cache 更新:每层计算出的K、V矩阵被缓存,供后续Token生成使用。

阶段3:输出生成(自回归循环)

模型开始逐个生成输出Token:

Step 1: 输入完整Prompt ("你好,你是谁?") ↓ 经过所有Transformer层 ↓ [输出层] → 得到最后一个Token的logits ↓ Softmax + 采样 → 生成第一个输出Token,如"我" ↓ 将"我"追加到输入序列 Step 2: 新输入: "你好,你是谁?我" ↓ 只需计算新Token"我"的Q ↓ 与缓存的K、V计算注意力(KV Cache) ↓ 经过所有Transformer层(仅新Token) ↓ [输出层] → 生成下一个Token,如"是" ↓ 重复此过程,直到遇到<EOS>(结束符)

🔁 这是一个**自回归(Autoregressive)**过程,每次只生成一个Token。


阶段4:输出返回

当生成<EOS>或达到最大长度时,停止生成。

最终输出: "我是通义千问,阿里巴巴集团旗下的超大规模语言模型。" ↓ [Tokenizer] 解码为文本 ↓ 返回给用户

三、可视化:大模型内部调用关系图

┌────────────────────────────────────────────────────────────────────────────┐ │ 大模型推理流程 │ ├────────────────────────────────────────────────────────────────────────────┤ │ 用户输入: "你好,你是谁?" │ │ │ │ ┌─────────────┐ ┌─────────────────┐ ┌──────────────────────────┐ │ │ │ Tokenizer │ ──→ │ Input Embedding │ ──→ │ │ │ │ └─────────────┘ └─────────────────┘ │ │ │ │ │ │ │ │ │ Transformer Block 1 │ │ │ │ ┌─────────┐ ┌──────┐ │ │ │ │ │ Self-Attn│→│ FFN │ │ │ │ │ └─────────┘ └──────┘ │ │ │ │ │ │ │ │ ... │ │ │ │ │ │ │ │ Transformer Block N │ │ │ │ ┌─────────┐ ┌──────┐ │ │ │ │ │ Self-Attn│→│ FFN │ │ │ │ │ └─────────┘ └──────┘ │ │ │ │ │ │ │ └──────────────────────────┘ │ │ ↓ │ │ ┌──────────────────────────┐ │ │ │ Output Layer │ │ │ │ LayerNorm → LM Head │ │ │ │ Softmax → Sampling │ │ │ └──────────────────────────┘ │ │ ↓ │ │ 生成第一个Token: "我" │ │ ↓ │ │ 将"我"追加到输入,循环生成... │ │ │ │ 最终输出: "我是通义千问..." │ └────────────────────────────────────────────────────────────────────────────┘

总结

大模型的内部是一个精密协作的系统:

  • 输入嵌入层:将文字转化为数学向量。
  • Transformer 堆栈:通过自注意力和前馈网络逐层提取语义。
  • 输出层:将向量转化为文本。
  • KV Cache:实现高效自回归生成。

调用关系本质是一个循环的自回归过程
输入 → 嵌入 → 多层Transformer → 输出 → 采样 → 追加输入 → 循环

理解这一内部结构与调用流程,不仅能帮助我们更好地使用大模型,也为后续的提示工程优化、RAG设计、微调策略制定提供了坚实的理论基础。

转自:https://blog.csdn.net/hiwangwenbing/article/details/153705154

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

相关文章:

  • ESP32-S3实战指南:SPI多设备管理与高效数据传输
  • Cogito-V1-Preview-Llama-3B技术研究:剖析Dify平台与开源模型的集成范式
  • 用ESP8266 NodeMCU和FastLED库,为你的WS2812灯带快速生成20+炫酷动画(附完整代码)
  • Qwen3-ASR-1.7B部署案例:Qwen3-ASR-1.7B与Elasticsearch构建语音检索库
  • 3大维度解析猫抓插件:构建高效资源管理系统
  • 保姆级教程:在昇腾NPU上用vLLM-Ascend做性能分析,从环境变量到MindStudio可视化全流程
  • 基于GOOSE - Transformer - LSTM的数据回归预测探索
  • 终极指南:3步打造你的闲鱼AI客服机器人,实现24小时自动化值守
  • Z-Image-Turbo LoRA教程:LoRA模型文件校验(SHA256)与完整性检查脚本
  • SAP内表数据高效导出CSV实战:SAP_CONVERT_TO_TEX_FORMAT函数详解与优化技巧
  • 近一年 Agent 自进化的两大方向和四大趋势
  • 基于Python的多媒体信息共享平台毕业设计源码
  • 星标超73.7K,百度PaddleOCR成全球最受欢迎OCR项目,击败40年霸主Google Tesseract!
  • 不止于仿真:将3-8译码器Verilog代码烧录到EP4CE15芯片,用CRD500开发板进行实物验证
  • League Akari:英雄联盟玩家的终极智能工具箱 - 3大核心功能深度解析
  • 落地生产级推理引擎!高性能GPU算子生成系统Kernel-Smith发布
  • GPU超分技术体系深度解析:从硬件资源到AI画质增强
  • 别再瞎调了!FOC电机控制中,采样电阻选型和PCB布局的5个实战避坑点
  • 105. Kubewarden 策略服务器因 Rekor 密钥错误而崩溃
  • WinUtil:Windows系统维护终极工具 - 效率革命与自动化解决方案
  • 实战演练:从centos7裸机到wordpress博客上线,快马ai全程辅助部署
  • 利用快马平台十分钟快速构建开源项目网站原型:以openclaw101为例
  • seo优化关键词排名靠前的方法有哪些
  • 财务知识-会计借贷方向 - 智慧园区
  • AutoSAR从入门到精通:构建标准化汽车软件架构的完整指南
  • One Person Company (OPC) AI
  • 基于gm/Id法的二级CMOS运放设计实战:从指标到版图
  • 17kW双向LLC谐振变换器的探秘
  • ModTheSpire模组加载器全攻略:解锁杀戮尖塔无限可能
  • 从10 TOPS到1000 TOPS: 一文讲透【自动驾驶 vs 智能座舱】算力差异(含带宽/SI/架构深度解析)