推理过程的差异

在前面我们完整地讲解了训练过程的操作,建议可以先看看前文:
词嵌入和位置编码(超详细+图解)https://blog.csdn.net/Drise_/article/details/155502880?fromshare=blogdetail&sharetype=blogdetail&sharerId=155502880&sharerefer=PC&sharesource=Drise_&sharefrom=from_linkhttps://blog.csdn.net/Drise_/article/details/155502880?fromshare=blogdetail&sharetype=blogdetail&sharerId=155502880&sharerefer=PC&sharesource=Drise_&sharefrom=from_link

编码器详解(超详细+图解)https://blog.csdn.net/Drise_/article/details/155556414?fromshare=blogdetail&sharetype=blogdetail&sharerId=155556414&sharerefer=PC&sharesource=Drise_&sharefrom=from_link

解码器详解(训练过程)https://blog.csdn.net/Drise_/article/details/155804075?fromshare=blogdetail&sharetype=blogdetail&sharerId=155804075&sharerefer=PC&sharesource=Drise_&sharefrom=from_link

以下为***《Attention Is All You Need》*** 的transformer结构,本文会对解码器部分进行介绍:

训练过程的作用

之前我们对编码器和解码器在训练过程的操作进行了讲解,那么训练过程对模型有什么作用?

基于论文中的翻译任务,训练过程的作用那就是让模型学会从输入到输出的映射关系,通过优化参数使模型能够准确预测或生成目标序列,也就是让模型 "学会翻译"。

推理过程

推理过程与训练过程的差异

在推理过程的目的是通过源文本推理出目标文本,例如在中英文翻译在,源文本为 "I love you ",目标文本就是 我爱你。

那么推理过程与训练过程有什么相同之处和不同之处呢?

其实推理过程和训练过程大体是一样的,在训练过程我们在编码器部分输入源文本,在解码器部分输入源文本对应的目标文本,但是有两个地方的不同要关注到。

首先是在解码器的token预测的方式不同,在训练过程,从前文我们可以知道,经过一次编码器堆栈可以得到各个位置的目标token的概率,但是在Transformer推理时,必须经过多次解码器堆栈的前向传播,一次只能预测下一个token,也就是说,每次通过一整个解码器堆栈,只能生成一个token,token是串行推理生成的。
第二点是在解码器部分的输入训练和推理过程存在不同,在推理过程我们需要推理出目标文本,并不像训练过程一样存在一个目标文本的正确答案,所以在推理过程中解码器部分的输入是一个空文本,为了辨识开头,最终输入到解码器堆栈的实际上是一个只包含开始token,也就是只包含<s>的token序列。

如此沿用训练过程编码器和解码器**处理模式,**我们就可以推理得到每一个目标token,再转换为目标文本即可。

​

相关推荐
song5018 小时前
React Native for OpenHarmony 实战:三方库 react-native-css-transformer 的鸿蒙化适配指南
css·人工智能·深度学习·react native·transformer
布吉岛的石头19 小时前
Java 程序员第 49 阶段11:Java 接 BERT:用 ONNX Runtime 做句向量推理
java·人工智能·python·深度学习·bert·transformer
破壁者-燕2 天前
MLE 基础学习 Transformer
深度学习·学习·transformer
高洁012 天前
AI软件工程:大模型赋能软件研发全流程革新
人工智能·深度学习·机器学习·transformer·tornado
跟我学机器学习3 天前
Qwen3 Reranking原理与使用:重排模型在 RAG 中的作用
人工智能·深度学习·transformer
高洁013 天前
数字孪生驱动大模型工业知识库
人工智能·python·深度学习·机器学习·transformer
高洁014 天前
具身智能中的世界模型训练
人工智能·python·深度学习·机器学习·transformer
for_ever_love__4 天前
线性代数入门——向量、矩阵与点积,Transformer 的运算本质
线性代数·矩阵·transformer
OxYGC5 天前
玩转大模型 第一篇:认识大模型——它到底是什么、能干什么、开源和闭源差在哪
大模型·transformer·开源大模型·ai基础
ForDreamMusk6 天前
Transformer Encoder Block
人工智能·深度学习·transformer