{ "
This predicts the tokens and gives the lof softmax of those. You don't need this if you are using _^_0_^_.
\n": "\n\u0db8\u0dd9\u0dba\u0da7\u0ddd\u0d9a\u0db1 \u0db4\u0dd4\u0dbb\u0ddd\u0d9a\u0dae\u0db1\u0dba \u0d9a\u0dbb\u0db1 \u0d85\u0dad\u0dbb \u0d91\u0db8 \u0d85\u0dba\u0d9c\u0dda \u0dc3\u0ddc\u0dc6\u0dca\u0da7\u0dca\u0db8\u0dd0\u0d9a\u0dca\u0dc3\u0dca \u0dbd\u0db6\u0dcf \u0daf\u0dd9\u0dba\u0dd2. \u0d94\u0db6 \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dda \u0db1\u0db8\u0dca \u0d94\u0db6\u0da7 \u0db8\u0dd9\u0dba \u0d85\u0dc0\u0dc1\u0dca\u0dba \u0db1\u0ddc\u0dc0\u0dda _^_0_^_.
\n", "\nThis can act as an encoder layer or a decoder layer.
\n\ud83d\uddd2 Some implementations, including the paper seem to have differences in where the layer-normalization is done. Here we do a layer normalization before attention and feed-forward networks, and add the original residual vectors. Alternative is to do a layer normalization after adding the residuals. But we found this to be less stable when training. We found a detailed discussion about this in the paper On Layer Normalization in the Transformer Architecture.
\n": "\n\u0db8\u0dd9\u0dba\u0d91\u0db1\u0dca\u0d9a\u0ddd\u0da9\u0dbb\u0dca \u0dad\u0da7\u0dca\u0da7\u0dd4\u0dc0\u0d9a\u0dca \u0dc4\u0ddd \u0dc0\u0dd2\u0d9a\u0dda\u0dad\u0d9a \u0dad\u0da7\u0dca\u0da7\u0dd4\u0dc0\u0d9a\u0dca \u0dbd\u0dd9\u0dc3 \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf \u0d9a\u0dc5 \u0dc4\u0dd0\u0d9a\u0dd2\u0dba.
\n\ud83d\uddd2\u0d9a\u0da9\u0daf\u0dcf\u0dc3\u0dd2 \u0d87\u0dad\u0dd4\u0dc5\u0dd4 \u0dc3\u0db8\u0dc4\u0dbb \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dca, \u0dc3\u0dca\u0dae\u0dbb-\u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0d9a\u0dbb\u0dab\u0dba \u0dc3\u0dd2\u0daf\u0dd4 \u0d9a\u0dbb\u0db1 \u0dc3\u0dca\u0dae\u0dcf\u0db1\u0dba\u0dda \u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca \u0d87\u0dad\u0dd2 \u0db6\u0dc0 \u0db4\u0dd9\u0db1\u0dda. \u0db8\u0dd9\u0db1\u0dca\u0db1 \u0d85\u0db4\u0dd2 \u0d85\u0dc0\u0db0\u0dcf\u0db1\u0dba \u0dc3\u0dc4 \u0db4\u0ddd\u0dc2\u0d9a \u0d89\u0daf\u0dd2\u0dbb\u0dd2\u0dba\u0da7 \u0da2\u0dcf\u0dbd \u0db4\u0dd9\u0dbb \u0dc3\u0dca\u0dae\u0dbb\u0dba\u0d9a\u0dca \u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0d9a\u0dbb\u0dab\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1, \u0dc3\u0dc4 \u0db8\u0dd4\u0dbd\u0dca \u0d85\u0dc0\u0dc1\u0dda\u0dc2 \u0daf\u0ddb\u0dc1\u0dd2\u0d9a \u0d91\u0d9a\u0dad\u0dd4 \u0d9a\u0dbb\u0db1\u0dca\u0db1. \u0dc0\u0dd2\u0d9a\u0dbd\u0dca\u0db4\u0dba\u0d9a\u0dca \u0dc0\u0db1\u0dca\u0db1\u0dda \u0d85\u0db4\u0daf\u0dca\u0dbb\u0dc0\u0dca\u0dba \u0d91\u0d9a\u0dad\u0dd4 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dd9\u0db1\u0dca \u0db4\u0dc3\u0dd4 \u0dc3\u0dca\u0dae\u0dbb \u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0d9a\u0dbb\u0dab\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dba\u0dd2. \u0db1\u0db8\u0dd4\u0dad\u0dca \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4\u0dc0\u0dd3\u0db8\u0dda\u0daf\u0dd3 \u0db8\u0dd9\u0dba \u0d85\u0da9\u0dd4 \u0dc3\u0dca\u0dae\u0dcf\u0dc0\u0dbb \u0db6\u0dc0 \u0d85\u0db4\u0da7 \u0db4\u0dd9\u0db1\u0dd3 \u0d9c\u0dd2\u0dba\u0dda\u0dba. \u0da7\u0dca\u0dbb\u0dcf\u0db1\u0dca\u0dc3\u0dca\u0dc6\u0ddd\u0db8\u0dbb\u0dca \u0d9c\u0dd8\u0dc4 \u0db1\u0dd2\u0dbb\u0dca\u0db8\u0dcf\u0dab \u0dc1\u0dd2\u0dbd\u0dca\u0db4\u0dba\u0dda ON Layer \u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0d9a\u0dbb\u0dab\u0dba \u0db4\u0dd2\u0dc5\u0dd2\u0db6\u0db3\u0db4\u0dad\u0dca\u0dbb\u0dd2\u0d9a\u0dcf\u0dc0\u0dda \u0db8\u0dda \u0db4\u0dd2\u0dc5\u0dd2\u0db6\u0db3\u0dc0 \u0dc3\u0dc0\u0dd2\u0dc3\u0dca\u0dad\u0dbb\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0dc3\u0dcf\u0d9a\u0da0\u0dca\u0da1\u0dcf\u0dc0\u0d9a\u0dca \u0d85\u0db4\u0da7 \u0dc4\u0db8\u0dd4 \u0dc0\u0dd2\u0dba.
\n", "Add the feed-forward results back
\n": "\u0db4\u0dca\u0dbb\u0dad\u0dd2\u0db4\u0ddd\u0dc2\u0dab\u0d89\u0daf\u0dd2\u0dbb\u0dd2 \u0db4\u0dca\u0dbb\u0dad\u0dd2 results \u0dbd \u0db1\u0dd0\u0dc0\u0dad \u0d91\u0d9a\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1
\n", "Add the self attention results
\n": "\u0dc3\u0dca\u0dc0\u0dba\u0d82\u0d85\u0dc0\u0db0\u0dcf\u0db1\u0dba \u0db4\u0dca\u0dbb\u0dad\u0dd2\u0db5\u0dbd \u0d91\u0d9a\u0dad\u0dd4
\n", "Add the source attention results
\n": "\u0db8\u0dd6\u0dbd\u0dcf\u0dc1\u0dca\u0dbb\u0d85\u0dc0\u0db0\u0dcf\u0db1\u0dba \u0dba\u0ddc\u0db8\u0dd4 \u0db4\u0dca\u0dbb\u0dad\u0dd2\u0db5\u0dbd \u0d91\u0d9a\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1
\n", "Attention to source. i.e. keys and values are from source
\n": "\u0db4\u0dca\u0dbb\u0db7\u0dc0\u0dba\u0da7\u0d85\u0dc0\u0db0\u0dcf\u0db1\u0dba \u0dba\u0ddc\u0db8\u0dd4 \u0d9a\u0dbb\u0db1\u0dca\u0db1. \u0d91\u0db1\u0db8\u0dca \u0dba\u0dad\u0dd4\u0dbb\u0dd4 \u0dc3\u0dc4 \u0d85\u0d9c\u0dba\u0db1\u0dca \u0db4\u0dca\u0dbb\u0db7\u0dc0\u0dba\u0dd9\u0db1\u0dca \u0dc0\u0dda
\n", "Final normalization layer
\n": "\u0d85\u0dc0\u0dc3\u0dcf\u0db1\u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0d9a\u0dbb\u0dab \u0dc3\u0dca\u0dad\u0dbb\u0dba
\n", "Finally, normalize the vectors
\n": "\u0d85\u0dc0\u0dc3\u0dcf\u0db1\u0dc0\u0dc1\u0dba\u0dd9\u0db1\u0dca, \u0daf\u0ddb\u0dc1\u0dd2\u0d9a \u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0d9a\u0dbb\u0dab\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1
\n", "If a source is provided, get results from attention to source. This is when you have a decoder layer that pays attention to encoder outputs
\n": "\u0db4\u0dca\u0dbb\u0db7\u0dc0\u0dba\u0d9a\u0dca\u0dbd\u0db6\u0dcf \u0daf\u0dd9\u0db1\u0dca\u0db1\u0dda \u0db1\u0db8\u0dca, \u0db4\u0dca\u0dbb\u0db7\u0dc0\u0dba\u0da7 \u0d85\u0dc0\u0db0\u0dcf\u0db1\u0dba \u0dba\u0ddc\u0db8\u0dd4 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dd9\u0db1\u0dca \u0db4\u0dca\u0dbb\u0dad\u0dd2 results \u0dbd \u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1. \u0d91\u0db1\u0dca\u0d9a\u0ddd\u0da9\u0dbb\u0dca \u0db4\u0dca\u0dbb\u0dad\u0dd2\u0daf\u0dcf\u0db1\u0dba\u0db1\u0dca \u0d9a\u0dd9\u0dbb\u0dd9\u0dc4\u0dd2 \u0d85\u0dc0\u0db0\u0dcf\u0db1\u0dba \u0dba\u0ddc\u0db8\u0dd4 \u0d9a\u0dbb\u0db1 \u0dc0\u0dd2\u0d9a\u0dda\u0dad\u0d9a \u0dad\u0da7\u0dca\u0da7\u0dd4\u0dc0\u0d9a\u0dca \u0d94\u0db6\u0da7 \u0d87\u0dad\u0dd2 \u0dc0\u0dd2\u0da7 \u0db8\u0dd9\u0dba
\u0dc0\u0dda\n", "Make copies of the transformer layer
\n": "\u0da7\u0dca\u0dbb\u0dcf\u0db1\u0dca\u0dc3\u0dca\u0dc6\u0ddd\u0db8\u0dbb\u0dca\u0dc3\u0dca\u0dae\u0dbb\u0dba\u0dda \u0db4\u0dd2\u0da7\u0db4\u0dad\u0dca \u0dc3\u0dcf\u0daf\u0db1\u0dca\u0db1
\n", "Normalize for feed-forward
\n": "\u0db4\u0ddd\u0dc2\u0dab\u0dba\u0dc3\u0db3\u0dc4\u0dcf \u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0d9a\u0dbb\u0dab\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1
\n", "Normalize the vectors before doing self attention
\n": "\u0dc3\u0dca\u0dc0\u0dba\u0d82\u0d85\u0dc0\u0db0\u0dcf\u0db1\u0dba \u0dba\u0ddc\u0db8\u0dd4 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0da7 \u0db4\u0dd9\u0dbb \u0daf\u0ddb\u0dc1\u0dd2\u0d9a \u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0d9a\u0dbb\u0dab\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1
\n", "Normalize vectors
\n": "\u0daf\u0ddb\u0dc1\u0dd2\u0d9a\u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0d9a\u0dbb\u0dab\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1
\n", "Pass through the feed-forward network
\n": "Feed-forward\u0da2\u0dcf\u0dbd\u0dba \u0dc4\u0dbb\u0dc4\u0dcf \u0d9c\u0db8\u0db1\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1
\n", "Run encodings and targets through decoder
\n": "\u0dc0\u0dd2\u0d9a\u0dda\u0dad\u0d9a\u0dba\u0dc4\u0dbb\u0dc4\u0dcf \u0d9a\u0dda\u0dad\u0dd3\u0d9a\u0dbb\u0dab \u0dc3\u0dc4 \u0d89\u0dbd\u0d9a\u0dca\u0d9a \u0db0\u0dcf\u0dc0\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1
\n", "Run the source through encoder
\n": "\u0d91\u0db1\u0dca\u0d9a\u0ddd\u0da9\u0dbb\u0dba\u0dc4\u0dbb\u0dc4\u0dcf \u0db4\u0dca\u0dbb\u0db7\u0dc0\u0dba \u0db0\u0dcf\u0dc0\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1
\n", "Run through each transformer layer
\n": "\u0d91\u0d9a\u0dca\u0d91\u0d9a\u0dca \u0da7\u0dca\u0dbb\u0dcf\u0db1\u0dca\u0dc3\u0dca\u0dc6\u0ddd\u0db8\u0dbb\u0dca \u0dc3\u0dca\u0dae\u0dbb\u0dba \u0dc4\u0dbb\u0dc4\u0dcf \u0db0\u0dcf\u0dc0\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1
\n", "Run through self attention, i.e. keys and values are from self
\n": "\u0dc3\u0dca\u0dc0\u0dba\u0d82\u0d85\u0dc0\u0db0\u0dcf\u0db1\u0dba \u0dc4\u0dbb\u0dc4\u0dcf \u0db0\u0dcf\u0dc0\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1, i.e. \u0dba\u0dad\u0dd4\u0dbb\u0dd4 \u0dc3\u0dc4 \u0dc0\u0da7\u0dd2\u0db1\u0dcf\u0d9a\u0db8\u0dca \u0dc3\u0dca\u0dc0\u0dba\u0d82 \u0dc3\u0dd2\u0da7
\n", "Save the input to the feed forward layer if specified
\n": "\u0db1\u0dd2\u0dc1\u0dca\u0da0\u0dd2\u0dad\u0dc0\u0daf\u0d9a\u0dca\u0dc0\u0dcf \u0d87\u0dad\u0dca\u0db1\u0db8\u0dca \u0d86\u0daf\u0dcf\u0db1\u0dba \u0d86\u0dc4\u0dcf\u0dbb \u0d89\u0daf\u0dd2\u0dbb\u0dd2 \u0dc3\u0dca\u0dae\u0dbb\u0dba\u0da7 \u0dc3\u0dd4\u0dbb\u0d9a\u0dd2\u0db1\u0dca\u0db1
\n", "This was important from their code. Initialize parameters with Glorot / fan_avg.
\n": "\u0db8\u0dd9\u0dba\u0d94\u0dc0\u0dd4\u0db1\u0dca\u0d9c\u0dda \u0d9a\u0dda\u0dad\u0dba\u0dd9\u0db1\u0dca \u0dc0\u0dd0\u0daf\u0d9c\u0dad\u0dca \u0dc0\u0dd2\u0dba. \u0d9c\u0dca\u0dbd\u0ddd\u0dbb\u0ddd\u0da7\u0dca/fan_avg \u0dc3\u0db8\u0d9f \u0db4\u0dbb\u0dcf\u0db8\u0dd2\u0dad\u0dd3\u0db1\u0dca \u0d86\u0dbb\u0db8\u0dca\u0db7 \u0d9a\u0dbb\u0db1\u0dca\u0db1.
\n", "Whether to save input to the feed forward layer
\n": "\u0d86\u0dc4\u0dcf\u0dbb\u0d89\u0daf\u0dd2\u0dbb\u0dd2 \u0dc3\u0dca\u0dae\u0dbb\u0dba\u0da7 \u0d86\u0daf\u0dcf\u0db1\u0dba \u0d89\u0dad\u0dd2\u0dbb\u0dd2 \u0d9a\u0dbb \u0d9c\u0dad \u0dba\u0dd4\u0dad\u0dd4\u0daf \u0dba\u0db1\u0dca\u0db1
\n", "