一杯咖啡的时间学习大模型(LLM):LLaMA解读之SwiGLU激活函数

大模型量化实战:从INT4加速到边缘部署的完整工程指南 量化(Quantization)是将高精度浮点模型压缩为低比特整型表示的核心技术,其本质是通过缩放因子(Scale)与零点(Zero-point)建立浮点值与离散整数间的线性映射,在保障可接受精度损失的前提下,显著降低显存占用、提升计算吞吐,并支撑大模型(Big AI Models)在GPU服务器、边缘设备乃至端侧芯片上的实际落地。该技术已超越学术概念,成为LLM服务API开发、金融/医疗等垂类模型上线、低成本硬件选型的关键基础设施。本文聚焦工程实操,覆盖PTQ与QAT等主流路线差异、权重仅量化(WOQ)与 阅读详情

一、LLaMA的核心改进全景

Meta开源的LLaMA模型凭借其卓越的性能表现成为大模型发展的重要里程碑。相较于标准Transformer架构,LLaMA主要在以下几个方面进行了关键改进:

  1. 位置编码升级:采用旋转位置编码(Rotary Position Embedding, RoPE)
  2. 归一化革新:对每个 Transformer 子层的输入进行归一化(Pre-normalization)而非传统Transformer结构中对输出进行归一化(Post - normalization),并使用RMS-Norm替代传统LayerNorm。
  3. 激活函数优化:引入 SwiGLU 激活函数取代 ReLU 非线性函数,以提高性能。
  4. 注意力优化(LLaMA 2):引入分组查询注意力(Grouped Query Attention)

这些改进显著提升了模型的计算效率和长文本处理能力,今天我们来学习一下SwiGLU激活函数。

其余部件的学习链接持续更新中,欢迎关注:

  1. 一杯咖啡的时间学习大模型(LLM):LLaMA解读之旋转编码RoPE(含代码实现)
  2. 一杯咖啡的时间学习大模型(LLM):LLaMA解读之均方根误差标准化RMSNorm(含代码实现)
  3. 一杯咖啡的时间学习大模型(LLM):LLaMA解读之SwiGLU激活函数(含代码实现)
  4. 一杯咖啡的时间学习大模型(LLM):LLaMA解读之分组查询注意力(Grouped Query Attention)(含代码实现)

二、SwiGLU激活函数

2.1 改进动机

传统Transformer中广泛使用ReLU(Rectified Linear Unit)激活函数,其定义为:

ReLU ( x ) = max ⁡ ( 0 , x ) \text{ReLU}(x) = \max(0, x) ReLU(x)=max(0,x)

虽然ReLU计算简单且能缓解梯度消失问题,但它存在以下局限性:

  • 神经元死亡:负值输入梯度恒为0,导致部分神经元永久失活。
  • 表达能力有限:输出仅为单侧线性函数,难以捕捉复杂非线性关系。

SwiGLU(Swish-Gated Linear Unit)通过结合门控机制和Swish激活函数,显著提升了模型的表达能力。其核心思想是:

  • 动态门控:通过可学习的参数控制信息流动。
  • 平滑非线性:Swish函数( Swish ( x ) = x ⋅ σ ( β x ) \text{Swish}(x) = x \cdot \sigma(\beta x) Swish(x)=x⋅σ(βx), β \beta β为可学习参数)相比ReLU更平滑,梯度更稳定。

2.2 数学原理

SwiGLU是GLU(Gated Linear Unit)的改进版本。给定输入张量 X X X,其计算过程如下:

SwiGLU ( X ) = ( Swish ( X W + b ) ) ⊗ ( X V + c ) \text{SwiGLU}(X) = (\text{Swish}(XW + b)) \otimes (XV + c) SwiGLU(X)=(Swish(XW+b))⊗(XV+c)

其中:

  • W , V W, V W,V 为可学习的权重矩阵, b , c b, c b,c 为偏置项。
  • ⊗ \otimes ⊗ 表示逐元素乘法(Hadamard积)。
  • Swish \text{Swish} Swish 函数通常取 β = 1 \beta=1 β=1,即 Swish ( x ) = x ⋅ sigmoid ( x ) \text{Swish}(x) = x \cdot \text{sigmoid}(x) Swish(x)=x⋅sigmoid(x)。

与标准GLU(使用双曲正切函数)相比,SwiGLU通过Swish函数引入了更强的非线性,同时保留了门控机制对信息流的动态调节能力。

2.3 源码实现

import torch
import torch.nn as nn
import torch.nn.functional as F

