Transformer动画讲解

**Transformer工作原理****

**一、**** ******GPT的核心是Transformer********

*GPT* **GPT(Generative Pre-trained Transformer)**** ****是一种基于单向Transformer解码器的预训练语言模型,它通过在大规模语料库上的无监督学习来捕捉语言的统计规律,从而具备强大的文本生成能力。******
在这里插入图片描述
在这里插入图片描述

[神经网络算法 - 一文搞懂GPT(Generative Pre-trained Transformer)]
****GPT******

在GPT(Generative Pre-trained Transformer)模型中,字母G、P、T各自有其特定的含义:

  • G (Generative):

“Generative”意味着这个模型是生成式的。 与判别式模型不同,生成式模型试图捕捉数据的分布,并能够生成新的、看似真实的数据样本。

  • G (Generative):

“Pre-trained”表示GPT模型在大量的无监督文本数据上进行了预训练 ,使模型学习到文本中的语言结构和语义信息。

  • T (Transformer):

“Transformer”是GPT模型的核心架构。 Transformer是一种基于自注意力机制的神经网络架构,包括编码器和解码器两部分。
在这里插入图片描述

**GPT的核心是Transformer****

神经网络算法 - 一文搞懂Transformer

Transformer模型在多模态数据处理中同样扮演着重要角色 ****,其能够高效、准确地处理包含不同类型(如图像、文本、音频、视频等)的多模态数据。******

在这里插入图片描述

****Transformer的多模态******

Transformer动画讲解 - 多模态

**二、**** ******Transformer的工作原理********

Transformer工作原理四部曲 Embedding(向量化)、Attention(注意力机制)、MLPs(多层感知机)和Unembedding(模型输出)。

在这里插入图片描述

**Embedding -> Attention -> MLPs -> Unembedding****

Transformer动画讲解 - 数据处理的四个阶段

阶段一:Embedding(向量化)

*“Embedding”在字面上的翻译是“嵌入”,* *但在机器学习和自然语言处理的上下文中,我们更倾向于将其理解为* *一种“向量化”或“向量表示”的技术。*

(1)Tokenization(词元化):

  • 对于文本数据:

在自然语言处理(NLP)中,将输入的文本内容(如句子、段落或整个文档)拆分成更小的片段或元素, 这些片段通常被称为词元(tokens)。

  • 对于非文本数据(如音频、图像或视频):

在音频处理中,音频信号可以被分割成帧(frames)作为音频词元; 在图像处理中, 图像可以被分割成图像块(patches) 作为图像词元; 在视频处理中, 视频可以被分割成视频块(patches)作为视频词元。

在这里插入图片描述

******Tokenization********

(2)Embedding(向量化):

  • ****Tokens转换为向量:******

******Embedding层负责将输入的Tokens转换为向量,****将文本中的Tokens(如单词或字符)映射为固定大小的实数向量来捕捉这些Tokens的语义信息。************

****在这里插入图片描述
*****
*

******Tokens转换为向量********

  • Embedding框架:*****TensorFlow、PyTorch、Transformers*****
  1. TensorFlow:一个广泛使用的开源机器学习框架 TensorFlow可以使用内置的 Embedding层来将输入的tokens转换为向量。这个层通常接受输入词汇表的大小、嵌入向量的维度等参数。
  2. PyTorch:另一个流行的深度学习框架 PyTorch同样提供了 Embedding层来支持向量语义表示,与TensorFlow中的类似,也接受词汇表大小和嵌入向量维度等参数。
  3. Hugging Face’s Transformers: Transformers库是由Hugging Face开发的,它基于PyTorch和TensorFlow,提供了大量预训练的Transformer模型,如BERT、GPT等。这些预训练的模型已经包含了Embedding层,可以直接用于将输入的tokens转换为向量。
  • 向量语义相似度: 在训练过程中,算法学会了将含义相似的词汇映射到高维空间中相近的向量上。这使得我们可以通过计算向量间的相似度来评估词汇间的语义关系。

