二、AI大模型(Transformer架构)

news2024/11/18 23:50:34

Transformer架构

Transformer架构是目前大多数AI大模型的基础,它通过**自注意力机制(Self-Attention Mechanism)**解决了序列处理中的长距离依赖问题。相比传统的递归神经网络(RNN)和长短期记忆网络(LSTM),Transformer能更高效地处理长序列输入,并极大提升了并行计算能力。

Transformer的核心组件

Transformer由两大部分组成:编码器(Encoder)解码器(Decoder),但最常见的GPT、BERT等模型通常只使用编码器或解码器的单一部分来处理任务。

  • 编码器(Encoder):将输入序列转换为一组嵌入向量(contextual embeddings),这些嵌入向量表示输入中每个词汇的语义信息。
  • 解码器(Decoder):基于编码器输出的上下文信息,生成目标序列(如翻译任务中的输出句子)。
Transformer整体结构

​​在这里插入图片描述

典型的Transformer结构如下图所示:

+-------------------------+
|         输入序列         |
+-------------------------+
         |
         v
+-------------------------+
|   多层编码器(Encoder)   |
+-------------------------+
         |
         v
+-------------------------+
|   多层解码器(Decoder)   |
+-------------------------+
         |
         v
+-------------------------+
|       输出序列          |
+-------------------------+

在具体任务中,例如文本生成、翻译等场景,输入序列经过编码器处理为向量表示,随后解码器基于这个向量和自身的输入,生成所需的输出。

自注意力机制(Self-Attention Mechanism)

Transformer架构最核心的部分是自注意力机制,也叫Scaled Dot-Product Attention。它通过计算序列中每个词与其他所有词之间的关联(注意力权重),来捕捉句子中重要的上下文关系。

自注意力机制的流程

输入序列:假设输入一个序列 ( X = [x_1, x_2, x_3, …, x_n] ),每个 ( x_i ) 表示输入序列中的一个词。

  1. 生成三个矩阵:对于每个输入词,生成三个向量矩阵:

    • Query(查询向量):用于寻找与其他词的相关性。
    • Key(键向量):代表输入序列中的特征,用于与Query计算相关性。
    • Value(值向量):保存词的实际信息,最终用于输出。

    用公式表示为:
    [
    Q = XW_Q, \quad K = XW_K, \quad V = XW_V
    ]
    其中 ( W_Q, W_K, W_V ) 是训练过程中学习到的权重矩阵。

  2. 计算注意力分数:通过点积操作计算Query和Key之间的相似性(即相关性),用来衡量每个词对其他词的“注意力”。然后将结果进行缩放,防止数值过大:
    [
    \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V
    ]
    其中 ( d_k ) 是Query或Key的维度,( \sqrt{d_k} ) 用来缩放点积结果,防止梯度消失或爆炸。

  3. 加权输出:计算出的注意力分数用于加权Value矩阵,这样每个词会根据与其他词的相关性重新组合自己的表征。

多头注意力机制(Multi-Head Attention)

为了捕捉更多的特征和信息,Transformer使用多头注意力机制,即将自注意力机制并行执行多次,得到多组不同的注意力输出。然后将这些结果拼接起来,通过线性变换得到最终的表示。

公式
[
\text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, \text{head}_2, …, \text{head}_h)W^O
]
其中 ( \text{head}_i = \text{Attention}(QW_i^Q, KW_i^K, VW_i^V) ),( W_i^Q, W_i^K, W_i^V ) 是不同的权重矩阵,( W^O ) 是输出的线性变换矩阵。

多头注意力机制能够让模型在不同的空间维度上关注不同的语义关系,提升了模型的表达能力。

Transformer中的位置编码(Positional Encoding)

Transformer虽然能并行处理序列中的词汇,但与RNN等序列模型不同,Transformer不具备自然的序列顺序感知能力。因此,模型需要加入额外的位置编码来为序列中的每个词引入位置信息。

位置编码通常是通过正弦和余弦函数生成的,具有周期性,能够为不同长度的输入序列提供位置信息。这帮助模型理解序列中的词汇顺序。

位置编码公式
[
PE(pos, 2i) = \sin\left(\frac{pos}{10000^{\frac{2i}{d_{model}}}}\right)
]
[
PE(pos, 2i+1) = \cos\left(\frac{pos}{10000^{\frac{2i}{d_{model}}}}\right)
]
其中 ( pos ) 是词的位置,( i ) 是维度索引,( d_{model} ) 是嵌入向量的维度。