class SwiGLU(nn.Module):
    def __init__(self, dim_in, dim_out):
        super().__init__()
        # 初始化两个线性变换层
        self.w = nn.Linear(dim_in, dim_out, bias=False)
        self.v = nn.Linear(dim_in, dim_out, bias=False)
        self.bias = nn.Parameter(torch.zeros(dim_out))  # 可学习的偏置项

    def forward(self, x):
        # 计算Swish(Wx)和Vx,并进行逐元素相乘
        swish = F.silu(self.w(x))  # F.silu即Swish函数
        gate = self.v(x)
        return swish * gate + self.bias  # 添加偏置项

# 示例用法
if __name__ == "__main__":
    batch_size = 2
    seq_len = 128
    dim_in = 512
    dim_out = 1024

    swiglu = SwiGLU(dim_in, dim_out)
    x = torch.randn(batch_size, seq_len, dim_in)
    output = swiglu(x)
    print("输入形状:", x.shape)       # [2, 128, 512]
    print("输出形状:", output.shape)  # [2, 128, 1024]
LLM投毒攻击原理与防御:数据层后门的精准建模 大语言模型投毒(LLM Poisoning)是一种发生在训练数据阶段的隐蔽安全威胁,其本质是通过在语料中注入精心设计的恶意样本,在模型参数中植入可触发的后门行为。不同于提示注入或越狱攻击,它作用于数据生命周期早期,依赖梯度更新机制实现恶意关联的记忆固化,具备结构性、持久性与高隐蔽性。该技术凸显了数据质量对模型可信度的决定性影响,广泛应用于AI供应链安全、开源模型审计、金融与法律等高敏领域。本文深入剖析从恶意数据构造、梯度操控到后门神经元激活的完整链路,并提供可落地的五层纵深防御体系。 阅读详情

相关推荐

iPhone离线运行Gemma-4B:端侧大模型落地全栈实践

端侧大语言模型(LLM)是指在终端设备本地完成推理的AI模型,其核心原理依赖模型量化、硬件加速与轻量框架协同优化。技术价值在于保障数据隐私、降低云端依赖、提升响应实时性,适用于医疗咨询、合同审阅、离线编程等强隐私或弱网场景。随着4B级模型如Gemma-4B在A16芯片iPhone上实现INT4量化+Metal加速的稳定推理,端侧LLM已跨越‘能跑’阶段,进入‘可用’新纪元。本文聚焦Gemma-4B在iOS平台的完整落地路径,涵盖MLX框架选型、RoPE适配、Tokenizer一致性修复及GPU性能调优等关键

weixin_33713503的博客 1302

LLama的激活函数SwiGLU 解释

3.3 自适应性:GLU是一种类似于长短期记忆网络(LSTM)带有门机制的网络结构,通过门机制控制信息通过的比例,来让模型自适应地选择哪些单词和特征对预测下一个词有帮助。Swish函数结合了线性函数和非线性函数的特点,能够自适应地调整激活函数的形状,因此在某些深度学习模型中,Swish函数的表现优于常见的ReLU函数。其中,Swish_β(x) = x σ(β x),σ为sigmoid函数,⊗为逐元素乘。在LLaMA模型中,使用的激活函数是SwiGLU。它取代了ReLU非线性函数,以提高模型的性能。

samoyan的博客,记录技术成长~ 9374

LLM量化实战:从原理到int4部署的完整工程指南

大语言模型量化是将高精度浮点权重与激活值转换为低比特整数表示的技术,其核心原理在于权衡数值精度与计算效率,在保持模型推理能力前提下显著降低显存占用和计算开销。该技术具备明确的工程价值:实现消费级GPU(如RTX 4090)或MacBook本地高效部署、支撑边缘端AI落地、减少云端依赖与API调用成本。典型应用场景包括本地大模型对话、工业质检边缘推理、移动端轻量AI助手等。当前主流方案聚焦int4权重量化与fp16激活协同,结合区块量化(blockwise quantization)提升硬件访存效率,并依托Q

weixin_30872337的博客 370

最强英文开源模型LLaMA架构探秘,从原理到源码

LLaMA架构,三个关键点及对应原理,一些实现源码

Steve Wang's blog 4408

Mac本地大模型新范式:oMLX+OpenClaw零命令行体验

本地大模型运行不再等同于命令行工程——它首先是一个系统级的软硬件协同问题。基于Apple Silicon的Metal原生加速原理,MLX框架绕过CUDA生态,直接调度统一内存与GPU计算单元,显著提升推理效率;其技术价值在于将模型部署从‘环境适配’升维为‘应用封装’,使Qwen等主流开源模型可被编译为原生macOS应用。典型应用场景包括设计师快速生成文案、产品经理即时分析数据文件、教育者零基础演示AI能力。本文聚焦oMLX客户端与OpenClaw智能代理的深度融合,实现自然语言指令到文件读写、Shell执行

weixin_34101229的博客 553

LLM推理机制解密:从注意力热力图到logit轨迹的工程化分析

