Transformer模型-3-基本工作流程

news2024/9/21 20:43:55

继 《Transformer模型-2-模型架构》该文主讲Transformer的基本工作流程。

第一步: 获取输入句子某单词的向量X。

X:是指某单词的向量,transformer是分别计算word embedding和position embedding并将两者相加得到向量X。

image.png

Embedding Embeddings 是一种将现实世界的对象和关系表示为向量的密集数值表示形式,把字或词转为向量的动作或行为。在机器学习/深度学习中我们用向量表示物体的,这个物体可以是一个单词、一条语句、一个序列、一件商品、一个动作、一本书、一部电影等。拿到语料之后,首先需要做一些必要的清理工作,如清理特殊符号、格式转换、过滤停用词等,然后进行分词、索引化,再利用相关模型或算法把单词、词等标识符向量化。最后输出给下游任务,如下图:

image.png

现在主流的分词处理工具是BPE, 好处是不需要像jieba一样需要开发者保存二维数据
图片描述增加了主流分词工具标注。

词嵌入或预训练模型是关键,它们的质量好坏直接影响下游任务的效果。如word2vec、Transformer、BERT、ALBERT等方法。刷新了自然语言处理、语言识别、推荐任务、搜索排序等任务在性能方面的纪录

Transformer中包含两种Embedding:

  1. word embedding:将字或词转为index之后,查表转化为向量,经过模型的迭代之后,矩阵会越来越准确,生成的Embedding的结果就会越来越发。
  2. position embedding:告诉模型正确的语序(transformer不是时序模型,是并行输入的,需要专门的位置Embedding才能知道句子顺序)。

PS: 向量矩阵理解 假设有一个1000千万的数据按词(早期按字去切分)切分, 再根据词表大小建立了一个数据矩阵或lookup的一张表,该矩阵或表的特点如下:

  • 行数,有多少词就有多少行
  • 列数:取决于模型的维度(训练维度),可以是768维,512维等,具体要根据模型的维度和输入数据要求的维度(Transformer是512维,BERT是768维)
  • index:每一行代表一个词,第一行(词)都有一个唯一的index,每一个index对应到矩阵中的一行(0开始计),按词的列表做一个倒排,哪一个词出现的更多,就更靠前。
  • 查询:用index去矩阵中去(lookup)查,可以查到唯一的记录。查询返回第index行的向量,拿到该向量可作为词的表征

第二步: 将获得的单词向量矩阵X传入Encoder

将得到的单词表示向量矩阵(每一行是一个单词的向量x) 传入Encoder中,经过6个 Encoder block 后可以得到句子所有单词的编码信息矩阵 C,如下图:

image.png

Transformer的Encoder的6层中,每一层的结构相同,经过6层的结构处理,每一层的输出是下一层的输出。 单词向量矩阵用 Xn∗dX_{n*d}Xn∗d​ 表示, n是句子中单词个数,d 是表示向量的维度 (论文中 d=512)。每一个 Encoder block 输出的矩阵维度与输入完全一致。

第三步: 将Encoder输出的编码信息矩阵C传递Decoder

将Encoder输出的编码信息矩阵C传递到Decoder中,Decoder依次会根据当前翻译过的第i个单词,翻译下一个单词(i+1),如下图所示。在使用的过程中,翻译到第i+1单词时候需要通过Mask操作遮盖住(i+1)之后的单词。

在Transformer中Decoder的6层结构,每一步都会结合 Encoder 输出的编码信息矩阵 C 执行,最后输出预测结果

下图展示了 Transformer 使用时候的大致流程: Decoder接收了Encoder的编码矩阵C,然后首先输入一个翻译f起始符 “”,预测第一个单词 “I”;然后输入翻译开始符 “” 和单词 “I”,预测单词 “like”,以此类推。

image.png

如何学习AI大模型?

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

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

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

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

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

学习路线

在这里插入图片描述

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

第二阶段: 在通过大模型提示词工程从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.coloradmin.cn/o/2075147.html

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

相关文章

Spring-bean的循环依赖

文章目录 什么是Spring的循环依赖?Setter 方法循环依赖三级缓存Spring 是如何利用三级缓存解决 Bean 的循环依赖?有了三级缓存为什么还需要二级缓存? 构造器循环依赖总结 什么是Spring的循环依赖? 在 Spring 框架中,循环依赖是指两个或多个…

萌化人心的AI宠物视频:1条爆款35万赞,带你轻松涨粉10万(附教程)

萌宠系的小动物配上可爱的 BGM,场景情绪感直接拉满。用 AI 做超萌宠物视频,涨粉确实香, 分享一个有趣的 AI 宠物玩法,使用用 AI 生成超萌动物(水獭),做成宠物互动的场景式,这种视频播…

掌握Go语言的基本数据类型:编程世界的ABC

Go语言以其精炼的语法和卓越的性能,正日益成为现代软件开发的关键驱动力。在Go语言的众多特性中,基本数据类型的重要性不言而喻,它们是构建任何复杂应用程序的基石。正如掌握任何新语言需从其基础元素开始,Go语言的学习同样始于对…

【qt】windows下qt连接数据库

1.新建数据库 create database mydatabase;2.新建表结构,并插入数据 3.qt下连接数据库 1.连接数据库,需要加sql 2.添加QsqlDatabase头文件,使用提示句柄,头文件QMessageBox 3.连接数据库 4.界面设计 5.插入实现 注意这里如果…

盛水最多的容器问题

目录 一题目概述: 二思路理解: 三解答代码: 一题目概述: leetcode链接:. - 力扣(LeetCode) 二思路理解: 首先这道题虽然看起来简单,很难不让人想到直接暴力破解它&a…

【操作系统】12.文件系统是怎么管理的?

