【LLM】深入理解FFN
为什么要:4096 ↓ 11008 ↓ 4096为什么不是:4096 ↓ 4096为什么:GeLU?为什么:SiLU?为什么:SwiGLU?一、如果没有 FFN,会发生什么?假设Transformer 没有 FFN,只有:Token │ Attention │ Attention │ Attention会发生什么?我们知道,Attention 负责每个 Token 从其他 Token 获取信息。例如:The animal didn't cross the street because it was tired.Attention 可以让:it去看:animal获得:“它指的是 animal”但 Attention 没有创造新的特征。假设:animalEmbedding:[0.2,0.5,0.8]Attention 最后大概就是:0.9 × animal + 0.1 × street也就是说,Attention 的输出其实还是:Value 的加权平均。数学就是:Output=∑iαiVi\text{Output}=\sum_i \alpha_iV_iOutput=∑i​αi​Vi​Attention 没有创造新的东西,它只是重新组合已有的信息(输出已有Token的线性组合)。这里有一个数学上的观点(以后会学):多层线性变换的组合,本质上仍然是线性变换;真正提升表达能力的是非线性(这里来自 FFN 中的 GeLU)。当然,由于 Attention 的权重 α 是由输入动态计算出来的,它本身并不是一个固定线性层,所以严格来说 Attention 整体不是线性的。但它输出的形式始终是 Value 的加权组合,这就是为什么仍然需要 FFN 去做更丰富的特征变换。而FFN负责创造新知识。FFN最简单的形式为:Linear ↓ GeLU ↓ Linear公式:FFN(x)=W2(GeLU(W1x))FFN(x)=W_2(\text{GeLU}(W_1x))FFN(x)=W2​(GeLU(W1​x))这其中,GeLU是最重要的,因为如果没有GeLU,W2(W1x)=(W2W1)xW_2(W_1x) = (W_2W_1)xW2​(W1​x)=(W2​W1​)x所以,真正让 FFN 有意义的是 GeLU,因为它引入了非线性。因此,Attention负责【找信息】,FFN负责【加工信息】。Transformer 最重要的一句话:Attention 负责 Token 与 Token 的交互;FFN 负责每个 Token 自身的表示变换。所以,Transformer其实是在交替进行两种计算。第一步:大家:聊天。(Attention)第二步:每个人回去,自己消化。(FFN)然后,再聊天。再消化。…为什么 FFN 参数这么多?为什么FFN要先升维。例如:4096 ↓ 11008 ↓ 4096为什么不是:4096 ↓ 2048 ↓ 4096因为,FFN 真正做的是:把一个 Token 投影到一个更大的特征空间,在那个空间里完成复杂的非线性变换,再投影回来。这一句话非常重要。升维多少合适?答案先说:升维不是一个数学推导出来的数字,而是"理论 + 工程 + GPU硬件"共同权衡的结果。最早的Transformer(2017)论文规定:modeldff=4×dmodelmodeld_{ff}=4\times d_{model}modeldff​=4×dmodel​为什么是 4?其实论文没有证明。就是大量实验发现:2 倍不够,8 倍收益不明显,4 倍是一个很好的折中。注意:这不是数学结论,而是经验规律。为什么不是越大越好?因为升维越大,参数量增长越快,带来的边际收益却可能递减。为什么 Llama 不是 4×?Llama Hidden为4096。如果 4 倍,应该16384。但是实际是11008。为什么?因为Llama已经不用普通 FFN。而是:SwiGLU。SwiGLU 和普通 FFN 有什么区别?普通 FFN:Linear ↓ GeLU ↓ Linear只有两层Linear。SwiGLU 实际上有三个矩阵。可以写成:SwiGLU(x)=(W1x)⊙SiLU(W3x)\text{SwiGLU}(x) = (W_1x) \odot \text{SiLU}(W_3x)SwiGLU(x)=(W1​x)⊙SiLU(W3​x)然后再乘 W2。也就是说,它不是两个矩阵,而是三个。参数天然变多。所以,如果还保持16384。参数是不是比原来大很多?我们算一下普通 FFN:参数大约:2×d×4d=8d22\times d\times4d = 8d^22×d×4d=8d2SwiGLU:参数有三个矩阵。总共:3×d×dff3\times d\times d_{ff}3×d×dff​如果希望参数量和普通 FFN差不多。应该令:3d×dff≈8d23d\times d_{ff} \approx 8d^23d×dff​≈8d2约掉d,得到:dff≈83dd_{ff} \approx \frac{8}{3}ddff​≈38​d注意:83=2.67\frac{8}{3} = 2.6738​

相关新闻

3步掌握Reloaded-II:告别游戏模组冲突的终极解决方案

3步掌握Reloaded-II:告别游戏模组冲突的终极解决方案

3步掌握Reloaded-II:告别游戏模组冲突的终极解决方案 【免费下载链接】Reloaded-II Universal .NET Core Powered Modding Framework for any Native Game X86, X64. 项目地址: https://gitcode.com/gh_mirrors/re/Reloaded-II 还在为游戏模组安装繁琐、频繁…

2026/8/24 9:43:23 阅读更多 →
JavaSE 基础语法 - 方法的使用 - ①

JavaSE 基础语法 - 方法的使用 - ①

在实际开发中,一个完整的程序往往由成千上万个方法组成。 例如,我们每天使用的微信、支付宝、淘宝等应用,每点击一个按钮、发送一条消息、完成一次支付,背后都会调用不同的方法来完成相应的功能。 那么,什么是方法&…

2026/9/3 17:21:16 阅读更多 →
掌握1对1与1对多数据库关系

掌握1对1与1对多数据库关系

