From e886870ce90dd1c3d3629eb646b9152ff92387c5 Mon Sep 17 00:00:00 2001 From: "ben.guo" <909336740@qq.com> Date: Thu, 9 May 2024 22:32:09 +0800 Subject: [PATCH] =?UTF-8?q?Create=20=E8=AE=AD=E7=BB=83=E5=92=8C=E6=8E=A8?= =?UTF-8?q?=E7=90=86=E7=9A=84=E5=8C=BA=E5=88=AB=EF=BC=88=E9=80=89=E4=BF=AE?= =?UTF-8?q?=EF=BC=89.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../训练和推理的区别(选修).md | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 人人都能看懂的Transformer/训练和推理的区别(选修).md diff --git a/人人都能看懂的Transformer/训练和推理的区别(选修).md b/人人都能看懂的Transformer/训练和推理的区别(选修).md new file mode 100644 index 0000000..311e471 --- /dev/null +++ b/人人都能看懂的Transformer/训练和推理的区别(选修).md @@ -0,0 +1,36 @@ +# 训练和推理的区别(选修) + +image-20240509221555371 + +### 前言 + +在主修章节里,我们几乎都是围绕着训练去讲的,因为懂了训练几乎等同于懂了预测。接下来我们再补充一点推理和训练不同的内容。 + + + +### 相同 + +#### 架构一样 + +​ 不管是训练还是推理阶段,两者的架构都是一样的。 + +#### 模块一样 + +​ 不管是训练阶段还是推理阶段,两者都是先进行向量化——>添加位置编码——>进入多头注意力模块——>Add&Norm——>前馈神经网络——>Add&Norm——>多个层块组合——>Linear——>Softmax + + + +### 不同 + +#### 损失函数 + +- 训练阶段:会有损失函数,且每个层都会多次循环,以进行更新各种W等参数 +- 推理阶段:不会运行损失函数,每个层都是固定的,且里面的W等参数不会改成,即训练完成后都不会有变化了。 + + + +### 为什么不用encoder + +个人认为最主要且唯一需要不用encoder只用decoder的原因,就是 **单向性** 。 + +**单向性:** Transformer模型中的encoder-decoder结构是为了处理翻译等任务,其中输入和输出之间存在双向交互。然而,GPT模型的任务通常是单向的,即根据已给的上下文生成下一个词,因此只需单向的decoder结构。 \ No newline at end of file