2.文件系统是怎么管理的? 2.1 文件系统的实现 2.1.1 文件系统层次结构 用户调用接口 文件目录系统 存取控制验证模块 逻辑文件系统与文件信息缓冲区 物理文件系统 辅助分配模块 设备管理程序模块 2.1.2 目录实现 线性列表 哈希表 2.1.3 文件实现 文件分配方式 连续…

Unity射击游戏开发教程:(32)控制子弹射速

显示发射速度从较慢到较快的变化 这是一篇关于如何实现射速以防止玩家乱按射击按钮的快速文章。 通常做法 说到要控制子弹的射速,可以通过以下几种方法: 通过设置子弹的发射间隔时间来控制射速。在每次子弹发射后,设置一个时间延迟,确保下一枚子弹不能立即发射。 利用计时…

Redis下载安装使用教程图文教程(超详细)

《网络安全自学教程》 Redis下载安装使用 1、下载安装2、基础配置2.1、远程连接2、保护模式3、默认密码4、后台运行4.1 验证服务是否启动4.2 停止服务 1、下载安装 1)到Redis中文网 https://www.redis.com.cn/download.html 下载Redis安装包 2)Redis的安…

市场动荡!宝马「赶超」特斯拉?华为打响高阶智驾「价格战」

新能源汽车市场正在进入动荡期。 本周,欧洲市场传来重磅消息,宝马在欧洲的电动汽车销量首次超过特斯拉。根据JATO Dynamics的数据,7月宝马在欧洲本土市场销售了14,869辆电动汽车,以308辆的微弱优势首次超过特斯拉。 数据显示&…

“蓝屏事件”阴魂不散,微软安全更新导致 Linux 系统无法启动即解决方案

最近,众多Linux用户报告称他们的设备在尝试启动时,收到了一条神秘的错误消息:“系统出了严重问题。”这起事件的罪魁祸首是微软在月度安全更新中发布的一个补丁,用于修复一个存在已久的GRUB漏洞。 这次更新却导致了Linux和Windows…

Adobe InDesign(ID)专业的排版设计软件win/mac软件下载安装和快捷键的使用

一、Adobe InDesign软件概述 1.1 软件简介 Adobe InDesign是Adobe Systems公司开发的一款面向印刷和数字媒体出版物的专业排版设计软件。它广泛应用于书籍、杂志、报纸、宣传册、海报、广告、电子书等多种出版物的设计与制作中。InDesign以其强大的排版功能、灵活的页面布局工…

7 款最佳软件,可恢复从回收站中删除的文件

您是否曾经从回收站中删除了文件并想要恢复它们?这似乎是不可能的。 但是,从技术上讲,永久删除的文件不会从您的硬盘驱动器存储中删除,而是更改为无法识别的数据并被您的新文件覆盖。 这使您能够从系统中恢复永久删除的文件。 …

Verdi中快速查找define宏定义及其active/inactive状态

可以通过如下方式查看: 打开verdi后 通过 菜单栏tools -> vc apps toolbox 在VC apps toolbox 中选择Utility-》macro utility : 用macro utility中的三个工具分别打印报告(各自针对不同的宏)。生成的log文件中会显示宏定义的…

VMware上Linux系统报错--mount: 在 /dev/sr0 上找不到媒体【解决办法】

问题背景 在VMware上使用CentOS7系统,想要在CentOS7系统上挂载一个镜像文件,在系统下使用mount命令挂载报错如下所示: 解决办法 用lsblk命令查看sr0设备是存在的 查看虚拟机侧问题,右键虚拟机,点击设置 镜像文件已选…

宝塔面板部署雷池社区版教程

宝塔面板部署雷池社区版教程 简单介绍一下宝塔面板,安全高效的服务器运维面板,使用宝塔面板的人非常多 在网站管理上,许多用户都是通过宝塔面板进行管理,宝塔面板的Nginx默认监听端口为80和443,这就导致共存部署时雷…

AIGC大模型应用教学平台

1、基本介绍 AIGC大模型应用技术实训平台是我公司针对高校开设的《AIGC大模型应用技术》课程配套的实训平台。该平台采用最新的AI推理加速芯片,提供30Tops算力和32GB存储,能够运行常见的大语言模型如ChatGLM2、Llama2、Baicuan、Mistral等,也…

vue2 part3

vscode安装vue3 snippets 天气案例 <!DOCTYPE html> <html><head><meta charset"UTF-8" /><title>姓名案例_插值语法实现</title><!-- 引入Vue --><script type"text/javascript" src"../js/vue.js&q…

【Linux】分析一段oom及oops报错日志

oom相关日志分析: Oom-killer错误是因系统内存分配不足&#xff0c;为保障系统正常运行会随机kill掉占用较多的内存进程。 该日志已经输出内存占满相关提示&#xff0c;内存上限为16G&#xff0c;当前已使用16G&#xff0c;内存限制导致分配失败次数为586755次。 OOPS相关日志…

24年最新最详细Python安装教程,附安装包!感觉收藏!

Python由荷兰国家数学与计算机科学研究中心的吉多范罗苏姆于1990年代初设计&#xff0c;作为一门叫做ABC语言的替代品。 Python提供了高效的高级数据结构&#xff0c;还能简单有效地面向对象编程。Python语法和动态类型&#xff0c;以及解释型语言的本质&#xff0c;使它成为多…

centos7解决病毒入侵 getty

首先使用top命令查看 找到文件地址 查看是否有自启动服务 关闭、停止、删除 tmp 病毒文件删除 清除标记 [roothost-192-168-0-66 bin]# chattr -ia /tmp/newsvc.sh [roothost-192-168-0-66 bin]# chattr -ia /tmp/redis2 [roothost-192-168-0-66 bin]# chattr -ia /tmp/svc* [r…