【大语言模型基础】-详解Transformer原理

大语言模型的预训练[1]:基本概念原理、神经网络的语言模型、Transformer模型原理详解、Bert模型原理介绍 阅读详情

一、Transformer

Transformer最开始用于机器翻译任务,其架构是seq2seq的编码器解码器架构。其核心是自注意力机制: 每个输入都可以看到全局信息,从而缓解RNN的长期依赖问题。

0

输入: (待学习的)输入词嵌入 + 位置编码(相对位置)

编码器结构: 6层编码器: 一层编码器 = 多头注意力+残差(LN) + FFN+残差(LN)

**输出:**每一个位置上输出预测概率分布(K类类别分布)

0

1.1 自注意力

分解式

0

0

缩放内积注意力

1. 自注意力的优势

     a. 计算开销,计算可并行 (嵌入维度d,序列长度n,计算复杂度**O(n^2d))**

     b. 建模长期依赖 (稳定训练过程)

2. 自注意力缩放(内积过大,softmax饱和)

We suspect that for large values d_k, the dot products grow large in magnitude, pushing the softmax function into regions where it has extremely small gradients.To counteract this effect, we scale the dot products by sqrt(d_k)

如上为原文。作者怀疑,如果Q和K的维度特别大,会使得内积后的值也大。从而使softmax进入梯度极小的区域(类似于sigmoid的饱和区域)。 这样容易导致梯度消失。

所以,他们将内积值除以sqrt(d_k),进行一个缩放,而又不破坏相对比例。

多头注意力机制(multi-head attention)

0

0

Transformer 提出多头注意力机制(不同头结果拼起来,再做线性变换),增强了 attention 层的能力(参数量不变)。解释:

  1. 它扩展了模型关注不同位置的能力。不同注意力头,关注不同的位置。长距离依赖
  2. 多头注意力机制赋予 attention 层多个“子表示空间(训练之后,每组注意力可以看作是把输入的向量映射到一个”子表示空间“)
torch.nn.MultiheadAttention(embed\_dim, num\_heads, dropout=0.0, bias=True, add\_bias\_kv=False, add\_zero\_attn=False, kdim=None, vdim=None)

参数说明如下:

  • embed_dim:最终输出的 K、Q、V 矩阵的维度,这个维度需要和词向量的维度一样
  • num_heads:设置多头注意力的数量。如果设置为 1,那么只使用一组注意力。如果设置为其他数值,那么 num_heads 的值需要能够被 embed_dim 整除
  • dropout:这个 dropout 加在 attention score 后面

定义 MultiheadAttention 的对象后,调用时传入的参数如下。

forward(query, key, value, key\_padding\_mask=None, need\_weights=True, attn\_mask=None)
  • query:对应于 Query 矩阵,形状是 (L,N,E) 。其中 L 是输出序列长度,N 是 batch size,E 是词向量的维度

  • key:对应于 Key 矩阵,形状是 (S,N,E) 。其中 S 是输入序列长度,N 是 batch size,E 是词向量的维度

  • value:对应于 Value 矩阵,形状是 (S,N,E) 。其中 S 是输入序列长度,N 是 batch size,E 是词向量的维度

  • key_padding_mask:如果提供了这个参数,那么计算 attention score 时,忽略 Key 矩阵中某些 padding 元素,不参与计算 attention(序列长度不同)。形状是 (N,S)。其中 N 是 batch size,S 是输入序列长度。

  • 如果 key_padding_mask 是 ByteTensor,那么非 0 元素对应的位置会被忽略

  • 如果 key_padding_mask 是 BoolTensor,那么 True 对应的位置会被忽略

  • attn_mask:计算输出时,忽略某些位置。形状可以是 2D (L,S),或者 3D (N∗numheads,L,S)。其中 L 是输出序列长度,S 是输入序列长度,N 是 batch size。

  • 如果 attn_mask 是 ByteTensor,那么非 0 元素对应的位置会被忽略

  • 如果 attn_mask 是 BoolTensor,那么 True 对应的位置会被忽略