1.1对1何为1对1 2个表互相对照对方 没有其他的表 在生活中常见的1对1关系有作者和作者信息 一个作者只有一个信息 这个信息只能是这个作者作者 李白 信息 朝代、年龄、笔名如果将作者删除那么 信息也会跟着一起删除 两个表是关联的关系然后是操作1.查所有的作者 作者下带着资…

2026/9/3 0:37:51 阅读更多 →

最新新闻

别再做“填空机器”了:毕夏AI帮你把课程论文变成一场“结构先行”的对话

别再做“填空机器”了:毕夏AI帮你把课程论文变成一场“结构先行”的对话

毕夏AI官网 www.bixiaai.com 毕夏AI写作官网 www.bixiaai.com 毕夏官网 www.bixiaai.com 毕夏智能写作官网 www.bixiaai.com 毕夏AI官网 www.bixiaai.com | 微信公众号搜一搜 毕夏AI官网 先问一个问题:你写课程论文时,第一步是打开Wor…

2026/9/3 20:42:48 阅读更多 →
数据链路层(以太网+以太网帧格式+访问控制方式+ARP协议)

数据链路层(以太网+以太网帧格式+访问控制方式+ARP协议)

首先要清楚的是,真正在网络中跑的报文,其实都是数据帧(IP报文是要给到数据链路层的)认识以太网以太网不是一种具体的网络,而是一种技术标准;它完整规定了物理层介质和信号、数据链路层的帧格式,…

2026/9/3 20:42:48 阅读更多 →
LeetCode977 有序数组的平方|双指针解法

LeetCode977 有序数组的平方|双指针解法

1.27: 代码:class Solution: def removeElement(self, nums: List[int], val: int) -> int: slow 0 for fast in range(len(nums)): # fast找到不等于val的元素,就赋值给slow位置 if nums[fast] ! val: nums[slow] nums[fast] slow 1 r…

2026/9/3 20:42:48 阅读更多 →
广州榄雕非遗文化展示与体验预约系统:PHP+Vue+MySQL毕业设计实现

广州榄雕非遗文化展示与体验预约系统:PHP+Vue+MySQL毕业设计实现

毕业设计做到一半,最让人头疼的往往不是代码写不出来,而是选题本身没有“抓手”。管理系统类题目做烂了,电商商城类题目撞车率极高,如果这时候有人告诉你,有个题目既能做出完整的前后端闭环,又自带文化传播…

2026/9/3 20:42:48 阅读更多 →
一文学完numpy使用

一文学完numpy使用

个人笔记 目录 一、Numpy与ndarray概述 1、numpy 2、ndarray的核心特征 二、底层内存本质--data、shape与strides 三、ndarray的创建 1、基础构造 2、预定义形状填充 3、基于数值范围生成 4、特殊矩阵 5、随机数组 四、基本属性 五、索引和切片 1、基础索引 2、…

2026/9/3 20:42:48 阅读更多 →
PHP+MySQL毕业设计:旅游景点网站管理系统从设计到答辩完整指南

PHP+MySQL毕业设计:旅游景点网站管理系统从设计到答辩完整指南

看到“旅游景点网站管理系统 PHPMySQL 毕业设计”这个题目时,很多人的第一反应是:这不就是增删改查吗?网上随便找一套 php 源码,把数据库导入,改一改页面和文字,就能交差了。但实际经历过的人都知道&#x…

2026/9/3 20:41:47 阅读更多 →

日新闻

AI智能体辅助JS逆向:从V8环境搭建到补环境实战

AI智能体辅助JS逆向:从V8环境搭建到补环境实战

先别急着点开,这不是劝退文,而是想讲清楚一件事:用 AI 做逆向值不值得学?如果要用,怎么搭一套“V8 环境 AI 智能体”来提升效率。最近逆向圈、爬虫圈都在聊 AI Agent、AST 工程逆向、JS 逆向这些词,很多新手…

2026/9/3 0:00:29 阅读更多 →
安卓设备通过修改机型信息解锁游戏高帧率:原理、操作与风险指南

安卓设备通过修改机型信息解锁游戏高帧率:原理、操作与风险指南

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

2026/9/3 0:00:29 阅读更多 →
ARM版OpenJDK 11安装部署全攻略:下载、配置与避坑指南

ARM版OpenJDK 11安装部署全攻略:下载、配置与避坑指南

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

2026/9/3 0:00:29 阅读更多 →

周新闻

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

每年校招季我都会接触不少准备数据库方向笔试的同学,看到最多的状态就是:简历上写着“熟悉 MySQL”“了解索引优化”,一碰到数据库管理工程师的笔试卷,却在索引、事务、锁、备份恢复这些题目上翻车。网易这套 2018 校园招聘数据库…

2026/9/3 4:22:22 阅读更多 →
数字电路时序基石:深入理解建立时间与保持时间

数字电路时序基石:深入理解建立时间与保持时间

1. 这不是“背公式”的事:时间参数到底在约束什么你翻过数字电路教材,一定见过这两个词:建立时间(Setup Time)和保持时间(Hold Time)。它们常被并列写在触发器(Flip-Flop&#xff09…

2026/9/3 4:22:01 阅读更多 →
蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

1. 项目缘起:从赛题到超声波测距机的诞生第八届蓝桥杯单片机设计与开发国赛的题目,我至今记忆犹新。它没有直接给出一个花哨的名字,而是用“超声波测距机”这个朴实无华的功能描述,精准地勾勒出了考核的核心。对于当时备赛的我而言…

2026/9/3 4:22:59 阅读更多 →

月新闻

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

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

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

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

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

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

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

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

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

2026/9/3 4:21:44 阅读更多 →