大语言模型的‘推理’并非逻辑推演,而是基于统计规律的条件概率建模。其核心原理在于Transformer架构中注意力机制对关键证据的动态绑定、残差流中logit值的阶段性跃迁,以及位置编码对长程依赖的建模能力。这种机制赋予模型在数学计算、法律适用、多跳问答等任务中复现类人输出的技术价值,但真实推理能力高度依赖输入结构、提示设计与底层架构。工程师需跳出‘是否思考’的哲学陷阱,转而通过attention可视化、logit lens分析和activation patching等可测量手段,定位推理焦点、捕捉决策临界

weixin_34296641的博客 441

LLaMA系列模型

2023年2月,Meta(原Facebook)推出了LLaMA大模型,在相关评测任务上的效果可以媲美甚至超过千亿级大模型,被认为是近期开源大模型百花⻬放的开端之一,“羊驼”系列模型及其生态快速发展。

wdn blog 4154

cuda安装时出现错误 Unable to locate package cuda-toolkit-12-4

cuda安装时出现错误 Unable to locate package cuda-toolkit-12-4

4867

深入理解LLaMA, Alpaca, ColossalChat 系列模型

知乎:紫气东来https://zhuanlan.zhihu.com/p/618695885一、从 LLaMA 到 Alpaca:大模型的小训练1.1 LLaMA 概要与实践LLaMA(Large Language Model Meta AI) 是由 Meta AI 发布了一款全新的大型语言模型,共有7B、13B、33B、65B 四种版本,其模型参数如下表所示:与原始的 transformer De...

zenRRan的博客 1万+

若依前后端分离版集成nacos

服务动态配置与服务注册发现根据公司要求,需要将项目集成到nacos中,当前项目是基于若依前后端分离版开发的,若依的版本为3.8.3,若依框架中整合的springBoot版本为2.5.14。Nacos核心提供两个功能:服务注册与发现,动态配置管理。

NDF923的专栏 4645

ADS SerDes仿真实战:深入解析Tx_Diff均衡器(EQ)参数对眼图质量的影响

本文以ADS仿真平台为基础,深入解析了SerDes设计中Tx_Diff均衡器(EQ)参数对信号完整性的核心影响。通过实战演示,详细对比了去加重(De-emphasis)与FIR抽头系数两种调节模式,揭示了它们如何有效对抗信道损耗与码间干扰,从而显著改善眼图的高度、宽度与抖动性能,为高速串行链路设计提供关键调优思路。

weixin_29230901的博客 226

一杯咖啡的时间学习大模型(LLM):LLaMA解读之分组查询注意力(Grouped Query Attention)

一文读懂LLaMA核心架构之分组查询注意力(Grouped Query Attention)

Bug_makerACE的博客 1686

vscode中使用PlatformIO创建工程加载慢

解决使用VSCODE+PlatformIO中,第一次新建工程一直加载的问题

Reasally的博客 4976

一杯咖啡的时间学习大模型(LLM):LLaMA解读之均方根误差标准化RMSNorm(含代码实现)

一文读懂LLaMA核心架构之均方根误差标准化RMSNorm(含代码实现)

Bug_makerACE的博客 2331

ADRV9009学习资料保存:基于XC7Z100+ADRV9009的双收双发无线电射频板卡

ADRV9009学习资料保存:基于XC7Z100+ADRV9009的双收双发无线电射频板卡 一、板卡概述 基于XC7Z100+ADRV9009的双收双发无线电射频板卡是基于XilinxZYNQFPGA和ADI的无线收发芯片ADRV9009开发的专用功能板卡,用于5G小基站,无线图传,数据收发...

9367

校招总结—FPGA从入门到放弃

校招总结—FPGA从入门到放弃 感谢咸鱼FPGA的授权转发,原文地址为https://www.cnblogs.com/xianyufpga/ 其实 offer 早就定下来了,最近忙着入党考试,现在才腾出时间来写个总结。我校招开始于 7 月底,算是比较晚了,后面加了各大校招交流群,发现很多同学都是过完年后就开始打磨项目、复习基础、寻找实习。对比之下我这准备确实仓促,不过结果还算满意。 ...

qq_31515205的博客 8606

一杯咖啡的时间学习大模型(LLM):LLaMA解读之旋转编码RoPE(含代码实现)

一问搞懂LLaMA的架构之旋转编码(RoPE, Rotary Position Embedding)

Bug_makerACE的博客 1311

Arcgis加载在线地图(内涵各种在线地图)

这三个在线地图是最常用的在线地图,其他几个类型的在线地图请自行查看。,加载出在线图层说明连接成功,点击。1、首先打开Arcgis,找到。

爱吃雪糕的小布丁的博客 1万+

LLaMA论文+源码分享