Transformer架构的优势
并行计算

由于没有依赖递归结构,Transformer能够在序列处理时并行化操作,极大提升了训练速度。这使得Transformer可以更有效地训练大规模模型。

处理长距离依赖

传统的RNN在处理长距离依赖时常常面临梯度消失的问题,而Transformer通过自注意力机制,可以直接计算序列中任意两个位置的依赖关系,尤其适合长序列任务。

表达能力强

通过多头注意力机制,Transformer能够在不同的空间维度捕捉更丰富的语义信息,具备极强的表达能力。


视觉示例:

通过上述讲解,我们理解了Transformer模型的原理和结构,以及它如何通过自注意力机制捕捉输入序列中的长距离依赖。这个架构是AI大模型的基础。

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

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

相关文章

C Primer Plus 第7章——第二篇

你该逆袭了 第7章:重点摘录 三、逻辑运算符1、备选拼写:iso646.h 头文件2、优先级3、求值顺序4、范围 四、一个统计单词的程序1、针对代码,提出疑问,第8章节进行讲解2、我结合自己的理解,自己写的代码 五、条件运算符 &#xff1f…

公交IC卡收单管理系统 多接口SQL注入

0x01 产品描述: 公交IC卡系统是公交一卡通系统核心建设部分,是高时尚、高科技的管理系统,大大提升了公交行业的服务,能让公交企业信息化和电子化打下一个良好的硬件基础和软件基 0x02 漏洞描述: 公交IC卡系统在/role&…

HashMap底层原理是什么?从源码入手,沉浸式解读HashMap序列化、存储、扩容、获取等方法具体实现

导航: 【Java笔记踩坑汇总】Java基础JavaWebSSMSpringBootSpringCloud瑞吉外卖/谷粒商城/学成在线设计模式面试题汇总性能调优/架构设计源码解析-CSDN博客 目录 一、基本介绍 1.1 集合和映射 1.1.1 基本介绍 1.1.2 思考:Map是不是集合? …

当今爆火的RPA其实就是自动化测试

