news 2026/9/8 8:17:45

Transformer 大语言模型(LLM)基石 - Transformer架构详解 - 解码器(Decoder)详解以及算法实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Transformer 大语言模型(LLM)基石 - Transformer架构详解 - 解码器(Decoder)详解以及算法实现

锋哥原创的Transformer 大语言模型(LLM)基石视频教程:

https://www.bilibili.com/video/BV1X92pBqEhV

课程介绍

本课程主要讲解Transformer简介,Transformer架构介绍,Transformer架构详解,包括输入层,位置编码,多头注意力机制,前馈神经网络,编码器层,解码器层,输出层,以及Transformer Pytorch2内置实现,Transformer基于PyTorch2手写实现等知识。

Transformer 大语言模型(LLM)基石 - Transformer架构详解 - 解码器(Decoder)详解以及算法实现

Transformer 解码器是 Transformer 模型的重要组成部分,主要用于生成序列,提取特征。

核心特点:

  1. 自注意力机制(Self-Attention):允许解码器关注输入序列的不同部分,但在解码器中,为了防止信息泄露,通常使用掩码自注意力(masked self-attention),确保当前位置只能关注之前的位置。

  2. 编码器-解码器注意力机制(Encoder-Decoder Attention):允许解码器关注编码器的输出。

  3. 前馈神经网络(Feed-Forward Network):每个注意力层后都有一个前馈网络。

解码器层通常由以下子层组成: a. 掩码自注意力层(Masked Multi-Head Self-Attention) b. 编码器-解码器注意力层(Multi-Head Cross-Attention) c. 前馈神经网络层(Feed-Forward Network)

每个子层后面都有残差连接(Residual Connection)和层归一化(Layer Normalization)。

代码实现:

# 解码器层 class DecoderLayer(nn.Module): def __init__(self, d_model, self_attention, cross_attention, d_ff, dropout=0.1): super().__init__() self.d_model = d_model # 词嵌入维度大小 self.self_attention = self_attention # 多头自注意力机制 self.cross_attention = cross_attention # 多头交叉注意力机制 self.feed_forward = d_ff # 前馈神经网络 self.residual_connection1 = ResidualConnection(d_model, dropout) # 残差连接 self.residual_connection2 = ResidualConnection(d_model, dropout) # 残差连接 self.residual_connection3 = ResidualConnection(d_model, dropout) # 残差连接 def forward(self, x, encoder_output, mask): """ 前向传播 :param x: 解码器输入 :param encoder_output: 编码器输出结果 [3,5,512] :param mask: 掩码 :return: """ # 多头自注意力机制 x1 = self.residual_connection1(x, lambda x: self.self_attention(x, x, x, mask)) # 多头交叉注意力机制 x2 = self.residual_connection2(x1, lambda x: self.cross_attention(x, encoder_output, encoder_output)) # 前馈神经网络 x3 = self.residual_connection3(x2, lambda x: self.feed_forward(x)) return x3 # 解码器(由多个解码器层堆叠) class Decoder(nn.Module): def __init__(self, num_layers, layer): super().__init__() self.layers = nn.ModuleList([copy.deepcopy(layer) for _ in range(num_layers)]) self.norm = LayerNorm(layer.d_model) def forward(self, x, encoder_output, mask): """ 前向传播 :param x: 解码器输入 :param encoder_output: 编码器的输出结果 [3,5,512] :param mask: 掩码 :return: """ for layer in self.layers: x = layer(x, encoder_output, mask) return self.norm(x) # 测试解码器 def test_decoder(): vocab_size = 2000 # 词表大小 embedding_dim = 512 # 词嵌入维度大小 embeddings = Embeddings(vocab_size, embedding_dim) embed_result = embeddings(torch.tensor([[23, 5, 77, 3, 55], [166, 12, 13, 122, 15], [166, 21, 13, 14, 15]])) positional_encoding = PositionalEncoding(embedding_dim) positional_result = positional_encoding(embed_result) mha = MultiHeadAttention(d_model=512, num_heads=8) # 多头自注意力机制 ffn = FeedForward(d_model=512, d_ff=2048) # 前馈神经网络 # 实例化解码器对象 decoder_layer = DecoderLayer(d_model=512, self_attention=mha, cross_attention=mha, d_ff=ffn) # 编码器输入 encoder_output = test_encoder() mask = create_sequence_mask(5) # 实例化解码器对象 decoder = Decoder(num_layers=6, layer=decoder_layer) decoder_result = decoder(positional_result, encoder_output, mask) print('decoder_result.shape:', decoder_result.shape) if __name__ == '__main__': # test_encoder() test_decoder()

运行输出:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/8 3:02:31

LangFlow HTTPS安全访问配置指南

LangFlow HTTPS安全访问配置指南 在AI应用快速迭代的今天,越来越多团队开始使用可视化工具来构建大语言模型(LLM)工作流。LangFlow 就是其中的佼佼者——它让开发者无需编写大量代码,就能通过拖拽节点的方式设计复杂的LangChain流…

作者头像 李华
网站建设 2026/9/7 22:35:32

Dify企业级实战深度解析 (18)

一、学习目标作为系列课程高级企业场景深化篇,本集聚焦 “智能客服 多渠道协同 工单闭环” 核心需求,核心目标是掌握DifyDeepseek 智能客服的多渠道接入、意图精准识别、复杂问题处理与工单系统深度集成:从多渠道统一管理到智能分流&#x…

作者头像 李华
网站建设 2026/9/6 12:35:17

LangFlow后端服务架构设计:Flask+SocketIO组合优势

LangFlow后端服务架构设计:Flask与SocketIO的协同之道 在AI应用开发门槛日益降低的今天,如何让非专业开发者也能快速构建基于大语言模型(LLM)的工作流系统,成为了一个关键命题。LangFlow正是这一趋势下的代表性开源项目…

作者头像 李华
网站建设 2026/9/7 5:16:59

目前最好的三折叠屏手机:解锁移动体验新维度,它凭什么脱颖而出?

当折叠屏从双折形态迈向三折时代,消费者对“全能体验”的期待愈发强烈。什么样的三折叠屏手机能兼顾创新形态、实用功能与旗舰性能?今天,我们将聚焦一款重新定义三折叠体验的产品——三星Galaxy Z TriFold,解析它成为目前优质三折…

作者头像 李华
网站建设 2026/9/7 0:55:06

华硕内置恶意代码漏洞遭活跃利用,被CISA列入高危漏洞目录

美国网络安全与基础设施安全局(CISA)已将华硕某新型漏洞纳入已知被利用漏洞(KEV)目录,表明受影响用户和组织面临紧急风险。漏洞详情该漏洞编号为(CVE-2025-59374),影响华硕Live Upda…

作者头像 李华
网站建设 2026/9/7 22:20:10

企业数据合规迫在眉睫,如何用Open-AutoGLM实现自动化审计?

第一章:企业数据合规的挑战与Open-AutoGLM的审计使命在数字化转型加速的背景下,企业面临日益严峻的数据合规挑战。监管机构对数据隐私、跨境传输和算法透明度的要求不断提升,使得传统人工审计手段难以满足高效、可追溯和可验证的需求。Open-A…

作者头像 李华