含LLaMA论文地址+解读视频+源码地址分享!

Bug_makerACE的博客 1766

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

LLaMA-1实操手记:SwiGLU、FairScale与RoPE的工程真相

大语言模型(LLM)的核心并非参数规模,而在于底层架构设计与工程实现细节。SwiGLU激活函数通过并行计算路径优化GPU张量核利用率,其性能收益高度依赖显存带宽与硬件特性;FairScale在LLaMA-1中并非通用分布式插件,而是针对梯度检查点、RMSNorm分片与词表嵌入负载均衡深度定制的训练稳定性保障机制;Rotary Position Embedding(RoPE)则彻底摒弃传统位置编码加法范式,以动态旋转矩阵注入位置信息,带来上下文长度锁定、外推脆弱性及词表索引强耦合等硬性约束。这些关键技术共同构

weixin_34411563的博客 354

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

C#LLM[0]:从零开始训练轻量级语言模型-MiniLLM

充分参考了MiniMind,本项目MINILLM 中的 Transformer 采用 Llama 风格设计,是模型的核心计算单元,负责处理序列数据的语义关联和特征提取。其结构由多个 LlamaBlock 堆叠而成,通过 ModuleList 组织以支持潜在的 LoRA 微调扩展。本文主要介绍了在C# 中如何基于Transformer模型实现一个具有对话能力的语言模型,希望本系列能以深入浅出的方式,帮助C# 开发者快速掌握LLM的实现原理。

qq_15506683的博客 810

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

手写LLM推理引擎:从Tokenizer到KV Cache的全链路实现

大语言模型(LLM)推理并非黑箱,其本质是基于状态转移的确定性计算过程。理解Tokenizer与词表对齐、KV Cache的内存布局优化、RoPE位置编码的数学实现,是构建高效轻量推理系统的基础。这些核心技术直接决定显存占用、吞吐性能与部署可行性,尤其在边缘设备(如Jetson、树莓派)和嵌入式场景中至关重要。本文以纯Python+NumPy为工具,拆解LLM生成全流程:从文本分词、状态缓存更新,到Attention矩阵运算与SwiGLU前馈网络,强调每一行代码均可映射至论文公式或硬件行为。聚焦Tokeni

weixin_29041195的博客 127

4GB显存Windows部署Llama3.1:显存压榨实战指南

大模型推理中的显存管理,本质是动态内存调度而非静态容量分配。理解CUDA显存作为计算流水线的特性,结合AWQ量化、PagedAttention、FlashAttention-2和CPU offloading四大技术,可显著降低FP16模型的显存驻留需求与峰值压力。尤其在Llama3.1系列中,GQA架构与RMSNorm等设计天然适配压缩,使4GB消费级显卡在Windows 11环境下稳定运行8B模型成为现实。本文聚焦开源大模型在低资源终端的工程落地,覆盖量化选型、vLLM/llama.cpp参数调优、hy-

chunchan1381的博客 519

Gavin大咖亲自授课:LangGraph+CrewAI项目实战

Gavin大咖亲自授课:LangGraph+CrewAI项目实战这个内容非常重要,它会奠定你接下来至少1到2年的核心竞争力。一方面它是最核心的算法和技术,另外一方面会讲很多的最佳实践,也会与大家分享很多的代码案例。通过这些内容,能够节省你1到2年的时间。之所以能够这样说,除了前面解释的很重要的原因以外,Gavin大咖还会告诉你,无论你的数学基础、编程基础或工程经验怎么样,你都能够深刻地理解大模型或生成式AI背后最核心的技术、算法、实现以及在做工程或产品落地时做出正确的决策。

大模型与Agent智能体 1659

Gemma轻量化大模型:普通电脑跑大模型的工程实践指南

轻量化大模型是当前AI落地的关键技术路径,其核心在于通过精简架构、高效量化与开源工具链协同降低硬件门槛。原理上,它依托旋转位置编码优化、SwiGLU压缩前馈网络、小词表设计等手段,在参数量受限下仍保持任务级精度;技术价值体现在显存占用锐减、CPU/GPU自适应推理及开箱即用的本地部署能力;典型应用场景覆盖教育辅助、嵌入式开发、本地知识库与离线RAG系统。谷歌Gemma正是这一范式的标杆实现——它不是参数更少的妥协,而是面向真实工作流的重新设计,让‘普通电脑跑大模型’从概念走向终端可验证的日常生产力。本文聚焦

vanadiumlin 608
上一篇: 一杯咖啡的时间学习大模型(LLM):LLaMA解读之均方根误差标准化RMSNorm(含代码实现)
下一篇: 一杯咖啡的时间学习大模型(LLM):LLaMA解读之分组查询注意力(Grouped Query Attention)
ACEEE-1222
博客等级 码龄4年 432粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值