inspector / ir /artifacts /canine.json
lysandre's picture
lysandre HF Staff
Deploy architecture inspector
32d8c58 verified
Raw
History Blame Contribute Delete
30.4 kB
{
"architecture": {
"attention_variant": "MHA",
"family": "sequence_classification",
"is_moe": false,
"mixer": "attention",
"positional": "learned",
"view": "encoder"
},
"capabilities": {
"attention_backends": [
"eager"
],
"attention_patterns": [
"bidirectional"
],
"attention_schedule": null,
"task_heads": [
"multiple_choice",
"question_answering",
"sequence_classification",
"token_classification"
],
"tensor_parallel": false
},
"components": [
{
"children": [
"char_embeddings",
"initial_char_encoder",
"chars_to_molecules",
"encoder",
"projection",
"final_char_encoder",
"pooler"
],
"class_name": "CanineModel",
"id": "model",
"kind": "model",
"path_pattern": "model"
},
{
"attributes": {
"embedding_dim": "config.hidden_size"
},
"children": [
"char_embeddings.HashBucketCodepointEmbedder_0",
"char_embeddings.HashBucketCodepointEmbedder_1",
"char_embeddings.HashBucketCodepointEmbedder_2",
"char_embeddings.HashBucketCodepointEmbedder_3",
"char_embeddings.HashBucketCodepointEmbedder_4",
"char_embeddings.HashBucketCodepointEmbedder_5",
"char_embeddings.HashBucketCodepointEmbedder_6",
"char_embeddings.HashBucketCodepointEmbedder_7",
"char_embeddings.char_position_embeddings",
"char_embeddings.token_type_embeddings",
"char_embeddings.LayerNorm"
],
"class_name": "CanineEmbeddings",
"id": "char_embeddings",
"kind": "embedding",
"path_pattern": "model.char_embeddings"
},
{
"attributes": {
"embedding_dim": 96,
"num_embeddings": "config.max_position_embeddings"
},
"class_name": "Embedding",
"id": "char_embeddings.HashBucketCodepointEmbedder_0",
"kind": "embedding",
"path_pattern": "model.char_embeddings.HashBucketCodepointEmbedder_0"
},
{
"attributes": {
"embedding_dim": 96,
"num_embeddings": "config.max_position_embeddings"
},
"class_name": "Embedding",
"id": "char_embeddings.HashBucketCodepointEmbedder_1",
"kind": "embedding",
"path_pattern": "model.char_embeddings.HashBucketCodepointEmbedder_1"
},
{
"attributes": {
"embedding_dim": 96,
"num_embeddings": "config.max_position_embeddings"
},
"class_name": "Embedding",
"id": "char_embeddings.HashBucketCodepointEmbedder_2",
"kind": "embedding",
"path_pattern": "model.char_embeddings.HashBucketCodepointEmbedder_2"
},
{
"attributes": {
"embedding_dim": 96,
"num_embeddings": "config.max_position_embeddings"
},
"class_name": "Embedding",
"id": "char_embeddings.HashBucketCodepointEmbedder_3",
"kind": "embedding",
"path_pattern": "model.char_embeddings.HashBucketCodepointEmbedder_3"
},
{
"attributes": {
"embedding_dim": 96,
"num_embeddings": "config.max_position_embeddings"
},
"class_name": "Embedding",
"id": "char_embeddings.HashBucketCodepointEmbedder_4",
"kind": "embedding",
"path_pattern": "model.char_embeddings.HashBucketCodepointEmbedder_4"
},
{
"attributes": {
"embedding_dim": 96,
"num_embeddings": "config.max_position_embeddings"
},
"class_name": "Embedding",
"id": "char_embeddings.HashBucketCodepointEmbedder_5",
"kind": "embedding",
"path_pattern": "model.char_embeddings.HashBucketCodepointEmbedder_5"
},
{
"attributes": {
"embedding_dim": 96,
"num_embeddings": "config.max_position_embeddings"
},
"class_name": "Embedding",
"id": "char_embeddings.HashBucketCodepointEmbedder_6",
"kind": "embedding",
"path_pattern": "model.char_embeddings.HashBucketCodepointEmbedder_6"
},
{
"attributes": {
"embedding_dim": 96,
"num_embeddings": "config.max_position_embeddings"
},
"class_name": "Embedding",
"id": "char_embeddings.HashBucketCodepointEmbedder_7",
"kind": "embedding",
"path_pattern": "model.char_embeddings.HashBucketCodepointEmbedder_7"
},
{
"attributes": {
"max_position_embeddings": "config.max_position_embeddings",
"scheme": "learned"
},
"class_name": "Embedding",
"id": "char_embeddings.char_position_embeddings",
"kind": "position",
"path_pattern": "model.char_embeddings.char_position_embeddings"
},
{
"attributes": {
"embedding_dim": "config.hidden_size",
"num_embeddings": 16
},
"class_name": "Embedding",
"id": "char_embeddings.token_type_embeddings",
"kind": "embedding",
"path_pattern": "model.char_embeddings.token_type_embeddings"
},
{
"attributes": {
"norm_type": "layer"
},
"class_name": "LayerNorm",
"id": "char_embeddings.LayerNorm",
"kind": "normalization",
"path_pattern": "model.char_embeddings.LayerNorm"
},
{
"children": [
"initial_char_encoder.layer"
],
"class_name": "CanineEncoder",
"id": "initial_char_encoder",
"kind": "encoder",
"path_pattern": "model.initial_char_encoder"
},
{
"children": [
"initial_char_encoder.layer.0"
],
"class_name": "ModuleList",
"id": "initial_char_encoder.layer",
"kind": "repeated_container",
"path_pattern": "model.initial_char_encoder.layer"
},
{
"children": [
"initial_char_encoder.layer.0.attention",
"initial_char_encoder.layer.0.intermediate",
"initial_char_encoder.layer.0.output"
],
"class_name": "CanineLayer",
"id": "initial_char_encoder.layer.0",
"kind": "transformer_block",
"path_pattern": "model.initial_char_encoder.layer.0"
},
{
"attributes": {
"head_dim": 64,
"n_heads": 12,
"n_kv_heads": 12,
"pattern": "bidirectional",
"rope": false,
"variant": "MHA"
},
"children": [
"initial_char_encoder.layer.0.attention.self",
"initial_char_encoder.layer.0.attention.output"
],
"class_name": "CanineAttention",
"id": "initial_char_encoder.layer.0.attention",
"kind": "attention",
"path_pattern": "model.initial_char_encoder.layer.0.attention"
},
{
"attributes": {
"head_dim": 64,
"n_heads": 12,
"n_kv_heads": 12,
"pattern": "bidirectional",
"rope": false,
"variant": "MHA"
},
"children": [
"initial_char_encoder.layer.0.attention.self.query",
"initial_char_encoder.layer.0.attention.self.key",
"initial_char_encoder.layer.0.attention.self.value"
],
"class_name": "CanineSelfAttention",
"id": "initial_char_encoder.layer.0.attention.self",
"kind": "attention",
"path_pattern": "model.initial_char_encoder.layer.0.attention.self"
},
{
"attributes": {
"in_features": "config.hidden_size",
"out_features": "config.hidden_size"
},
"class_name": "Linear",
"id": "initial_char_encoder.layer.0.attention.self.query",
"kind": "projection",
"path_pattern": "model.initial_char_encoder.layer.0.attention.self.query"
},
{
"attributes": {
"in_features": "config.hidden_size",
"out_features": "config.hidden_size"
},
"class_name": "Linear",
"id": "initial_char_encoder.layer.0.attention.self.key",
"kind": "projection",
"path_pattern": "model.initial_char_encoder.layer.0.attention.self.key"
},
{
"attributes": {
"in_features": "config.hidden_size",
"out_features": "config.hidden_size"
},
"class_name": "Linear",
"id": "initial_char_encoder.layer.0.attention.self.value",
"kind": "projection",
"path_pattern": "model.initial_char_encoder.layer.0.attention.self.value"
},
{
"children": [
"initial_char_encoder.layer.0.attention.output.LayerNorm"
],
"class_name": "CanineSelfOutput",
"id": "initial_char_encoder.layer.0.attention.output",
"kind": "module",
"path_pattern": "model.initial_char_encoder.layer.0.attention.output"
},
{
"attributes": {
"norm_type": "layer"
},
"class_name": "LayerNorm",
"id": "initial_char_encoder.layer.0.attention.output.LayerNorm",
"kind": "normalization",
"path_pattern": "model.initial_char_encoder.layer.0.attention.output.LayerNorm"
},
{
"attributes": {
"activation": "gelu",
"hidden_size": 768,
"intermediate_size": 3072
},
"children": [
"initial_char_encoder.layer.0.intermediate.dense"
],
"class_name": "CanineIntermediate",
"id": "initial_char_encoder.layer.0.intermediate",
"kind": "feed_forward",
"path_pattern": "model.initial_char_encoder.layer.0.intermediate"
},
{
"attributes": {
"in_features": "config.hidden_size",
"out_features": "config.intermediate_size"
},
"class_name": "Linear",
"id": "initial_char_encoder.layer.0.intermediate.dense",
"kind": "projection",
"path_pattern": "model.initial_char_encoder.layer.0.intermediate.dense"
},
{
"attributes": {
"activation": "gelu",
"hidden_size": 768,
"intermediate_size": 3072
},
"children": [
"initial_char_encoder.layer.0.output.dense",
"initial_char_encoder.layer.0.output.LayerNorm"
],
"class_name": "CanineOutput",
"id": "initial_char_encoder.layer.0.output",
"kind": "feed_forward",
"path_pattern": "model.initial_char_encoder.layer.0.output"
},
{
"attributes": {
"in_features": "config.intermediate_size",
"out_features": "config.hidden_size"
},
"class_name": "Linear",
"id": "initial_char_encoder.layer.0.output.dense",
"kind": "projection",
"path_pattern": "model.initial_char_encoder.layer.0.output.dense"
},
{
"attributes": {
"norm_type": "layer"
},
"class_name": "LayerNorm",
"id": "initial_char_encoder.layer.0.output.LayerNorm",
"kind": "normalization",
"path_pattern": "model.initial_char_encoder.layer.0.output.LayerNorm"
},
{
"children": [
"chars_to_molecules.conv",
"chars_to_molecules.LayerNorm"
],
"class_name": "CharactersToMolecules",
"id": "chars_to_molecules",
"kind": "module",
"path_pattern": "model.chars_to_molecules"
},
{
"class_name": "Conv1d",
"id": "chars_to_molecules.conv",
"kind": "convolution",
"path_pattern": "model.chars_to_molecules.conv"
},
{
"attributes": {
"norm_type": "layer"
},
"class_name": "LayerNorm",
"id": "chars_to_molecules.LayerNorm",
"kind": "normalization",
"path_pattern": "model.chars_to_molecules.LayerNorm"
},
{
"children": [
"encoder_layers"
],
"class_name": "CanineEncoder",
"id": "encoder",
"kind": "encoder",
"path_pattern": "model.encoder"
},
{
"children": [
"projection.conv",
"projection.LayerNorm"
],
"class_name": "ConvProjection",
"id": "projection",
"kind": "module",
"path_pattern": "model.projection"
},
{
"class_name": "Conv1d",
"id": "projection.conv",
"kind": "convolution",
"path_pattern": "model.projection.conv"
},
{
"attributes": {
"norm_type": "layer"
},
"class_name": "LayerNorm",
"id": "projection.LayerNorm",
"kind": "normalization",
"path_pattern": "model.projection.LayerNorm"
},
{
"children": [
"final_char_encoder.layer"
],
"class_name": "CanineEncoder",
"id": "final_char_encoder",
"kind": "encoder",
"path_pattern": "model.final_char_encoder"
},
{
"children": [
"final_char_encoder.layer.0"
],
"class_name": "ModuleList",
"id": "final_char_encoder.layer",
"kind": "repeated_container",
"path_pattern": "model.final_char_encoder.layer"
},
{
"children": [
"final_char_encoder.layer.0.attention",
"final_char_encoder.layer.0.intermediate",
"final_char_encoder.layer.0.output"
],
"class_name": "CanineLayer",
"id": "final_char_encoder.layer.0",
"kind": "transformer_block",
"path_pattern": "model.final_char_encoder.layer.0"
},
{
"attributes": {
"head_dim": 64,
"n_heads": 12,
"n_kv_heads": 12,
"pattern": "bidirectional",
"rope": false,
"variant": "MHA"
},
"children": [
"final_char_encoder.layer.0.attention.self",
"final_char_encoder.layer.0.attention.output"
],
"class_name": "CanineAttention",
"id": "final_char_encoder.layer.0.attention",
"kind": "attention",
"path_pattern": "model.final_char_encoder.layer.0.attention"
},
{
"attributes": {
"head_dim": 64,
"n_heads": 12,
"n_kv_heads": 12,
"pattern": "bidirectional",
"rope": false,
"variant": "MHA"
},
"children": [
"final_char_encoder.layer.0.attention.self.query",
"final_char_encoder.layer.0.attention.self.key",
"final_char_encoder.layer.0.attention.self.value"
],
"class_name": "CanineSelfAttention",
"id": "final_char_encoder.layer.0.attention.self",
"kind": "attention",
"path_pattern": "model.final_char_encoder.layer.0.attention.self"
},
{
"attributes": {
"in_features": "config.hidden_size",
"out_features": "config.hidden_size"
},
"class_name": "Linear",
"id": "final_char_encoder.layer.0.attention.self.query",
"kind": "projection",
"path_pattern": "model.final_char_encoder.layer.0.attention.self.query"
},
{
"attributes": {
"in_features": "config.hidden_size",
"out_features": "config.hidden_size"
},
"class_name": "Linear",
"id": "final_char_encoder.layer.0.attention.self.key",
"kind": "projection",
"path_pattern": "model.final_char_encoder.layer.0.attention.self.key"
},
{
"attributes": {
"in_features": "config.hidden_size",
"out_features": "config.hidden_size"
},
"class_name": "Linear",
"id": "final_char_encoder.layer.0.attention.self.value",
"kind": "projection",
"path_pattern": "model.final_char_encoder.layer.0.attention.self.value"
},
{
"children": [
"final_char_encoder.layer.0.attention.output.LayerNorm"
],
"class_name": "CanineSelfOutput",
"id": "final_char_encoder.layer.0.attention.output",
"kind": "module",
"path_pattern": "model.final_char_encoder.layer.0.attention.output"
},
{
"attributes": {
"norm_type": "layer"
},
"class_name": "LayerNorm",
"id": "final_char_encoder.layer.0.attention.output.LayerNorm",
"kind": "normalization",
"path_pattern": "model.final_char_encoder.layer.0.attention.output.LayerNorm"
},
{
"attributes": {
"activation": "gelu",
"hidden_size": 768,
"intermediate_size": 3072
},
"children": [
"final_char_encoder.layer.0.intermediate.dense"
],
"class_name": "CanineIntermediate",
"id": "final_char_encoder.layer.0.intermediate",
"kind": "feed_forward",
"path_pattern": "model.final_char_encoder.layer.0.intermediate"
},
{
"attributes": {
"in_features": "config.hidden_size",
"out_features": "config.intermediate_size"
},
"class_name": "Linear",
"id": "final_char_encoder.layer.0.intermediate.dense",
"kind": "projection",
"path_pattern": "model.final_char_encoder.layer.0.intermediate.dense"
},
{
"attributes": {
"activation": "gelu",
"hidden_size": 768,
"intermediate_size": 3072
},
"children": [
"final_char_encoder.layer.0.output.dense",
"final_char_encoder.layer.0.output.LayerNorm"
],
"class_name": "CanineOutput",
"id": "final_char_encoder.layer.0.output",
"kind": "feed_forward",
"path_pattern": "model.final_char_encoder.layer.0.output"
},
{
"attributes": {
"in_features": "config.intermediate_size",
"out_features": "config.hidden_size"
},
"class_name": "Linear",
"id": "final_char_encoder.layer.0.output.dense",
"kind": "projection",
"path_pattern": "model.final_char_encoder.layer.0.output.dense"
},
{
"attributes": {
"norm_type": "layer"
},
"class_name": "LayerNorm",
"id": "final_char_encoder.layer.0.output.LayerNorm",
"kind": "normalization",
"path_pattern": "model.final_char_encoder.layer.0.output.LayerNorm"
},
{
"class_name": "CaninePooler",
"id": "pooler",
"kind": "pooler",
"path_pattern": "model.pooler"
}
],
"config": {
"class_name": "CanineConfig",
"model_type": "canine",
"module": "transformers.models.canine.configuration_canine",
"referenced_fields": {
"num_hidden_layers": 12
},
"salient_fields": {
"hidden_act": "gelu",
"hidden_size": 768,
"intermediate_size": 3072,
"is_encoder_decoder": false,
"max_position_embeddings": 16384,
"num_attention_heads": 12,
"num_hidden_layers": 12
}
},
"edges": [
{
"kind": "data",
"source": "char_embeddings",
"target": "initial_char_encoder"
},
{
"kind": "data",
"source": "final_char_encoder",
"target": "pooler"
},
{
"kind": "data",
"source": "char_embeddings.HashBucketCodepointEmbedder_0",
"target": "char_embeddings.HashBucketCodepointEmbedder_1"
},
{
"kind": "data",
"source": "char_embeddings.HashBucketCodepointEmbedder_1",
"target": "char_embeddings.HashBucketCodepointEmbedder_2"
},
{
"kind": "data",
"source": "char_embeddings.HashBucketCodepointEmbedder_2",
"target": "char_embeddings.HashBucketCodepointEmbedder_3"
},
{
"kind": "data",
"source": "char_embeddings.HashBucketCodepointEmbedder_3",
"target": "char_embeddings.HashBucketCodepointEmbedder_4"
},
{
"kind": "data",
"source": "char_embeddings.HashBucketCodepointEmbedder_4",
"target": "char_embeddings.HashBucketCodepointEmbedder_5"
},
{
"kind": "data",
"source": "char_embeddings.HashBucketCodepointEmbedder_5",
"target": "char_embeddings.HashBucketCodepointEmbedder_6"
},
{
"kind": "data",
"source": "char_embeddings.HashBucketCodepointEmbedder_6",
"target": "char_embeddings.HashBucketCodepointEmbedder_7"
},
{
"kind": "data",
"source": "char_embeddings.HashBucketCodepointEmbedder_7",
"target": "char_embeddings.token_type_embeddings"
},
{
"kind": "data",
"source": "char_embeddings.token_type_embeddings",
"target": "char_embeddings.LayerNorm"
},
{
"kind": "data",
"source": "initial_char_encoder.layer.0.attention",
"target": "initial_char_encoder.layer.0.intermediate"
},
{
"kind": "data",
"source": "initial_char_encoder.layer.0.intermediate",
"target": "initial_char_encoder.layer.0.output"
},
{
"kind": "data",
"source": "encoder_layer.attention",
"target": "encoder_layer.intermediate"
},
{
"kind": "data",
"source": "encoder_layer.intermediate",
"target": "encoder_layer.output"
},
{
"kind": "data",
"source": "final_char_encoder.layer.0.attention",
"target": "final_char_encoder.layer.0.intermediate"
},
{
"kind": "data",
"source": "final_char_encoder.layer.0.intermediate",
"target": "final_char_encoder.layer.0.output"
},
{
"kind": "mask",
"source": "input:attention_mask",
"target": "initial_char_encoder.layer.0.attention"
},
{
"kind": "mask",
"source": "input:attention_mask",
"target": "initial_char_encoder.layer.0.attention.self"
},
{
"kind": "mask",
"source": "input:attention_mask",
"target": "encoder_layer.attention"
},
{
"kind": "mask",
"source": "input:attention_mask",
"target": "encoder_layer.attention.self"
},
{
"kind": "mask",
"source": "input:attention_mask",
"target": "final_char_encoder.layer.0.attention"
},
{
"kind": "mask",
"source": "input:attention_mask",
"target": "final_char_encoder.layer.0.attention.self"
},
{
"kind": "residual",
"source": "initial_char_encoder.layer.0",
"target": "initial_char_encoder.layer.0.attention"
},
{
"kind": "residual",
"source": "initial_char_encoder.layer.0",
"target": "initial_char_encoder.layer.0.intermediate"
},
{
"kind": "residual",
"source": "encoder_layer",
"target": "encoder_layer.attention"
},
{
"kind": "residual",
"source": "encoder_layer",
"target": "encoder_layer.intermediate"
},
{
"kind": "residual",
"source": "final_char_encoder.layer.0",
"target": "final_char_encoder.layer.0.attention"
},
{
"kind": "residual",
"source": "final_char_encoder.layer.0",
"target": "final_char_encoder.layer.0.intermediate"
},
{
"kind": "position",
"source": "char_embeddings.char_position_embeddings",
"target": "char_embeddings"
},
{
"kind": "data",
"provenance": "intra_module",
"source": "initial_char_encoder.layer.0.attention.self",
"target": "initial_char_encoder.layer.0.attention.self.query"
},
{
"kind": "data",
"provenance": "intra_module",
"source": "initial_char_encoder.layer.0.attention.self",
"target": "initial_char_encoder.layer.0.attention.self.key"
},
{
"kind": "data",
"provenance": "intra_module",
"source": "initial_char_encoder.layer.0.attention.self",
"target": "initial_char_encoder.layer.0.attention.self.value"
},
{
"kind": "data",
"provenance": "intra_module",
"source": "initial_char_encoder.layer.0.intermediate",
"target": "initial_char_encoder.layer.0.intermediate.dense"
},
{
"kind": "data",
"provenance": "intra_module",
"source": "initial_char_encoder.layer.0.output",
"target": "initial_char_encoder.layer.0.output.dense"
},
{
"kind": "data",
"provenance": "intra_module",
"source": "final_char_encoder.layer.0.attention.self",
"target": "final_char_encoder.layer.0.attention.self.query"
},
{
"kind": "data",
"provenance": "intra_module",
"source": "final_char_encoder.layer.0.attention.self",
"target": "final_char_encoder.layer.0.attention.self.key"
},
{
"kind": "data",
"provenance": "intra_module",
"source": "final_char_encoder.layer.0.attention.self",
"target": "final_char_encoder.layer.0.attention.self.value"
},
{
"kind": "data",
"provenance": "intra_module",
"source": "final_char_encoder.layer.0.intermediate",
"target": "final_char_encoder.layer.0.intermediate.dense"
},
{
"kind": "data",
"provenance": "intra_module",
"source": "final_char_encoder.layer.0.output",
"target": "final_char_encoder.layer.0.output.dense"
},
{
"kind": "data",
"provenance": "intra_module",
"source": "encoder_layer.attention.self",
"target": "encoder_layer.attention.self.query"
},
{
"kind": "data",
"provenance": "intra_module",
"source": "encoder_layer.attention.self",
"target": "encoder_layer.attention.self.key"
},
{
"kind": "data",
"provenance": "intra_module",
"source": "encoder_layer.attention.self",
"target": "encoder_layer.attention.self.value"
},
{
"kind": "data",
"provenance": "intra_module",
"source": "encoder_layer.intermediate",
"target": "encoder_layer.intermediate.dense"
},
{
"kind": "data",
"provenance": "intra_module",
"source": "encoder_layer.output",
"target": "encoder_layer.output.dense"
}
],
"extends": null,
"model_type": "canine",
"provenance": {
"config_class": "CanineConfig",
"config_module": "transformers.models.canine.configuration_canine",
"model_class": "CanineModel",
"model_module": "transformers.models.canine.modeling_canine"
},
"repeats": [
{
"body": "encoder_layer",
"container_path_pattern": "model.encoder.layer",
"count": 12,
"count_expr": "config.num_hidden_layers",
"count_source": "config",
"id": "encoder_layers",
"index_symbol": "i",
"item_path_pattern": "model.encoder.layer.{i}",
"kind": "symbolic_repeat",
"provenance": {
"class_name": "CanineLayer",
"container_path_pattern": "model.encoder.layer",
"item_path_pattern": "model.encoder.layer.{i}",
"source": "module_tree_repeat_collapse"
},
"repeated_class_name": "CanineLayer"
}
],
"schema_version": "architecture-template-v0",
"templates": [
{
"children": [
"encoder_layer.attention",
"encoder_layer.intermediate",
"encoder_layer.output"
],
"class_name": "CanineLayer",
"id": "encoder_layer",
"kind": "transformer_block",
"path_pattern": "model.encoder.layer.{i}"
},
{
"attributes": {
"head_dim": 64,
"n_heads": 12,
"n_kv_heads": 12,
"pattern": "bidirectional",
"rope": false,
"variant": "MHA"
},
"children": [
"encoder_layer.attention.self",
"encoder_layer.attention.output"
],
"class_name": "CanineAttention",
"id": "encoder_layer.attention",
"kind": "attention",
"path_pattern": "model.encoder.layer.{i}.attention"
},
{
"attributes": {
"head_dim": 64,
"n_heads": 12,
"n_kv_heads": 12,
"pattern": "bidirectional",
"rope": false,
"variant": "MHA"
},
"children": [
"encoder_layer.attention.self.query",
"encoder_layer.attention.self.key",
"encoder_layer.attention.self.value"
],
"class_name": "CanineSelfAttention",
"id": "encoder_layer.attention.self",
"kind": "attention",
"path_pattern": "model.encoder.layer.{i}.attention.self"
},
{
"attributes": {
"in_features": "config.hidden_size",
"out_features": "config.hidden_size"
},
"class_name": "Linear",
"id": "encoder_layer.attention.self.query",
"kind": "projection",
"path_pattern": "model.encoder.layer.{i}.attention.self.query"
},
{
"attributes": {
"in_features": "config.hidden_size",
"out_features": "config.hidden_size"
},
"class_name": "Linear",
"id": "encoder_layer.attention.self.key",
"kind": "projection",
"path_pattern": "model.encoder.layer.{i}.attention.self.key"
},
{
"attributes": {
"in_features": "config.hidden_size",
"out_features": "config.hidden_size"
},
"class_name": "Linear",
"id": "encoder_layer.attention.self.value",
"kind": "projection",
"path_pattern": "model.encoder.layer.{i}.attention.self.value"
},
{
"children": [
"encoder_layer.attention.output.LayerNorm"
],
"class_name": "CanineSelfOutput",
"id": "encoder_layer.attention.output",
"kind": "module",
"path_pattern": "model.encoder.layer.{i}.attention.output"
},
{
"attributes": {
"norm_type": "layer"
},
"class_name": "LayerNorm",
"id": "encoder_layer.attention.output.LayerNorm",
"kind": "normalization",
"path_pattern": "model.encoder.layer.{i}.attention.output.LayerNorm"
},
{
"attributes": {
"activation": "gelu",
"hidden_size": 768,
"intermediate_size": 3072
},
"children": [
"encoder_layer.intermediate.dense"
],
"class_name": "CanineIntermediate",
"id": "encoder_layer.intermediate",
"kind": "feed_forward",
"path_pattern": "model.encoder.layer.{i}.intermediate"
},
{
"attributes": {
"in_features": "config.hidden_size",
"out_features": "config.intermediate_size"
},
"class_name": "Linear",
"id": "encoder_layer.intermediate.dense",
"kind": "projection",
"path_pattern": "model.encoder.layer.{i}.intermediate.dense"
},
{
"attributes": {
"activation": "gelu",
"hidden_size": 768,
"intermediate_size": 3072
},
"children": [
"encoder_layer.output.dense",
"encoder_layer.output.LayerNorm"
],
"class_name": "CanineOutput",
"id": "encoder_layer.output",
"kind": "feed_forward",
"path_pattern": "model.encoder.layer.{i}.output"
},
{
"attributes": {
"in_features": "config.intermediate_size",
"out_features": "config.hidden_size"
},
"class_name": "Linear",
"id": "encoder_layer.output.dense",
"kind": "projection",
"path_pattern": "model.encoder.layer.{i}.output.dense"
},
{
"attributes": {
"norm_type": "layer"
},
"class_name": "LayerNorm",
"id": "encoder_layer.output.LayerNorm",
"kind": "normalization",
"path_pattern": "model.encoder.layer.{i}.output.LayerNorm"
}
]
}