在这里插入图片描述

****向量语义相似度******

Transformer动画讲解 - 向量化

阶段二:Attention(注意力机制)

*Attention模块帮助嵌入向量形成相关性,即确定它们如何相互关联以构建出有意义的句子或段落。*

在这里插入图片描述

******注意力计算公式********

Transformer动画讲解 - 注意力机制

(1)Attention的目的:

  • 更新嵌入向量: 通过利用查询(Q)、键(K)和值(V)来计算注意力权重,我们能够对嵌入向量进行深入分析。这个过程使得不同的嵌入向量能够相互“交流”并基于彼此的信息来更新自身的值,从而实现嵌入向量间的有效互动和信息融合。

*在这里插入图片描述
*

**更新嵌入向量****

  • 建立语义相关性: 嵌入向量(Embedding Vector)作为单词或文本片段的数值化表示,主要捕捉了这些文本单元的语义信息,但在原始状态下并不直接体现它们之间的相关性。Attention在特定的上下文环境中,识别哪些嵌入向量与当前任务最为相关,并据此调整或更新这些嵌入向量的表示,以强化它们之间的关联性。

在这里插入图片描述

****建立语义相关性******

(2)Attention的工作流程(注意力计算Q、K、V):

  • 计算Q、K的点积(注意力分数): Attention机制会计算Query向量与序列中所有单词的Key向量之间的点积(或其他相似度度量),得到一个分数。 这个分数反映了Query向量与每个Key向量之间的相似度,即每个单词与当前位置单词的关联程度。
  • Softmax函数归一化(注意力权重): 这些分数会经过一个Softmax函数进行归一化,得到每个单词的注意力权重。这些权重表示了在理解当前单词时,应该给予序列中其他单词多大的关注。
  • 注意力权重加权求和(加权和向量): 这些注意力权重与对应的Value向量进行加权求和,得到一个加权和向量。这个加权和向量会被用作当前单词的新表示,包含了更丰富的上下文信息。

在这里插入图片描述

****注意力计算Q、K、V******

Transformer动画讲解 - 注意力计算Q、K、V

