聊聊HuggingFace Transformer

2023-10-19 19:55:24 浏览数 (1)

概述

参见:聊聊HuggingFace

项目组件

一个完整的transformer模型主要包含三部分:Config、Tokenizer、Model。

Config

用于配置模型的名称、最终输出的样式、隐藏层宽度和深度、激活函数的类别等。

示例:

代码语言:javascript复制
{
  "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
}

Tokenizer

将纯文本转换为编码的过程(注意:该过程并不会生成词向量)。由于模型(Model)并不能识别(或很好的识别)文本数据,因此对于输入的文本需要做一层编码。在这个过程中,首先会将输入文本分词而后添加某些特殊标记(MASK标记、SEP、CLS标记),比如断句等,最后就是转换为数字类型的ID(也可以理解为是字典索引)。

示例:

代码语言:javascript复制
pt_batch = tokenizer(
    ["We are very happy to show you the 


	

0 人点赞