
Original encoder-decoder transformer, resolved to exact params + 3 masks (hmencd)
Source:R/geron_w4a_native.R
morie_geron_encoder_decoder_transformer.RdBlock costs delegated to morie_geron_block_params; only the decoder
block carries the extra cross-attention sub-layer.
Usage
morie_geron_encoder_decoder_transformer(
src,
tgt,
n_layers = 6,
n_heads = 8,
d_model = 512,
vocab_size = 37000,
max_len = 512,
d_ff = 2048,
share_embeddings = TRUE
)Examples
V <- c(1, 2, 3, 4, 5, 6, 7, 8)
morie_geron_encoder_decoder_transformer(V, V)
#> $total_params
#> [1] 82327688
#>
#> $encoder_params
#> [1] 18914304
#>
#> $decoder_params
#> [1] 25224192
#>
#> $encoder_block_params
#> [1] 3152384
#>
#> $decoder_block_params
#> [1] 4204032
#>
#> $extra_per_decoder_block
#> [1] 1051648
#>
#> $embedding_params
#> [1] 19206144
#>
#> $output_head_params
#> [1] 18981000
#>
#> $src_mask
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
#> [1,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#> [2,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#> [3,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#> [4,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#> [5,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#> [6,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#> [7,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#> [8,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#>
#> $tgt_mask
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
#> [1,] FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
#> [2,] FALSE FALSE TRUE TRUE TRUE TRUE TRUE TRUE
#> [3,] FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE
#> [4,] FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE
#> [5,] FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE
#> [6,] FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE
#> [7,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE
#> [8,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#>
#> $cross_mask
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
#> [1,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#> [2,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#> [3,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#> [4,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#> [5,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#> [6,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#> [7,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#> [8,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#>
#> $src_len
#> [1] 8
#>
#> $tgt_len
#> [1] 8
#>
#> $d_head
#> [1] 64
#>
#> $n_layers
#> [1] 6
#>
#> $n_heads
#> [1] 8
#>
#> $d_model
#> [1] 512
#>
#> $d_ff
#> [1] 2048
#>
#> $share_embeddings
#> [1] TRUE
#>
#> $estimate
#> [1] 82327688
#>
#> $n
#> [1] 12
#>
#> $method
#> [1] "original encoder-decoder transformer resolved to exact parameter counts and its three masks"
#>