大模型的底层逻辑及Transformer架构

ops/2025/2/6 12:36:25/

一、大模型的底层逻辑

1.数据驱动

        大模型依赖海量的数据进行训练,数据的质量和数量直接影响模型的性能。通过大量的数据,模型能够学习到丰富的模式和规律,从而更好地处理各种任务。

2.深度学习架构

        大模型基于深度学习技术,通常采用多层神经网络进行特征学习与抽象。其中,Transformer架构是目前主流的大模型架构,它通过自注意力机制和前馈神经网络来处理输入数据。这种架构能够高效地处理序列数据,如文本。

3.自注意力机制

        自注意力机制是Transformer架构的核心,它允许模型在处理序列时关注整个上下文信息。通过计算输入序列中每个位置与其他位置的相关性,模型能够更好地理解全局信息。

4.预训练与微调

        大模型通常采用预训练和微调的策略。预训练阶段,模型在大规模无标签数据上学习通用的语言或图像特征。微调阶段,模型在特定任务上进行进一步训练,以适应具体的任务需求。

5.概率计算

        大语言模型通过概率计算逐字接龙的方式工作,根据已有的上下文预测下一个最可能的词。这种基于概率的方法使得模型能够生成自然流畅的文本。

6.损失函数与优化

        为了衡量模型预测结果与真实目标之间的差距,需要定义损失函数,如交叉熵损失。通过优化损失函数,模型不断调整参数,以提高预测的准确性。

7.激活函数

        在神经网络的每一层之后,通常会使用激活函数(如ReLU、GELU等)对输出进行非线性变换。这增加了模型的表达能力,使其能够学习更复杂的模式。

8.多模态融合

        一些大模型还支持多模态输入,如结合文本和图像信息。这种多模态融合能够更全面地理解输入数据,从而提高模型的性能。

        这些底层逻辑共同构成了大模型的基础,使其能够在自然语言处理、图像识别、推荐系统等多个领域表现出色。

二、Transformer架构各组件说明和数据流向

        Transformer架构是一种深度学习模型,主要用于自然语言处理任务。它由Google在2017年提出,其核心思想是通过自注意力(Self-Attention)机制,使模型能够同时处理多个位置的输入,从而更好地捕捉输入数据中的长距离依赖关系。

1. Transformer整体架构

        整体分为编码器(Encoder)解码器(Decoder)两部分,均由多个相同层堆叠而成(原论文《Attention Is All You Need》中为6层),有关Attention is All you Need全文翻译可以查看:https://zhuanlan.zhihu.com/p/682007654。原论文的Transformer总体架构图如下:

图1 Transformer总体架构

        简要流程图如下:

图2 Transformer的简要流程

2.编码器(Encoder)部分

        每个编码器层包含以下子层:

        2.1 输入嵌入(Input Embedding)

        输入包括了输入嵌入和位置编码。

        (1)输入嵌入(Input Embedding):是将输入的单词或标记转换为固定维度的向量表示,便于模型处理(维度 d_model,如512)。

        (2)位置编码(Positional Encoding):为输入向量添加位置信息,因为Transformer并行处理数据而不依赖顺序。将位置信息注入输入(通过正弦函数或可学习参数)。

        2.2 多头自注意力(Multi-Head Self-Attention)

        多头自注意力层(Multi-Head Self-Attention):是Transformer架构的核心,是将编码器输入序列通过多头自注意力计算“注意力权重”,让编码器在对特定词进行编码时使用输入句子中的其他词的信息。

        (1)输入:词嵌入 + 位置编码。

        (2)过程:

        ·将输入拆分为多个“头”(如8个头),每个头独立计算注意力。

        ·每个头计算缩放点积注意力(Scaled Dot-Product Attention),公式:

        ·合并多个头的输出并线性投影。

        注意力函数的作用是:将查询(query)和一组键值对(key-value pairs)映射到输出,其中 query、keys、values 和输出都是向量。输出是values的加权和,其中分配给每个value的权重是由query与相应key的兼容函数(compatibility function)计算。

图3 (左)缩放点积注意力,(右)多头注意力由多个并行运行的注意力层组成

        我们的特别注意力(Scaled Dot-Product Attention)机制称作“缩放点积注意力”(图3左)。输入由d_{k}维的queries和keys以及d_{v}维的values组成。我们使用计算query和所有keys的点积,随之除以\sqrt{d_{k}},再应用softmax函数来获取values的权重。

        实际应用中,我们将一组queries转换成一个矩阵Q,同时应用注意力函数。keys和values也同样被转换成矩阵KV。按照如下方式计算输出矩阵:

        2.3 残差连接与层归一化(Add & Layer Norm)

        对应原文框架中的(Add & Norm),残差连接与层归一化(Add & Normalize):通过添加跨层连接和标准化输出,帮助模型更好地训练,防止梯度问题。

        (1)残差连接:将多头注意力输入与输出相加。

        (2)层归一化:标准化输出。

        2.4 前馈网络(Feed-Forward Network, FFN)

        对应原文框架中的(Feed Forward),前馈网络(Feed Forward Network):对输入进行非线性变换,提取更高级别的特征。其中包含两个线性变换,中间用ReLU激活:

        2.5 重复残差连接与层归一化(Add & Norm)

        对前馈网络输出再次执行残差连接和层归一化。

        编码器(左边)中的数据流向:输入嵌入(Input Embedding)与位置编码(Positional Encoding)相加后,先流入多头自注意力层(Multi-Head Self-Attention),其输出再经过残差连接与层归一化(Add & Layer Norm),然后流入前馈网络(Feed Forward Network),最后再次经过残差连接与层归一化(Add & Layer Norm),得到编码器(Encoding laygers)的输出。