在实际中,K、V 矩阵的长度一样,而 Q 矩阵的序列长度可不一样。这种情况发生在:在解码器部分的encoder-decoder attention层中,Q 矩阵是来自解码器下层,而 K、V 矩阵则是来自编码器的输出。

0

2. Encoder 和 Decoder

0

编码器就是编码器层(多头注意力+(残差+LN),FFN+(残差+LN))的堆叠。

0

解码器

Self-attention layers in the decoder allow each position in the decoder to attend to all positions in the decoder up to and including that position.We need to prevent leftward information flow in the decoder to preserve the auto-regressive property.We implement this inside of scaled dot-product attention by masking out (setting to −∞) all values in the input of the softmax which correspond to illegal connections.

  为了保持自回归的性质,要保持从左往右的顺序 (这种情况下,不能利用要预测的未来来推断过去)。  这里将当前token以后的进行mask (即将注意力得分加上-inf,将其变成无穷小,使其注意力系数极小接近于无) \[exp(-inf) = 0\]

  GAT也是这样做的,只不过mask的是非邻居结点 (避免信息泄露,从而让模型学不好)。

避免信息泄露,在解码器中使用mask:

# mask 不为空,那么就把 mask 为 0 的位置的 attention 分数设置为 -1e10(系数无穷小)

attention = torch.matmul(Q, K.permute(0, 1, 3, 2)) / self.scale
if mask is not None:
  attention = attention.masked\_fill(mask == 0, -1e10)
  attention = self.do(torch.softmax(attention, dim=-1))
  x = torch.matmul(attention, V)

交叉注意力层(Decoder-Encoder Attention, Decoder到Encoder输出的潜表示)

使用前一层的输出来构造 Query 矩阵,而 Key 矩阵和 Value 矩阵来自于编码器最终的输出(seq2seq都是这样的,预测当前输出时,不仅看之前的输出,同时也对输入隐状态进行关注)

预测

0

每一个位置有一个分类损失;总的损失就是每个位置损失之和。

训练

0

让我们假设输出词汇表只包含 6 个单词(“a”, “am”, “i”, “thanks”, “student”, and “”(“”表示句子末尾))。

这种架构本就可以用来做语言模型,只不过这里做了seq2seq的翻译。

如果训练数据中本身就有很多句子对,就可以直接通过语言模型实现翻译,例如GPT架构。

程序员为什么要学大模型?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

事实上,抢你饭碗的不是AI,而是会利用AI的人。

继科大讯飞、阿里、华为等巨头公司发布AI产品后,很多中小企业也陆续进场!超高年薪,挖掘AI大模型人才! 如今大厂老板们,也更倾向于会AI的人,普通程序员,还有应对的机会吗?

与其焦虑……

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高。

针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉优快云大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)👈

​

一、LLM大模型经典书籍

AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。

在这里插入图片描述

二、640套LLM大模型报告合集

这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)

在这里插入图片描述

三、LLM大模型系列视频教程

在这里插入图片描述

四、LLM大模型开源教程(LLaLA/Meta/chatglm/chatgpt)

在这里插入图片描述

LLM大模型学习路线 ↓

阶段1:AI大模型时代的基础理解

  • 目标:了解AI大模型的基本概念、发展历程和核心原理。

  • 内容:

    • L1.1 人工智能简述与大模型起源
    • L1.2 大模型与通用人工智能
    • L1.3 GPT模型的发展历程
    • L1.4 模型工程
    • L1.4.1 知识大模型
    • L1.4.2 生产大模型
    • L1.4.3 模型工程方法论
    • L1.4.4 模型工程实践
    • L1.5 GPT应用案例

阶段2:AI大模型API应用开发工程

  • 目标:掌握AI大模型API的使用和开发,以及相关的编程技能。

  • 内容:

    • L2.1 API接口
    • L2.1.1 OpenAI API接口
    • L2.1.2 Python接口接入
    • L2.1.3 BOT工具类框架
    • L2.1.4 代码示例
    • L2.2 Prompt框架
    • L2.3 流水线工程
    • L2.4 总结与展望

