大模型decoder中权重矩阵的理解 - 实践

news/2025/9/19 9:44:53/文章来源:https://www.cnblogs.com/ljbguanli/p/19100155

大模型decoder中权重矩阵的理解 - 实践

一个 Decoder Block 核心由两个核心子层构成:自注意力层 (Self-Attention)前馈神经网络层 (Feed-Forward Network)

1. 自注意力层 (Masked Self-Attention Layer)

这是模型“看”输入序列并决定关注哪些部分的地方。它的参数主要体现在4 个权重矩阵上:

  • 查询 (Query) 权重矩阵 (WQ):将输入向量转换为一个“查询”向量。

  • 键 (Key) 权重矩阵 (WK):将输入向量转换为一个“键”向量。

  • 值 (Value) 权重矩阵 (WV):将输入向量转换为一个“值”向量。

  • 输出 (Output) 权重矩阵 (WO):在注意力计算完毕后,将结果整合并投影回原始维度。

优化细节三个独立的权重矩阵。就是:在实际实现中,为了计算效率,Q、K、V 这三个矩阵常常被合并成一个巨大的 W_qkv 矩阵一次性进行计算,然后再切分开。但从概念上讲,它们

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

这是模型进行“思考”和非线性变换的地方,它通常包含2 个 权重矩阵:

  • 上投影 (Up-Projection) 权重矩阵 (W_up):将注意力层的输出从模型的隐藏维度(例如 4096)扩展到一个更大的中间维度(例如 11008)。

  • 下投影 (Down-Projection) 权重矩阵 (W_down):将扩展后的向量重新投影回模型的原始隐藏维度(例如 4096)。

优化细节 2 个。就是:在一些模型(如 Llama, Mixtral)中,这里会使用门控线性单元(Gated Linear Unit),这时可能会有 W_gate 和 W_up 两个上投影矩阵,于是 FFN 部分可能会有 3 个矩阵。但经典的 FFN

3. 归一化层 (Layer Normalization)

Decoder Block 中通常还有两个 LayerNorm 层,一个在自注意力层之前,一个在前馈网络层之前。它们没有大的权重矩阵,但有可学习的参数:

  • Gamma (γ):一个缩放向量。

  • Beta (β):一个偏移向量。
    它们的参数量远小于权重矩阵。

总结一个 Decoder Block 的参数:
组件主要权重矩阵/参数数量主要功能
自注意力W_q, W_k, W_v, W_o4 个矩阵关联序列中的不同位置信息
前馈网络W_up, W_down2 个矩阵进行非线性计算,增强模型表示能力
归一化层Gamma (γ), Beta (β)2 组向量稳定训练过程

一个完整的 GPT 模型是由很多个这样的 Decoder Block 堆叠起来的(例如 Llama-7B 有 32 个),再加上一些其他参数。

最终的输出层 (LM Head)

在所有 Decoder Block 的最顶层,还有一个非常重点的权重矩阵:

  • 语言模型头 (LM Head):它负责将最后一个 Decoder Block 的输出向量,投影到整个词汇表的大小(例如 50257)。这个矩阵的输出经过 Softmax 后,就得到了下一个词的概率分布。

优化细节 (权重绑定 Weight Tying):为了节省参数,很多模型的输入词嵌入矩阵 (Input Embedding Matrix) 和这个最终的 LM Head 矩阵是共享权重的。

参数主要在哪个上面被分配了空间?

您的第二个疑问非常关键,答案是GPU 的显存 (VRAM)

  1. 在硬盘上:模型的权重参数以文件的形式(如 .safetensors 或 .bin)存储在硬盘上。

  2. 加载到内存 (RAM):当您启动程序时,这些权重文件先被读入到计算机的内存 (RAM) 中。

  3. 分配到显存 (VRAM):为了利用 GPU 进行高速并行计算,上述所有的权重矩阵(WQ, WK, WV, WO, W_up, W_down, LM Head 等)最终都必须被加载到 GPU 的显存中

显存是运行大模型最宝贵的资源。一个模型的显存占用主要由以下几部分构成:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/907661.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

文件安全外发平台用哪个,最佳选择是什么?

内容概要 在探讨文件安全外发平台用哪个这一话题时,我们首先要对文件安全外发平台有一个全面的了解。这类平台主要用于确保企业文件在外部传输过程中的安全性,防止数据泄露。市面上存在多种文件安全外发平台,它们各…

【初赛】数 - Slayer

0x3f3f3f3f = 1061109567 0x7f7f7f7f = 2139062143 0x7fffffff = 2147483647 0xffffffff = 4294967295 0x1fffffff = 536870911 0x1f1f1f1f = 522133279

http连接(webFlux vs tomcat)

