diff --git a/docs/sitemap.xml b/docs/sitemap.xml index e1d8e169..7b46859e 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -1450,7 +1450,7 @@ https://nn.labml.ai/rl/ppo/gae.html - 2023-10-24T16:30:00+00:00 + 2024-06-24T16:30:00+00:00 1.00 diff --git a/docs/zh/index.html b/docs/zh/index.html index 09208a7d..322f4bf7 100644 --- a/docs/zh/index.html +++ b/docs/zh/index.html @@ -72,7 +72,7 @@

labml.ai 带注释的 PyTorch 版论文实现

这是一个用 PyTorch 实现各种神经网络和相关算法的集合。每个算法的代码实现都有详细的解释说明,且在网站上与代码逐行对应。我们相信,这些内容将帮助您更好地理解这些算法。

Screenshot

-

我们正在积极维护这个仓库并添加新的代码实现Twitter以获取更新。

+

我们正在积极维护这个仓库并添加新的代码实现。Twitter以获取更新。

翻译

英语(原版)

中文(翻译)

@@ -102,7 +102,7 @@

Transformers

  • Primer
  • 沙漏网络
  • Eleuther GPT-neox

    -
  • 在一块 48GB GPU 上生成
  • @@ -149,7 +148,7 @@

    FFN 模块

    -

    第一层按权重和偏差进行参数化

    +

    第一层由权重和偏差进行参数化

    @@ -161,7 +160,7 @@

    FFN 模块

    -

    第一层按权重和偏差进行参数化

    +

    第一层由权重和偏差进行参数化

    @@ -173,7 +172,7 @@

    FFN 模块

    -

    隐藏图层丢失

    +

    隐藏层 Dropout

    @@ -185,7 +184,7 @@

    FFN 模块

    -

    激活功能

    +

    激活函数

    @@ -197,7 +196,7 @@

    FFN 模块

    -

    是否有门

    +

    是否存在门控

    @@ -210,7 +209,7 @@

    FFN 模块

    -

    如果有门,则转换输入的线性层将乘以门,并通过权重和偏置进行参数化

    +

    如果存在门控,则通过线性层将输入值与门相乘,并由权重 和偏置进行参数化

    @@ -245,7 +244,7 @@

    FFN 模块

    -

    如果是封闭的,

    +

    如果进行门控,

    @@ -271,7 +270,7 @@

    FFN 模块

    -

    申请退学

    +

    使用 Dropout

    @@ -283,7 +282,7 @@

    FFN 模块

    -

    或者取决于它是否有门控

    +

    根据是否进行门控,返回或者

    diff --git a/docs/zh/transformers/index.html b/docs/zh/transformers/index.html index 43f34b9e..fb9536ab 100644 --- a/docs/zh/transformers/index.html +++ b/docs/zh/transformers/index.html @@ -3,24 +3,24 @@ - + - - + + - + - + - - + + - 变压器 + Transformers @@ -70,50 +70,50 @@ -

    变压器

    -

    本模块包含 PyTorch 实现和论文 Attention Is All You Need 中对原创变压器的解释,以及它的衍生品和增强功能。

    -
    diff --git a/docs/zh/transformers/label_smoothing_loss.html b/docs/zh/transformers/label_smoothing_loss.html index cbafc90c..3f2b49b0 100644 --- a/docs/zh/transformers/label_smoothing_loss.html +++ b/docs/zh/transformers/label_smoothing_loss.html @@ -3,12 +3,12 @@ - + - + @@ -18,7 +18,7 @@ - + 标签平滑损失 @@ -154,7 +154,7 @@

    标签平滑损失

    -

    显示系统预期的目标分布。

    +

    展示系统期望的目标分布。

    @@ -183,7 +183,7 @@

    标签平滑损失

    -

    打印(预测)

    +

    输出(预测)

    diff --git a/docs/zh/transformers/mha.html b/docs/zh/transformers/mha.html index 4fce0daf..71798236 100644 --- a/docs/zh/transformers/mha.html +++ b/docs/zh/transformers/mha.html @@ -3,24 +3,24 @@ - + - - + + - + - + - - + + - 多头注意 (MHA) + 多头注意力 (MHA) @@ -72,9 +72,7 @@

    多头注意力 (MHA)

    Open In Colab

    -

    这是 P yTorch 中论文 “注意力就是你所需要的” 多头注意力的教程/实现。该实现的灵感来自带注释的变形金刚

    -

    以下是使用带有 MHA 的基本转换器进行 NLP 自动回归的训练代码

    -

    这是一个训练简单变压器的实验实现

    +

    这是论文《 Attention is All You Need 》中多头注意力的PyTorch教程/实现。该实现的灵感来自《带注释的变形金刚》

    %n

    这是使用基础 Transformer 和 MHA 进行 NLP 自回归的训练代码

    %n

    这是一个训练简单transformer的代码实现

    @@ -93,8 +91,8 @@

    多头注意力 (MHA)

    #

    -

    为多头注意做好准备

    -

    该模块进行线性变换,并将向量拆分为给定数量的头部,以获得多头注意。这用于转换查询向量。

    +

    准备多头注意力

    +

    该部分执行线性变换,并将向量分割成给定数量的头以获得多头注意力。这用于查询向量。

    @@ -118,7 +116,7 @@

    为多头注意做好准备

    -

    线性变换的线性层

    +

    线性层用于线性变换/p>

    @@ -130,7 +128,7 @@

    为多头注意做好准备

    -

    头数

    +

    注意力头数

    @@ -142,7 +140,7 @@

    为多头注意做好准备

    -

    每个头部中以向量表示的维度数

    +

    每个头部中向量的维度数量

    @@ -165,9 +163,9 @@

    为多头注意做好准备

    -

    输入的形状[seq_len, batch_size, d_model] +

    输入的形状为[seq_len, batch_size, d_model][batch_size, d_model] -。我们将线性变换应用于最后一个维度,然后将其拆分为头部。

    +。我们对最后一维应用线性变换,并将其分为多个头。

    @@ -191,7 +189,7 @@

    为多头注意做好准备

    -

    将最后一个维度拆分成头部

    +

    将最后一个维度分成多个头部

    @@ -218,11 +216,11 @@

    为多头注意做好准备

    #

    -

    多头注意模块

    -

    这将计算给定key -和value -向量的缩放多头注意query -力。

    +

    多头注意力模块

    +

    这将计算给出的key +、value +和query +向量缩放后的多头注意力。

    -

    简单来说,它会找到与查询匹配的键,并获取这些键的值。

    -

    它使用查询和键的点积作为它们匹配程度的指标。在服用点产品之前,先按比例缩放

    -

    Softmax 是沿序列(或时间)的轴计算的。

    +M834 80h400000v40h-400000z">1。这样做是为了避免当较大时,大的点积值导致 Softmax 操作输出非常小的梯度。

    +

    Softmax 是沿序列(或时间)轴计算的。

    @@ -261,12 +259,12 @@

    多头注意模块

    #
    +中的特征数量。
    @@ -289,7 +287,7 @@

    多头注意模块

    -

    每头特征数

    +

    每个头部的特征数量

    @@ -301,7 +299,7 @@

    多头注意模块

    -

    头数

    +

    注意力头数

    @@ -313,10 +311,10 @@

    多头注意模块

    -

    这些变换了多头注意力的query +

    这些将对多头注意力的向量querykeyvalue -向量。

    +进行转换。

    @@ -330,7 +328,7 @@

    多头注意模块

    -

    Softmax 在时间维度上引起人们的注意key +

    在键( Key )的时间维度上进行注意力 Softmaxkey

    @@ -355,7 +353,7 @@

    多头注意模块

    -

    辍学

    +

    Dropout

    @@ -367,7 +365,7 @@

    多头注意模块

    -

    softmax 之前的缩放系数

    +

    Softmax 之前的缩放系数

    @@ -379,7 +377,7 @@

    多头注意模块

    -

    我们存储注意事项,以便在需要时将其用于日志记录或进行其他计算

    +

    存储注意力信息,以便在需要时用于记录或其他计算。

    @@ -391,8 +389,8 @@

    多头注意模块

    -

    计算查询和键之间的分数

    -

    对于其他变体,例如相对注意力,可以覆盖此方法。

    +

    计算 Qurey 和 Key 之间的分数

    +

    这种方法可以同样适用于其他变体,如相对注意力。

    @@ -417,8 +415,8 @@

    计算查询和键之间的分数

    #

    mask -有形状[seq_len_q, seq_len_k, batch_size] -,其中第一个维度是查询维度。如果查询维度等于它将被广播。

    +的形状为[seq_len_q, seq_len_k, batch_size] +,其中第一维是查询维度。如果查询维度等于,则会进行广播。

    @@ -443,7 +441,7 @@

    计算查询和键之间的分数

    -

    所有头部都使用相同的面具。

    +

    所有的头部使用相同的掩码。

    @@ -455,7 +453,7 @@

    计算查询和键之间的分数

    -

    生成的遮罩有形状[seq_len_q, seq_len_k, batch_size, heads] +

    生成的掩码形状为[seq_len_q, seq_len_k, batch_size, heads]

    @@ -471,15 +469,15 @@

    计算查询和键之间的分数

    query keyvalue -是存储查询向量集合的张量。它们有形状[seq_len, batch_size, d_model] +是存储查询向量集合的张量。它们的形状为[seq_len, batch_size, d_model]

    mask -有形状[seq_len, seq_len, batch_size] -并mask[i, j, b] -指示是否为批量查询b -,位置处的查询i -有权访问位置处的键值j -。

    +的形状为[seq_len, seq_len, batch_size] +,mask[i, j, b] +表示批次b +,在位置i +处查询是否有权访问位置j +处的键值对。

    @@ -497,8 +495,8 @@

    计算查询和键之间的分数

    querykey -并且value -有形状[seq_len, batch_size, d_model] +和value +的形状为[seq_len, batch_size, d_model]

    @@ -514,10 +512,10 @@

    计算查询和键之间的分数

    -

    准备query +

    为注意力计算准备向量querykeyvalue -进行注意力计算。然后这些就会有形状[seq_len, batch_size, heads, d_k] +它们的形状将变为[seq_len, batch_size, heads, d_k]

    @@ -532,8 +530,8 @@

    计算查询和键之间的分数

    -

    计算注意力分数。这给出了形状的张量[seq_len, seq_len, batch_size, heads] -。

    +

    计算注意力分数这将得到一个形状为[seq_len, seq_len, batch_size, heads] +的张量。

    @@ -545,7 +543,7 @@

    计算查询和键之间的分数

    -

    音阶分数

    -

    变压器编码器和解码器模型

    +

    Transformer 编码器和解码器模型

    Open In Colab

    @@ -92,7 +92,7 @@

    变压器编码器和解码器模型

    #

    -

    嵌入令牌并添加固定位置编码

    +

    嵌入 token 并添加固定位置编码

    @@ -133,7 +133,7 @@

    嵌入令牌并添加固定位置编码#

    -

    嵌入令牌并添加参数化的位置编码

    +

    嵌入 token 并添加参数化的位置编码

    @@ -175,7 +175,7 @@

    嵌入令牌并添加参数化的位置编码

    Transformer Layer

    -

    This can act as an encoder layer or a decoder layer. We use pre-norm.

    +

    这可以作为编码器层或解码器层。我们使用预正则化。

    @@ -188,15 +188,15 @@

    Transformer Layer

    #
    +是自注意力和 FFN 后的 Dropout 率
    @@ -272,7 +272,7 @@

    Transformer Layer

    -

    通过自我关注,即关键和价值来自自我

    +

    通过自注意力机制运行,即键和值来自于自身

    @@ -284,7 +284,7 @@

    Transformer Layer

    -

    添加自我关注的结果

    +

    添加自注意力结果

    @@ -296,7 +296,7 @@

    Transformer Layer

    -

    如果提供了来源,则从关注源获取结果。这是当你有一个关注编码器输出的解码器层

    时 +

    如果提供了源数据,则从注意力机制中获取结果。这是指当解码器层关注编码器输出时。

    @@ -320,7 +320,7 @@

    Transformer Layer

    -

    注意源。即键和值来自源

    +

    关注源数据,即键和值来自源数据

    @@ -332,7 +332,7 @@

    Transformer Layer

    -

    添加来源关注结果

    +

    添加源关注结果

    @@ -356,7 +356,7 @@

    Transformer Layer

    -

    如果已指定,则将输入保存到前馈图层

    +

    如果已指定,则将输入保存到前馈层

    @@ -369,7 +369,7 @@

    Transformer Layer

    -

    通过前馈网络

    +

    通过前馈网络传递

    @@ -396,7 +396,7 @@

    Transformer Layer

    #

    -

    变压器编码

    +

    Transformer 编码器

    @@ -420,7 +420,7 @@

    变压器编码

    -

    制作变压器层的副本

    +

    制作 Transformer 层的副本

    @@ -432,7 +432,7 @@

    变压器编码

    -

    最终归一化层

    +

    最终的归一化层

    @@ -455,7 +455,7 @@

    变压器编码

    -

    穿过每个变压器层

    +

    运行每个 Transformer 层

    @@ -481,7 +481,7 @@

    变压器编码

    #

    -

    变压器解码器

    +

    Transformer 解码器

    @@ -505,7 +505,7 @@

    变压器解码器

    -

    制作变压器层的副本

    +

    制作 Transformer 层的副本

    @@ -517,7 +517,7 @@

    变压器解码器

    -

    最终归一化层

    +

    最终的归一化层

    @@ -540,7 +540,7 @@

    变压器解码器

    -

    穿过每个变压器层

    +

    运行每个 Transformer 层

    @@ -566,9 +566,9 @@

    变压器解码器

    #

    -

    发电机

    -

    这可以预测令牌并给出其中的lof softmax。如果你正在使用,你不需要这个nn.CrossEntropyLoss -。

    +

    生成器

    +

    这会预测这些标记并给出它们的 softmax 的对数。如果你使用nn.CrossEntropyLoss +,则不需要这样做。

    @@ -606,7 +606,7 @@

    发电机

    #

    -

    组合式编码器-解码器

    +

    组合编码器-解码器

    @@ -635,7 +635,7 @@

    组合式编码器-解码器

    -

    从他们的代码来看,这很重要。使用 Glorot/fan_avg 初始化参数。

    +

    这是代码中很重要的部分。使用 Glorot/fan_avg 初始化参数。

    @@ -660,7 +660,7 @@

    组合式编码器-解码器

    -

    通过编码器运行源码

    +

    通过编码器运行源代码

    diff --git a/docs/zh/transformers/positional_encoding.html b/docs/zh/transformers/positional_encoding.html index 4d14d992..c36fdbb8 100644 --- a/docs/zh/transformers/positional_encoding.html +++ b/docs/zh/transformers/positional_encoding.html @@ -3,12 +3,12 @@ - + - + @@ -18,7 +18,7 @@ - + 固定位置编码 @@ -153,7 +153,7 @@

    固定位置编码

    -

    头寸指数

    +

    位置索引

    @@ -213,7 +213,7 @@

    固定位置编码

    -

    添加批量维度

    +

    增加批处理维度

    diff --git a/docs/zh/transformers/relative_mha.html b/docs/zh/transformers/relative_mha.html index 3c08c520..143d6371 100644 --- a/docs/zh/transformers/relative_mha.html +++ b/docs/zh/transformers/relative_mha.html @@ -3,13 +3,13 @@ - + - + @@ -19,7 +19,7 @@ - + 相对多头注意力 diff --git a/docs/zh/transformers/utils.html b/docs/zh/transformers/utils.html index f4cdcbf4..28082e4c 100644 --- a/docs/zh/transformers/utils.html +++ b/docs/zh/transformers/utils.html @@ -3,24 +3,24 @@ - + - - + + - + - + - - + + - 变压器公用事业 + Transformer 实用工具 @@ -70,7 +70,7 @@ -

    变压器公用事业

    +

    Transformer 实用工具

    @@ -82,7 +82,7 @@

    变压器公用事业

    -

    后续掩码,用于掩盖未来(后续)时间步中的数据

    +

    用于屏蔽未来(后续)时间步数据的后续掩码

    diff --git a/translate_cache/transformers/feed_forward.zh.json b/translate_cache/transformers/feed_forward.zh.json index 038915f0..719c685d 100644 --- a/translate_cache/transformers/feed_forward.zh.json +++ b/translate_cache/transformers/feed_forward.zh.json @@ -1,5 +1,5 @@ { - "

    Position-wise Feed-Forward Network (FFN)

    \n

    This is a PyTorch implementation of position-wise feedforward network used in transformer.

    \n

    FFN consists of two fully connected layers. Number of dimensions in the hidden layer _^_0_^_, is generally set to around four times that of the token embedding _^_1_^_. So it is sometime also called the expand-and-contract network.

    \n

    There is an activation at the hidden layer, which is usually set to ReLU (Rectified Linear Unit) activation, _^_2_^_

    \n

    That is, the FFN function is, _^_3_^_ where _^_4_^_, _^_5_^_, _^_6_^_ and _^_7_^_ are learnable parameters.

    \n

    Sometimes the GELU (Gaussian Error Linear Unit) activation is also used instead of ReLU. _^_8_^_ where _^_9_^_

    \n

    Gated Linear Units

    \n

    This is a generic implementation that supports different variants including Gated Linear Units (GLU). We have also implemented experiments on these:

    \n\n": "

    \u4f4d\u7f6e\u524d\u9988\u7f51\u7edc (FFN)

    \n

    \u8fd9\u662f Transformer \u4e2d\u4f7f\u7528\u7684\u4f4d\u7f6e\u524d\u9988\u7f51\u7edc\u7684 PyTorch \u5b9e\u73b0\u3002

    \n

    FFN \u7531\u4e24\u4e2a\u5168\u8fde\u63a5\u5c42\u7ec4\u6210\u3002\u9690\u85cf\u5c42\u4e2d\u7684\u7ef4\u5ea6\u6570_%5e_0_%5e_\u901a\u5e38\u8bbe\u7f6e\u4e3a\u6807\u8bb0\u5d4c\u5165\u7ef4\u5ea6_%5e_1_%5e_\u7684\u56db\u500d\u5de6\u53f3\u3002\u56e0\u6b64\uff0c\u5b83\u6709\u65f6\u4e5f\u88ab\u79f0\u4e3a\u6269\u5f20-\u538b\u7f29\u7f51\u7edc\u3002

    \n

    \u9690\u85cf\u5c42\u6709\u4e00\u4e2a\u6fc0\u6d3b\u51fd\u6570\uff0c\u901a\u5e38\u8bbe\u7f6e\u4e3a ReLU (Rectified Linear Unit) \u6fc0\u6d3b\u51fd\u6570\uff0c_%5e_2_%5e_

    \n

    \u5728\u6b64\u57fa\u7840\u4e0a\uff0c FFN \u51fd\u6570\u53ef\u4ee5\u5199\u4f5c\uff1a_%5e_3_%5e_\u5176\u4e2d_%5e_4_%5e__%5e_5_%5e_\u3001_%5e_6_%5e_\u548c_%5e_7_%5e_\u662f\u53ef\u5b66\u4e60\u7684\u53c2\u6570\u3002

    \n

    \u6709\u65f6\u8fd8\u4f1a\u4f7f\u7528 GELU (Gaussian Error Linear Unit) \u6fc0\u6d3b\u51fd\u6570\u6765\u4ee3\u66ff ReLU \u3002_%5e_8_%5e_\u5176\u4e2d_%5e_9_%5e_

    \n

    \u95e8\u63a7\u7ebf\u6027\u5355\u5143

    \n

    \u8fd9\u662f\u4e00\u4e2a\u901a\u7528\u5b9e\u73b0\uff0c\u652f\u6301\u5305\u62ec\u95e8\u63a7\u7ebf\u6027\u5355\u5143(GLU) \u5728\u5185\u7684\u4e0d\u540c\u53d8\u4f53\u3002\u6211\u4eec\u8fd8\u5bf9\u8fd9\u4e9b\u8fdb\u884c\u4e86\u5b9e\u9a8c\uff1a

    \n\n", + "

    Position-wise Feed-Forward Network (FFN)

    \n

    This is a PyTorch implementation of position-wise feedforward network used in transformer.

    \n

    FFN consists of two fully connected layers. Number of dimensions in the hidden layer _^_0_^_, is generally set to around four times that of the token embedding _^_1_^_. So it is sometime also called the expand-and-contract network.

    \n

    There is an activation at the hidden layer, which is usually set to ReLU (Rectified Linear Unit) activation, _^_2_^_

    \n

    That is, the FFN function is, _^_3_^_ where _^_4_^_, _^_5_^_, _^_6_^_ and _^_7_^_ are learnable parameters.

    \n

    Sometimes the GELU (Gaussian Error Linear Unit) activation is also used instead of ReLU. _^_8_^_ where _^_9_^_

    \n

    Gated Linear Units

    \n

    This is a generic implementation that supports different variants including Gated Linear Units (GLU). We have also implemented experiments on these:

    \n\n": "

    \u4f4d\u7f6e\u524d\u9988\u7f51\u7edc \uff08FFN\uff09

    \n

    \u8fd9\u662f Transformer \u4e2d\u4f7f\u7528\u7684\u4f4d\u7f6e\u524d\u9988\u7f51\u7edc\u7684 PyTorch \u5b9e\u73b0\u3002

    \n

    FFN \u7531\u4e24\u4e2a\u5168\u8fde\u63a5\u5c42\u7ec4\u6210\u3002\u9690\u85cf\u5c42\u4e2d\u7684\u7ef4\u5ea6\u6570_%5e_0_%5e_\u901a\u5e38\u8bbe\u7f6e\u4e3a\u6807\u8bb0\u5d4c\u5165\u7ef4\u5ea6_%5e_1_%5e_\u7684\u56db\u500d\u5de6\u53f3\u3002\u56e0\u6b64\uff0c\u5b83\u6709\u65f6\u4e5f\u88ab\u79f0\u4e3a\u6269\u5f20-\u538b\u7f29\u7f51\u7edc\u3002

    \n

    \u9690\u85cf\u5c42\u6709\u4e00\u4e2a\u6fc0\u6d3b\u51fd\u6570\uff0c\u901a\u5e38\u8bbe\u7f6e\u4e3a ReLU (Rectified Linear Unit) \u6fc0\u6d3b\u51fd\u6570\uff0c_%5e_2_%5e_

    \n

    \u5728\u6b64\u57fa\u7840\u4e0a\uff0c FFN \u51fd\u6570\u53ef\u4ee5\u5199\u4f5c\uff1a_%5e_3_%5e_\u5176\u4e2d_%5e_4_%5e__%5e_5_%5e_\u3001_%5e_6_%5e_\u548c_%5e_7_%5e_\u662f\u53ef\u5b66\u4e60\u7684\u53c2\u6570\u3002

    \n

    \u6709\u65f6\u8fd8\u4f1a\u4f7f\u7528 GELU (Gaussian Error Linear Unit) \u6fc0\u6d3b\u51fd\u6570\u6765\u4ee3\u66ff ReLU \u3002_%5e_8_%5e_\u5176\u4e2d_%5e_9_%5e_

    \n

    \u95e8\u63a7\u7ebf\u6027\u5355\u5143

    \n

    \u8fd9\u662f\u4e00\u4e2a\u901a\u7528\u5b9e\u73b0\uff0c\u652f\u6301\u5305\u62ec\u95e8\u63a7\u7ebf\u6027\u5355\u5143(GLU) \u5728\u5185\u7684\u4e0d\u540c\u53d8\u4f53\u3002\u6211\u4eec\u8fd8\u5bf9\u8fd9\u4e9b\u8fdb\u884c\u4e86\u5b9e\u9a8c\uff1a

    \n\n", "

    FFN module

    \n": "

    FFN \u6a21\u5757

    \n", "

    _^_0_^_

    \n": "

    _^_0_^_

    \n", "

    _^_0_^_ or _^_1_^_ depending on whether it is gated

    \n": "

    \u6839\u636e\u662f\u5426\u8fdb\u884c\u95e8\u63a7\uff0c\u8fd4\u56de_^_0_^_\u6216\u8005_^_1_^_

    \n",