阶段3:AI大模型应用架构实践

  • 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。

  • 内容:

    • L3.1 Agent模型框架
    • L3.2 MetaGPT
    • L3.3 ChatGLM
    • L3.4 LLAMA
    • L3.5 其他大模型介绍

阶段4:AI大模型私有化部署

  • 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。

  • 内容:

    • L4.1 模型私有化部署概述
    • L4.2 模型私有化部署的关键技术
    • L4.3 模型私有化部署的实施步骤
    • L4.4 模型私有化部署的应用场景

这份 LLM大模型资料 包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉优快云大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)👈

​

Vue3多级路由缓存失效的深度解析与实战解决方案 本文深度解析了Vue3项目中多级路由下keep-alive缓存失效的根本原因,并提供了三种实战解决方案:通过路由扁平化根治问题、利用状态管理精细模拟缓存效果,以及借助keep-alive-vue3插件快速修复。文章旨在帮助开发者彻底理解Vue Router与keep-alive的协作机制,从而根据项目情况选择最佳策略,有效解决页面状态丢失的难题。 阅读详情

相关推荐

数字IC后端面试题目汇总含解析,ICer上岸必备!

今天IC修真院为大家带来了数字IC后端的面试题目,希望大家能够用得上。

coachip的博客 2447

Transformer 模型详解

本内容主要介绍 Transformer 模型的具体实现。

步入人工智能 37万+

中国区ASP服务性规范考试

10、每次现场维护服务,工程师需按照400要求达到现场的时间与客户联系,在抵达现场、故障恢复后两个时间点分别向400报CALL ,如与客户联系变更到现场时间点,也需向400电话备案(400-822-9999)……20、工程师小B 在接到客户故障申报后赶到客户现场,发现问题无法解决,于是及时将情况反馈至技术支持响应工程师小C ,小B 就和小C 协商由小C 远程解决此问题,后小B 离开客户现场。18、小L 到客户现场交付安装服务。6、EPMS 中上载初验证书的命名规则为:合同号+初验的客户签署日期……

2301_76197693的博客 1909

NLP Transformer的Decoder的输入输出都是什么?每个部分都是什么? NLP中的encoder和decoder的输入是什么?

要弄清楚Decoder的输入输出,关键在于图示三个箭头的位置:因为输入(“我爱中国”)在Encoder中进行了编码,这里我们具体讨论Decoder的操作,也就是如何得到输出(“L Love China”)的过程。

Drug discovery 9402

DDR ECC错误注入与寄存器配置实战指南

本文详细介绍了DDR ECC错误注入的核心价值与实战操作指南,包括通过FI_Dx和FI_ECC寄存器注入数据与ECC错误的方法。文章提供了环境准备、寄存器配置、错误检测及系统可靠性测试策略,帮助开发者验证内存系统的纠错能力和可靠性,提升硬件开发的稳定性与效率。

nnn11的博客 1104

LDPC码介绍:基础&编码&译码

本博客介绍了LDPC码的基本原理,其中包括校验矩阵的构造、Tanner 图和编译码的基础知识。

渺小的颗星的博客 4309

Transformer架构详解

Transformer是一种深度学习模型,最初是由Vaswani等人在2017年的论文《Attention Is All You Need》中提出的。这种模型在自然语言处理(NLP)领域特别流行,它引入了一种新的机制——自注意力(self-attention),使得模型能够更加高效和有效地处理序列数据。

m0_63260018的博客 1万+

Raspberry Pi Pico + Inmp441麦克风(Pio模拟I2s)<2>

摘要:本文介绍了在Raspberry Pi Pico上使用PIO(Programmable I/O)接收I2S数字麦克风音频数据并保存为WAV文件的方法。项目采用双PIO状态机设计,一个生成I2S时钟信号(WS+SCK),另一个接收24位左声道数据并转换为16位格式。文章详细说明了接线方式、参数设置、WAV文件头构造、PIO汇编程序实现以及数据转换处理流程。项目在MicroPython环境下实现16kHz采样率、6秒时长录音,具有时序精确、稳定可靠的特性,并提供了进一步拓展的可能性,如双声道支持、实时频谱分

技术需要沉淀,需要碰撞。 660

一文彻底搞懂 Transformer(图解+代码手撕)