HTTP连接的最大数量不是一个固定的值,它取决于一个由硬件资源、操作系统配置、网络栈、以及应用程序本身共同构成的复杂系统。 简单来说:在一台配置良好的现代服务器上,使用异步非阻塞模型(如WebFlux),支持超过1…

英语_阅读_Generative AI_待读

Artificial Intelligence (AI) has become part of our everyday life.人工智能(AI)已经成为我们日常生活的一部分。 It makes our smart devices smarter.它让我们的智能设备变得更聪明。 You might have already u…

【初赛】链表 - Slayer

链表性质知识点总结 链表是一种线性数据结构,其核心特点是数据元素(称为 “节点”)通过指针或引用连接,而非像数组那样存储在连续的内存空间中。这种结构决定了它与数组截然不同的性质,适用于频繁插入 / 删除、内…

纷享销客CRM系统自定义APL代码破解企业深度定制难题

在许多中大型企业,尤其是央企、金融、高科技等行业,对 CRM 系统提出了更为复杂的业务流程定制需求。尽管零代码、低代码配置工具有一定的灵活性,但在面对高度复杂、深度融合业务逻辑的安全机制或特殊流程时,仍显乏…

深入解析:Kafa面试经典题--Kafka为什么吞吐量大,速度快

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

第2章 zynq开发板FSBL的生成和NAND烧录

前言 由于本人较懒,记录主要是过程,由于zynq的比stm32做的人少很多,资料也少很多,我会简要介绍原理,操作流程主要由图片加少量文字组成,每一章都是在之前的章节基础上做的一、新建FSBL工程 打开vivado,打开SDK打…

工具大全

<!DOCTYPE html> <html lang="zh-CN"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/&…

RocketMQ vs kafka

目录背景和价值1. 更激进的“零拷贝”技术2. 更简洁的存储模型3. 更“粗糙”但高效的批处理4. 权衡取舍的可靠性保证对比总结参考资料 背景和价值 你这个问题非常好,直击了两者设计哲学的核心差异。 简单来说,Kafka …

JL-32 土壤速测仪 手持便携 大容量 多参数可同时监测

JL-32 土壤速测仪 手持便携 大容量 多参数可同时监测产品概述 土壤速测仪是一款携带方便,操作简单,集采集与存储于一体的可移动式观测仪器。由手持式速测主机、土壤类传感器、USB数据线、电源适配器、便携式手提箱等…

el-date-picker时间选择器限制时间跨度为3天 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Android--资料

Android--资料 Android Studio 的 10 个使用技巧 Android中的Radio模糊查询AutoCompleteTextView简单使用 Android基础入门:搜索框组件SearchView Android studio设置jdk版本项目设置和全局设置 三种实现…

直播录制神器!一款多平台直播流自动录制客户端!

StreamCap —— 一个基于 FFmpeg 和 StreamGet 的多平台直播流录制客户端,覆盖 40+ 国内外主流直播平台,支持批量录制、循环监控、定时监控和自动转码等功能。大家好,我是 Java陈序员。 现如今,观看直播已成为日常…

101.计组--二章

101.计组--二章数据的表示和运算 "自六月份另一个学校毕业 已经有拖三个多月的计组学习 当时其实已经已有一些学习 仅仅差了一节内容结束 也确实因为这个复杂的运算各类东西 言归正传 新的学校 新的学习 开始总结…

LobeChat搭建

docker search lobe-chat docker pull lobehub/lobe-chat docker run -d -p 3210:3210 -e ACCESS_CODE=lobe66 --name lobe-chat lobehub/lobe-chat本文来自博客园,作者:潇汀,转载请注明原文链接:https://www.cn…

推荐几家国外的AI模型应用网站

一、聊天 1、OpenAI——ChatGPT 网址:https://chatgpt.com/ 简介:OpenAI 开发的对话式AI模型,擅长自然语言处理,能回答问题、创作内容和提供学习支持。 实际体验: 对话聊天式AI的引领者,综合能力很强,从发布至今…

【maven01】依赖管理的工具 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

长园智能装备遇上利驰SuperHarness-3D,实现充电桩线束设计效率与精度双提升!

利驰数字线束软件,赋能长园智能装备充电桩线束智造。设计案例:​感谢南瑞、盛弘、长园等众多充电桩龙头企业,选择利驰数字线束[抱拳][抱拳][抱拳]

学习笔记:操作分块 / 根号重构

感谢校内模拟赛给我强行灌输了这个东西。。。 概述 操作分块 / 根号重构,又名时间轴分块,可以解决需要多次修改和查询的问题,常常难以直接维护。 借鉴序列分块的思想,我们设定一个阈值 \(B\),将连续 \(B\) 次操作…