3.解码器(Decoder)部分

        解码器结构与编码器类似,但额外包含编码器-解码器注意力层,并引入掩码机制:

        3.1 掩码多头自注意力(Masked Multi-Head Self-Attention)

        (1)掩码多头自注意力层(Masked Multi-Head Self-Attention):解码器的单个序列通过多头因果自注意力进行注意力计算,确保模型在生成某个词时只能依赖之前的词,避免未来信息的干扰。简单来说,即训练时使用掩码矩阵,防止解码器看到未来信息。

        (2)多头交叉注意力层(Multi-Head Cross-Attention):编码器和解码器的两个序列通过多头交叉注意力进行注意力转移,帮助解码器关注输入句子的相关部分。

        3.2 编码器-解码器注意力(Encoder-Decoder Attention)

        Query来自解码器前一层的输出,Key和Value来自编码器的最终输出。

        3.3 前馈网络与层归一化

        同编码器的FFN结构。

        解码器(右边)中的数据流向:解码器的输入嵌入与位置编码相加后,先流入掩码多头自注意力层,其输出经过残差连接与层归一化,然后流入多头交叉注意力层,再经过残差连接与层归一化,最后流入前馈网络,经过残差连接与层归一化,得到解码器的输出(Encoder)。

        对应原图中的解释如下:

图4 Transformer总体架构图释义

4.输出部分

        (1)线性层(Linear Layer):通过对上一步的线性变化得到指定维度的输出,也就是转换维度的作用。

        (2)Softmax层:使最后一维的向量中的数字缩放到0-1的概率值域内,并满足它们的和为1。

        在模型输出部分的数据流向:解码器的输出先经过线性层,再经过Softmax层,最终得到模型的预测结果。

5. 关键细节标注

        需明确以下内容:

        维度变化(如 d_model=512, h=8 头注意力)。

        残差连接路径(输入→子层→Add→LayerNorm)。

        位置编码公式(如正弦/余弦函数)。

        掩码机制(解码器自注意力中的三角掩码矩阵)。


http://www.ppmy.cn/ops/156154.html

相关文章

C++哈希(链地址法)(二)详解

文章目录 1.开放地址法1.1key不能取模的问题1.1.1将字符串转为整型1.1.2将日期类转为整型 2.哈希函数2.1乘法散列法(了解)2.2全域散列法(了解) 3.处理哈希冲突3.1线性探测(挨着找)3.2二次探测(跳…

【怎么用系列】短视频戒除-2-(移动端)定时关闭抖音等短视频

视频会影响人的潜意识。某种情况下,短视频已经成为了一种毒药,会让人上瘾的毒药。 短视频会让人上瘾,但是音频就太容易引起上瘾。因为没有图像传入到大脑当中,也就不会分泌更多的“多巴胺”,就不会影响到大脑。 如果抖…

ONE NET MQTT+HTTP多端控制

使用移动的ONENET实现数据上传与远程控制,数据上传使用MQTT协议(ESP8266),而数据查看和远程控制使用的HTTP(安卓端/QT),效果: ONENET简单MQTT和HTTP使用 ESP8266通过MQTT上传和订阅数…

DeepSeek-R1:开源机器人智能控制系统的革命性突破

目录 引言 一、DeepSeek-R1 的概述 1.1 什么是 DeepSeek-R1? 1.2 DeepSeek-R1 的定位 二、DeepSeek-R1 的核心特性 2.1 实时控制能力 2.2 多传感器融合 2.3 路径规划与导航 2.4 人工智能集成 2.5 开源与模块化设计 2.6 跨平台支持 三、DeepSeek-R1 的技术…

PPT演示设置:插入音频同步切换播放时长计算

PPT中插入音频&同步切换&放时长计算 一、 插入音频及音频设置二、设置页面切换和音频同步三、播放时长计算四、使用宏设置设置页面切换和音频同步 一、 插入音频及音频设置 1.插入音频:点击菜单栏插入-音频-选择PC上的音频(已存在的音频&#x…

用Deepseek做EXCLE文件对比

背景是我想对比两个PO系统里的一个消息映射,EDI接口的mapping有多复杂懂的都懂,它还不支持跨系统版本对比,所以我费半天劲装NWDS,导出MM到excle,然后问题来了,我需要对比两个excel文件里的内容,…

【AIGC月报】AIGC大模型启元:2025.02(DeepSeek)

【AIGC月报】AIGC大模型启元:2025.02 (1)o3-mini系列(OpenAI推理大模型)(2)Falcon 3系列(阿联酋大语言模型)(3)Deep Research(OpenAI推…

R语言应用KNN、朴素贝叶斯、SVM实现手写数字识别

R语言应用KNN、朴素贝叶斯、SVM实现手写数字识别 使用Rstudio完成,下载本文绑定资源即可开始实验 一、The MNIST Dataset 在本研究中,我们将研究机器学习中最著名的数据集之一——MNIST(改进型国家标准与技术研究院)数据库。完整数据集包含70,000张0到9的手写数字训练图像…