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

继 《Transformer模型-2-模型架构》笔者该文章中将分享Transformer的基本工作流程。

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

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

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

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

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

词嵌入或预训练模型是关键,它们的质量好坏直接影响下游任务的效果。如word2vec、Transformer、BERT、ALBERT等方法。刷新了自然语言处理、语言识别、推荐任务、搜索排序等任务在性能方面的纪录 (为解释清楚引啥是Embedding(嵌入技术)文字说明)

Transformer中包含两种Embedding:

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

第二步:将得到的单词表示向量矩阵传入Encoder

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

Transformer的Encoder的6层中,每一层的结构相同,经过6层的结构处理,每一层的输出是下一层的输出。

单词向量矩阵用 X n ∗ d X_{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,然后首先输入一个翻译开始符 "",预测第一个单词 "I";然后输入翻译开始符 "" 和单词 "I",预测单词 "love",以此类推。

后记:笔者在课上听了云里雾里,线下查阅了很多资料整理而成,如还有错误,望指出定改。

相关推荐
程序员清风3 小时前
LangGraph 入门:用状态机设计可靠的 Agent 工作流
人工智能·python
南京兴帝文化传媒有限公司3 小时前
本地生活服务GEO优化实战:宁国花店地图关键词布局带来订单翻倍的技术路径
大数据·人工智能·生活·geo 优化·geo优化避坑·ai搜索获客
前端双越老师3 小时前
张三的 10 亿元 AI 梦:从“造神”到“活下去”
llm·agent·芯片
大模型搬砖师3 小时前
把自训模型挂上统一端点:聚合平台的自定义模型接入
人工智能
Nablai3 小时前
多国上市的工程排期:AI 玩具出海项目的并行任务与关键路径
人工智能
马剑威(威哥爱编程)3 小时前
【共创稿事节】HarmonyOS 7 Agent A2A 实战:让日程智能体和打车智能体自己谈成一单
pytorch·深度学习·harmonyos
桃西西呀3 小时前
机器眼里没有脸,怎么识别人脸?手写 CNN 拆开卷积层与 BatchNorm
人工智能·深度学习·llm
拼搏奋斗,无悔于青春3 小时前
一万月薪,能招到真懂AI的工程师吗?先看看行情牌
人工智能·ai
hiahiahia1233 小时前
SSE 和 WebSocket 到底怎么选?
人工智能
Rocky Ding*3 小时前
一文读懂Hallo数字人核心基础知识
论文阅读·人工智能·深度学习·机器学习·aigc·数字人·ai-native