Transformer 通过其捕捉上下文和理解语言的能力,彻底改变了自然语言处理(NLP)领域。通过注意力机制、编码器-解码器架构和多头注意力,它们使得诸如机器翻译和情感分析等任务得以在前所未有的规模上实现。随着我们继续探索诸如 BERT 和 GPT 等模型,很明显,Transformer 处于语言理解和生成的前沿。它们对 NLP 的影响深远,而与 Transformer 一起的发现之旅将揭示出该领域更多令人瞩目的进展。研究论文。

2201_75499313的博客 7114

基于YOLO26的实时目标追踪实战:从训练到视频追踪(附完整可视化代码)

核心组合:YOLO26(高精度检测)+ ByteTrack(稳定追踪)是实时目标追踪的最优工业组合,Ultralytics内置集成无需额外开发;训练优化:追踪场景需优先提升检测框精度(增加box损失权重),保证ID稳定性;可视化核心:为每个ID分配唯一颜色、绘制运动轨迹、显示FPS,是落地场景的必备功能;性能调优:轻量化模型+降分辨率+OpenVINO导出,可在边缘设备(如研华工控机)实现实时追踪。这套代码可直接复用到智慧园区、停车场、工业产线等场景,仅需修改park.yaml中的类别和。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 573

在 ABAP 中把变量一次写对:深入理解 FINAL 内联声明与不可变变量

摘要:ABAP中的FINAL声明操作符用于定义不可变变量,强调"当前上下文中的唯一写位置",能有效防止变量被意外修改,提升代码健壮性和可读性。官方建议优先在单次赋值的场景使用FINAL替代DATA。其核心规则包括:1)写位置唯一但可多次执行(如循环内);2)不创建块级作用域;3)对引用变量仅约束引用本身而非对象内容。典型适用场景包括:结果值只读、输入快照保存和中间结果保护。例外情况如游标变量不适用,因需多次写操作。正确使用FINAL可显著降低代码维护风险。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1046

一文讲清楚大语言模型核心:Transformer 内部运行原理详解,看这一篇就够了!

一文讲清楚大语言模型核心:Transformer 内部运行原理详解,看这一篇就够了!

kaka0722ww的博客 1250

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Transformer工作原理详解:大语言模型的基石,建议收藏学习

本文详细解析了Transformer架构,这是所有大语言模型的基础。文章从词向量化、位置编码开始,逐步解释了Self-Attention、Multi-Head Attention、残差连接、LayerNorm和Feed Forward网络的工作原理。同时,文章还深入介绍了Encoder和Decoder的工作方式,展示了Transformer如何实现语言生成和理解。通过这种通俗的解读,读者可以理解Transformer为何成为现代AI大模型的基石。

2401_84815887的博客 930

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

一文穿透 Transformer 内部原理:大语言模型核心机制详解,收藏这篇就够了

一文穿透 Transformer 内部原理:大语言模型核心机制详解,收藏这篇就够了

大模型研究中心 1191

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

【收藏必备】Transformer工作原理详解:掌握大语言模型的核心技术

Transformer作为大语言模型的核心架构,通过Encoder对输入进行词向量化、位置编码和自注意力处理,Decoder则按序生成输出。其多头注意力机制捕捉多角度语义,残差连接和层归一化确保训练稳定,前馈网络增强特征表达。这种高度并行、可扩展的对称性设计,使Transformer成为ChatGPT等大模型的基石,完美诠释了"Attention is All You Need"的革命性思想。

datian1234的博客 559

大语言模型(LLM)核心原理解析:next token prediction与transformer结构详解

本文深入浅出地解析了大语言模型(LLM)的核心原理:next token prediction。详细介绍了token的概念、token embedding与位置编码的作用,以及语言模型预训练和推理阶段的区别。通过nanoGPT的代码实现,展示了transformer结构中的因果自注意力机制和温度参数对生成文本随机性的影响。适合初学者建立对大模型的基础认知。

bugyinyin的博客 796

大语言模型核心原理:Transformer与自注意力机制详解

