一個完整的transformer模型主要包含三部分:Config、Tokenizer、Model。
用於設定模型的名稱、最終輸出的樣式、隱藏層寬度和深度、啟用函數的類別等。
範例:
{
"architectures": [
"BertForMaskedLM"
],
"attention_probs_dropout_prob": 0.1,
"gradient_checkpointing": false,
"hidden_act": "gelu",
"hidden_dropout_prob": 0.1,
"hidden_size": 768,
"initializer_range": 0.02,
"intermediate_size": 3072,
"layer_norm_eps": 1e-12,
"max_position_embeddings": 512,
"model_type": "bert",
"num_attention_heads": 12,
"num_hidden_layers": 12,
"pad_token_id": 0,
"position_embedding_type": "absolute",
"transformers_version": "4.6.0.dev0",
"type_vocab_size": 2,
"use_cache": true,
"vocab_size": 30522
}
將純文字轉換為編碼的過程(注意:該過程並不會生成詞向量)。由於模型(Model)並不能識別(或很好的識別)文字資料,因此對於輸入的文字需要做一層編碼。在這個過程中,首先會將輸入文字分詞而後新增某些特殊標記([MASK]標記、[SEP]、[CLS]標記),比如斷句等,最後就是轉換為數位型別的ID(也可以理解為是字典索引)。
範例:
pt_batch = tokenizer(
["We are very happy to show you the