huggingface.transformers哲学

诸神缄默不语-个人CSDN博文目录

本文属于huggingface.transformers全部文档学习笔记博文的一部分。
全文链接:huggingface transformers包 文档学习笔记(持续更新ing…)

本部分网址:https://huggingface.co/docs/transformers/master/en/philosophy
本部分介绍transformers包的开发哲学。
由于我学艺不精,对本部分一些介绍并不理解其涵义,因此在此处只能仅作翻译,对其诠释不足。等以后学会了再来写。

  1. transformers对每个预训练模型,只需使用3个标准类:confirguation, models 和 tokenizer
  2. 3个类都可以用通用的from_pretrained()函数来用预训练模型进行初始化,该函数会自动下载(如果需要)、缓存、加载相关类实例和数据(如configuration的超参、tokenizer的vocabulary、模型权重等)。这个预训练模型(checkpoint)可以用来自Hugging Face Hub的,也可以是用户自定义的。
  3. 在上述3个类的基础上,transformers包还提供了2个API:pipeline(),在特定任务上迅速使用特定模型;Trainer /Keras.fit 来迅速训练或微调一个给定模型。
  4. 本包不是构建神经网络的模块化工具箱。如果要在本包基础上做开发,需要用其他Python/PyTorch/TensorFlow/Keras模块,继承本包的3个基础类,以复用模型加载、储存等功能。
  5. transformers包为每个预训练模型架构提供至少一个可复现原文结果的示例。
  6. transformers包也提供了模型内部信息,可获取全部hidden-states、attention weights等信息。
  7. 在微调时可以简单、快速地往vocabulary和embeddings里加新tokens。
  8. 很容易mask and prune transformer heads。
  9. 3个基本类
    1. Model classes:如BertModel,本包提供30多个预训练模型架构的模型类,为PyTorch models (torch.nn.Module) or Keras models (tf.keras.Model)实例。
    2. Configuration classes:如BertConfiguration,如果不经任何调整直接使用某一预训练模型,创造model时就会自动实例化configuration。
    3. Tokenizer classes:如BertTokenizer,储存每个模型的vocabulary,提供编码/解码字符串的方法,在字符串与传入模型的token embeddings indices之间进行转换。
  10. 三个基本类通用,从预训练实例初始化参数和将参数储存在本地的函数:
    1. from_pretrained()
    2. save_pretrained()

你可能感兴趣的:(人工智能学习笔记,transformers,NLP,人工智能,BERT,预训练模型)