文章解析了大语言模型的自回归特性和Transformer架构,重点解释自注意力机制。通过Query、Key、Value矩阵实现单词间关联计算,帮助模型理解上下文。文章用Python代码展示了自注意力的实现步骤,包括嵌入向量生成、注意力得分计算、Softmax归一化和上下文向量生成。这种机制使模型能捕捉单词间的复杂语义关系,是其强大表达能力的基础。GPT等生成式模型以文本为输入、文本为输出。从下图可见,该类模型不会一次性生成完整的输出结果,而是逐个生成token。

老皮的博客 1009

大语言模型的预训练:基本概念原理、神经网络的语言模型、Transformer模型原理详解、Bert模型原理介绍

大语言模型的预训练:基本概念原理、神经网络的语言模型、Transformer模型原理详解、Bert模型原理介绍

大模型训练 1635

Transformer 大语言模型(LLM)基石 - Transformer架构详解 - 掩码机制(Masked)原理介绍以及算法实现

Transformer 大语言模型(LLM)基石 - Transformer架构详解 - 掩码机制(Masked)原理介绍以及算法实现

java1234的博客 1178

从零实现大语言模型:Transformer核心原理与工程实践详解

Transformer架构作为现代大语言模型(LLM)的基石,其核心在于自注意力机制(Self-Attention),它通过计算序列中所有位置之间的关联权重,实现了对长距离依赖的高效建模。这一机制与位置编码、前馈网络、层归一化及残差连接共同构成了Transformer块,赋予了模型强大的序列建模能力。从工程实践角度,理解并亲手实现这些组件,特别是自注意力机制中Q、K、V矩阵的生成、缩放点积计算以及多头注意力的分头与合并过程,是深入掌握模型工作原理、进行有效调试和定制化创新的关键。这种从底层构建的经验,为解决

weixin_28728443的博客 537

从零训练微型大语言模型:Horus-runtime框架实战与Transformer原理详解

Transformer架构作为现代大语言模型(LLM)的核心基础,通过自注意力机制实现了对序列数据的高效建模。其原理在于并行计算输入序列中所有位置之间的关联权重,从而捕获长距离依赖关系。这一技术价值在于为自然语言处理任务提供了强大的特征提取能力,推动了生成式AI的快速发展。在应用场景上,Transformer不仅支撑了ChatGPT、LLaMA等知名模型,也成为众多NLP任务的标配架构。本文聚焦于Horus-runtime这一轻量级LLM训练框架,它通过约2000行可读代码完整实现了从数据预处理、分词器构建

weixin_30596343的博客 315

Transformer 大语言模型(LLM)基石 - Transformer架构详解 - 自注意力机制(Self-Attention)原理介绍

Transformer 大语言模型(LLM)基石 - Transformer架构详解 - 自注意力机制(Self-Attention)原理介绍

java1234的博客 514

深入解析大语言模型系列:Transformer架构的原理与应用

Transformer 作为一种革命性的神经网络架构,通过引入注意力机制,解决了传统模型在处理序列数据时的诸多问题。其并行处理能力、长距离依赖捕捉能力,使得它在大语言模型中的应用大放异彩。从机器翻译到文本生成,再到语义理解,Transformer 正在引领 NLP 领域的创新和发展。

希望我的博客,能帮上你解决学习中工作中所遇到的问题,也期待与您一起探讨技术问题,共同成长。 4421

Transformer神经网络原理大揭秘:ChatGPT翻译实例详解,现代大语言模型的基础架构!

本文通过ChatGPT翻译实例详解Transformer神经网络原理:词嵌入将词语转为数字向量,位置编码保留词序,自注意力机制理解词语关联,编码器-解码器完成翻译任务。同时介绍残差连接、并行计算等优化技巧。Transformer解决了语言理解的三大核心问题,成为现代大语言模型的基础架构,让AI能够准确理解和生成人类语言。

qkh1234567的博客 985
上一篇: 【大语言模型基础】GPT(Generative Pre-training )生成式无监督预训练模型原理
下一篇: 【大模型书】大语言模型安全开发者手册:构建安全的 AI 应用程序
Llama-Turbo
博客等级 码龄4年 9901粉丝 2022原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值