最近有机会看到了 RPA 在实际工作中的重度应用,深刻感受到了自动化的强大实力,以后的应用前景时完全可期的。 RPA (Robotic Process Automation) 简介 Robotic Process Automation (RPA) 是一种技术,使用软件机器人(或称“机器人…

知乎信息流广告营销获客投放策略!

知乎内容营销已成为品牌吸引目标客户、提升品牌知名度的重要手段,吸引了众多企业的关注。为了更好地利用知乎这一平台进行品牌推广,越来越多的企业开始关注知乎信息流广告的投放。云衔科技通过知乎信息流广告实现高效的营销获客,为企业提供知…

小程序原生-数据的双向绑定

1. 通过model:实现数据的双向绑定 <input type"text" name"名称" model:value"{{name}}" /> <checkbox model:checked"{{isChecked}}"/> 是否同意该协议// pages/test/test.js Page({data: {name:wuk,isChecked:false}, }…

无心上班,只想为祖国庆生?让ChatGPT帮你搞定工作!

国庆假期临近&#xff0c;大家的心早已飞向诗和远方了吧。 然而&#xff0c;现实总是无情地将我们拉回到堆积如山的工作任务上&#xff1a;紧急报告的截止日期就在眼前&#xff0c;复杂的项目策划还未动笔&#xff0c;客户的定制需求迫在眉睫。每年的这个时候&#xff0c;如何…

大模型产品架构全景解读:从应用场景到技术支持的完整路径

随着人工智能技术的迅猛发展&#xff0c;大模型逐渐成为推动各行业智能化转型的核心动力之一。大模型不仅可以处理大量数据&#xff0c;进行复杂任务的自动化&#xff0c;还能通过微调、蒸馏等技术在特定场景中表现出色。本文将结合大模型产品架构图&#xff0c;详细解读每一个…

解决TikTok无网络连接问题解析

随着社交媒体的快速发展&#xff0c;TikTok已成为全球用户最喜欢的短视频平台之一&#xff0c;吸引了数以亿计的用户。然而&#xff0c;在享受这个平台时&#xff0c;用户经常会遇到无网络连接的问题&#xff0c;这不仅影响观看体验&#xff0c;还可能导致无法上传内容或参与社…

数字人直播违规解决方案揭晓:阿凡达模式2.0版本如何实现7*24小时全天候无间断直播?

随着AI数字人行业的兴起&#xff0c;以数字人直播为代表的应用逐渐走入人们的视野&#xff0c;并成为企业降本增效的一大重要工具。不过&#xff0c;就目前的实际应用情况来看&#xff0c;绝大多数企业在使用数字人直播的过程中&#xff0c;经常会有直播间违规和账号封禁等情况…

IdmGAE Importance-Inspired Dynamic Masking for Graph Autoencoders

sigir24 #paper/⭐ 不要读这篇论文以及笔记了&#xff0c;没有用的东西。。这采样技术都是21-23年的论文的技术了&#xff0c;到24年还在用&#xff0c;也没有理论支撑。。。后悔读了 贡献&#xff1a;利用节点度和节点相似性去构造自适应增强 增强 构造度矩阵&#xff1a; D…

Word样式的同步与重置

有时候我们需要修改Word中的样式&#xff0c;实现排版的个性化。 如何同步样式到其他电脑上&#xff1f; Word中的样式是由Normal.dotm文件控制的&#xff0c;对样式所有的设置和修改&#xff0c;都会保存到这个问题件中&#xff0c;所以我们只需要在设置好样式以后&#xff…

骨传导耳机哪个牌子好?盘点五大热销主流机型全方位实测分析!

市面上的骨传导耳机品牌繁多&#xff0c;质量也参差不齐&#xff0c;甚至有些产品工艺粗糙&#xff0c;盲目入手使用可能存在安全隐患&#xff0c;还会影响听力和健康。那么&#xff0c;究竟骨传导耳机哪个牌子好&#xff1f;作为一名有着多年数码测试经验的博主&#xff0c;今…

【hot100-java】【编辑距离】

多维dp篇 class Solution {public int minDistance(String word1, String word2) {char [] sword1.toCharArray();char [] tword2.toCharArray();int ns.length;int mt.length;int [][] fnew int[n1][m1];for (int j1;j<m;j){f[0][j]j;}for(int i0;i<n;i){f[i1][0]i1;for…

博弈论(学习笔记)

定义何为最优&#xff01; 最优解是均衡&#xff01;&#xff08;&#xff09; 一次博弈 --- 一面之缘 复杂动态博弈&#xff1b; 路怒症----陌生人&#xff0c;一次性博弈。 一次性博弈最能暴露人性。 重复博弈太压抑了。 沙普利求解合作博弈的著名理论---如何为参与者制定利益…

24.9.29

星期一&#xff1a; 补 cf round974 div3 H cf传送门 题意&#xff1a;给一数组&#xff0c;q次询问&#xff0c;每次询问l-r区间内是否每个数字都出现偶数次 终于找到了梦中的随机数函数&#xff0c;这随机数真是非常顶级口牙 思路&a…

Python开源项目周排行 2024年第15周

#2024年第15周2024年8月30日1openuiOpenUI 是用于生成 UI 界面的 AI 工具。OpenUI 让你可以发挥想象力来描述 UI&#xff0c;然后查看它的实时渲染。你可以将生成的 HTML 转换为 React、Svelte、Web Components 等。它类似于 v0&#xff08;v0.dev&#xff09;&#xff0c;但是…

Unity开发绘画板——04.笔刷大小调节

笔刷大小调节 上面的代码中其实我们已经提供了笔刷大小的字段&#xff0c;即brushSize&#xff0c;现在只需要将该字段和界面中的Slider绑定即可&#xff0c;Slider值的范围我们设置为1~20 代码中只需要做如下改动&#xff1a; public Slider brushSizeSlider; //控制笔刷大…

Altium Designer脚本的执行方式

在Altium Designer脚本系统中执行脚本支持多种方法 1.点击工具栏的运行工具(蓝色向右三角图标)可以执行脚本程序&#xff1b; 2.点击菜单栏Run->Run可以执行脚本程序&#xff1b; 3.在脚本编辑器中&#xff0c;按键盘的F9键可以执行脚本程序&#xff1b; 4.通过菜单栏执行脚…

新品 | Teledyne FLIR IIS 推出Forge 1GigE SWIR 短波红外工业相机系列

近日&#xff0c;51camera的合作伙伴Teledyne FLIR IIS推出了新品Forge 1GigE SWIR 130万像素的红外相机。 Forge 1GigE SWIR系列的首款相机配备宽频带、高灵敏度的Sony SenSWIR™️ 130万像素IMX990 InGaAs传感器。这款先进的传感器采用5um像素捕捉可见光和SWIR光谱&#xff…