阶段三:MLPs( *多层感知机或前馈网络*

*Transformer的编码器和解码器中的每一层都包含一个全连接的前馈神经网络。FFNN通常包含两个线性变换,中间使用ReLU激活函数进行非线性处理。*

(1)MLPs在Transformer中的位置:

  • Transformer的编码器: 包含两个主要的子层, **一个**** **多头自注意力(Multi-Head Self-Attention)机制和一个全连接的前馈神经网络(MLP)。****
  • Transformer的解码器: 包含三个主要的子层:

*一个Masked Multi-Head Self-Attention机制(用于编码器的输出),一个Multi-Head Encoder-Decoder Attention机制(用于结合编码器的输出和解码器的当前位置信息),以及一个全连接的前馈神经网络(MLP)。*

在这里插入图片描述

****MLPs在Transformer中的位置******

Transformer动画讲解 - 单头注意力和多头注意力

Transformer动画讲解 - Cross Attention

(2)MLPs在Transformer中的作用:

  • *非线性变换:*

MLPs通过引入激活函数(如ReLU)提供非线性变换, *这有助于模型捕获输入数据中的复杂模式。*

  • *特征提取与整合:*

MLPs进一步处理和转换注意力机制提取的特征, *提取和整合更多有用的信息,**使其能够学习更加复杂的函数关系。***

在这里插入图片描述

****MLPs在Transformer中的作用******

Transformer动画讲解 - 多层感知机

阶段四:Unembedding(模型输出)

*Transformers通过Softmax在生成输出时,****将原始注意力分数转换为输入标记的概率分布。******这种概率分布将较高的注意力权重分配给更相关的标记,并将较低的权重分配给不太相关的标记。***********

(1)Softmax在Transformer的位置:

  • Attention(注意力): 使用Softmax函数对这些相似度分数进行归一化,生成一个权重分布,该分布表示了在计算当前位置(query)的表示时,应赋予其他位置(keys)多大的关注程度。
  • 输出层(Output Layer): 产生一个未经归一化的分数向量(logits),其中每个元素对应于词汇表中一个词的概率。Softmax函数被应用于这个分数向量,将其转换为概率分布,其中每个元素表示生成对应词汇的概率。

在这里插入图片描述

Softmax在Transformer的位置

(2)Softmax在Transformer的作用:

  • *归一化:* Softmax函数将原始分数转换为概率分布,确保所有概率之和为1,使得输出结果可以解释为概率。
  • *可解释性:* 输出的概率分布使得模型预测结果更加直观和可解释,我们可以直接查看模型为每个可能输出分配的概率。

在这里插入图片描述

****Softmax在Transformer中的作用******

如何学习AI大模型?

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

在这里插入图片描述

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

在这里插入图片描述

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

在这里插入图片描述

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

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

相关文章

数字人会被封杀?不!看国家政策打破谣言

数字人会被封? 数字人发展没有前景? 数字人直播何去何从? 是不是大家入局数字人,都在纠结数字人使用和前景的问题?首先,大家放心,数字人广泛使用已经是大势所趋。下面给大家分享最新政策&…

多模态大模型应用开发技术学习

前篇提到多模态模型应用是未来的应用方向,本篇就聊聊技术学习方面的内容。 应用场景 多模态大模型技术的应用场景非常广泛,涵盖了从日常生活到专业领域的各个方面。以下是一些主要的应用场景: 办公自动化:多模态大模型可以用于…

Java线程的创建与使用

线程的概念 线程是‌操作系统能够进行运算调度的最小单位,是进程中的实际运作单位‌。一个进程可以包含多个线程,每个线程是进程中一个单一顺序的控制流,并行执行不同的任务。 线程生命周期 线程的状态是指线程在执行过程中的不同阶段。以…

数位dp(算法篇)

算法篇之数位dp 数位dp 概念: 数位dp是一种计数用的dp,一般是要统计一个区级[l,r]内满足一些条件的数的个数所谓数位dp,就是对数位进行dp,也就是个位、十位等相对于普通的暴力枚举,数位dp快就快在它的记忆化&#x…

打印机问题故障处理_十大打印机故障大全及处理方法

日常办公和生活中,打印机是不可或缺的重要设备。然而,在添加共享或使用共享打印机过程中,经常会遇各种问题。有遇到无法添加打印机、访问共享打印机报错,打印机无法打印等问题,然后这几种错误分别的原因不同&#xff0…

博睿谷IT认证-订阅试学习

在这个信息爆炸的时代,拥有一张IT认证证书,就像拿到了职场晋升的通行证。博睿谷,作为IT认证培训的佼佼者,帮你轻松拿下华为、Oracle等热门认证。下面,让我们一起看看博睿谷如何助你一臂之力。 学习时间,你说…

Fanuc modbusTcp 配置(Robo只能做从站)

需要刷modbusTcp功能包 581800 两个包 插口位置 1CD38A或2CD38B,ip地址可以是固定IP或DHCP IP的设置 MODB_ENBLIO1 才能读写io 注意通讯fanuc是 小端 DI DO都可以

C# 关于“您与该网站的连接不是私密连接...”的问题

目录 问题现象 范例运行环境 WebService 类 类介绍 增加参数 实现 小结 问题现象 最近在访问开发的微信支付功能时遇到了无法访问令牌的错误,这个错误是公司内部应用程序接口返回的访问错误。经过排查是访问 HTTPS 站点遇到的错误,提示证书风险…

MyBatis深度剖析:从入门到精通的实践指南

前言 什么是mybatis? MyBatis是一款优秀的持久层框架,用于简化Java应用程序与数据库之间的交互 什么是框架,为什么需要框架技术? 框架技术 是一个应用程序的半成品提供可重用的公共结构按一定规则组织的一组组件框架优势&#x…

Linux之实战命令05:find应用实例(三十九)

简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【…

node.js居家养老服务系统—计算机毕业设计源码35247

目 录 摘要 1 绪论 1.1选题的背景 1.2研究的意义 1.3国内外居家养老信息化管理现状分析 1.4 express框架介绍 1.5node.js功能模块 1.6论文结构与章节安排 2 居家养老服务系统系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1数据增加流程 2.2.2数据修改流程 2.2.…

jvm中的程序计数器、虚拟机栈和本地方法栈

引言 本文主要介绍一下jvm虚拟机中的程序计数器、虚拟机栈和本地方法栈。 程序计数器 作用 作用:记录下一条jvm指令的执行地址。 下面具体描述一下程序计数器的作用。 这里有两个代码,右边的为源代码,左边为编译之后的字节码。 当我们…

ElasticSearch分页查询性能及封装实现

Es的分页方式 fromsize 最基本的分页方式,类似于SQL中的Limit语法: //查询年龄在12到32之间的前15条数据 {"query":{"bool":{"must":{"range":{"user_age":{"gte":12,"lte":3…

vue实现数据栏无缝滚动实现方式-demo

效果 方式一 通过实现两个item 进行循环 <!--* Author: Jackie* Date: 2023-08-16 21:27:42* LastEditTime: 2023-08-16 21:41:51* LastEditors: Jackie* Description: scroll 水平滚动 - 效果基本满足需求* FilePath: /vue3-swiper-demo/src/components/scroll/Scroll12.…

Linux线程同步与互斥

&#x1f30e;Linux线程同步与互斥 文章目录&#xff1a; Linux线程同步与互斥 Linux线程互斥 线程锁       互斥量Mutex         初始化互斥量的两种方式         申请锁方式         解除与销毁锁 问题解决及线程饥饿       互斥锁的底…

MWD天气图像多分类数据集,用于图像分类总共6个类别,多云,下雨,下雪,雾天,正常天气,共60000张图像数据

MWD天气图像多分类数据集&#xff0c;用于图像分类 总共6个类别&#xff0c;多云&#xff0c;下雨&#xff0c;下雪&#xff0c;雾天&#xff0c;正常天气&#xff0c;共60000张图像数据 MWD天气图像多分类数据集 (Multi-Weather Dataset, MWD) 数据集描述 MWD天气图像多分类…

AcWing算法基础课-790数的三次方根-Java题解

大家好&#xff0c;我是何未来&#xff0c;本篇文章给大家讲解《AcWing算法基础课》790 题——数的三次方根。本题考查算法为浮点数二分查找。本文详细介绍了一个使用二分法计算浮点数三次方根的算法。通过逐步逼近目标值&#xff0c;程序能够在给定的区间内精确计算出结果&…

【Elasticsearch系列廿】Logstash 学习

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

什么是Rspack?

Rspack 是一个基于 Rust 编写的高性能 JavaScript 打包工具&#xff0c;旨在提供与 webpack 生态系统的强兼容性&#xff0c;允许无缝替换 webpack&#xff0c;并提供极快的构建速度。 介绍 - Rspack 它由字节跳动 Web Infra 团队孵化&#xff0c;具有以下特点&#xff1a; 高…

2024年汉字小达人区级自由报名备考冲刺:最新问题和官模题练一练

2024年第十一届汉字小达人的区级活动的时间9月25-30日正式开赛&#xff0c;还有两天就开始比赛。 今天继续回答几个关于汉字小达人的最新问题&#xff0c;做几道2024年官方模拟题&#xff0c;帮助孩子们更精准地备考2024年汉字小达人。 【温馨提示】本专题在比赛期间持续更新…