huggingface.transformers哲学

简介: 本部分介绍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。


  1. 3个基本类
  • Model classes:如BertModel,本包提供30多个预训练模型架构的模型类,为PyTorch models (torch.nn.Module) or Keras models (tf.keras.Model)实例。
  • Configuration classes:如BertConfiguration,如果不经任何调整直接使用某一预训练模型,创造model时就会自动实例化configuration。
  • Tokenizer classes:如BertTokenizer,储存每个模型的vocabulary,提供编码/解码字符串的方法,在字符串与传入模型的token embeddings indices之间进行转换。


  1. 三个基本类通用,从预训练实例初始化参数和将参数储存在本地的函数:
  • from_pretrained()
  • save_pretrained()


相关文章
|
11月前
|
机器学习/深度学习 缓存 自然语言处理
义无反顾马督工,Bert-vits2V210复刻马督工实践(Python3.10)
Bert-vits2更新了版本V210,修正了日/英的bert对齐问题,效果进一步优化;对底模使用的数据进行优化和加量,减少finetune失败以及电音的可能性;日语bert更换了模型,完善了多语言推理。
义无反顾马督工,Bert-vits2V210复刻马督工实践(Python3.10)
|
18天前
|
数据采集 监控 异构计算
transformers+huggingface训练模型
本教程介绍了如何使用 Hugging Face 的 `transformers` 库训练一个 BERT 模型进行情感分析。主要内容包括:导入必要库、下载 Yelp 评论数据集、数据预处理、模型加载与配置、定义训练参数、评估指标、实例化训练器并开始训练,最后保存模型和训练状态。整个过程详细展示了如何利用预训练模型进行微调,以适应特定任务。
34 2
|
21天前
|
机器学习/深度学习 自然语言处理 PyTorch
Transformers入门指南:从零开始理解Transformer模型
【10月更文挑战第29天】作为一名机器学习爱好者,我深知在自然语言处理(NLP)领域,Transformer模型的重要性。自从2017年Google的研究团队提出Transformer以来,它迅速成为NLP领域的主流模型,广泛应用于机器翻译、文本生成、情感分析等多个任务。本文旨在为初学者提供一个全面的Transformers入门指南,介绍Transformer模型的基本概念、结构组成及其相对于传统RNN和CNN模型的优势。
50 1
|
21天前
|
数据采集 自然语言处理 PyTorch
动手实践:使用Hugging Face Transformers库构建文本分类模型
【10月更文挑战第29天】作为一名自然语言处理(NLP)爱好者,我一直对如何利用最先进的技术解决实际问题充满兴趣。Hugging Face 的 Transformers 库无疑是目前最流行的 NLP 工具之一,它提供了大量的预训练模型和便捷的接口,使得构建和训练文本分类模型变得更加简单高效。本文将通过具体的实例教程,指导读者如何使用 Hugging Face 的 Transformers 库快速构建和训练一个文本分类模型,包括环境搭建、数据预处理、模型选择与训练等步骤。
54 0
|
3月前
|
机器学习/深度学习 自然语言处理 PyTorch
PyTorch与Hugging Face Transformers:快速构建先进的NLP模型
【8月更文第27天】随着自然语言处理(NLP)技术的快速发展,深度学习模型已经成为了构建高质量NLP应用程序的关键。PyTorch 作为一种强大的深度学习框架,提供了灵活的 API 和高效的性能,非常适合于构建复杂的 NLP 模型。Hugging Face Transformers 库则是目前最流行的预训练模型库之一,它为 PyTorch 提供了大量的预训练模型和工具,极大地简化了模型训练和部署的过程。
190 2
|
3月前
|
人工智能 自然语言处理 前端开发
AIGC:聊聊如何用openai帮我们进行情感分析(Huggingface——transformer)
AIGC:聊聊如何用openai帮我们进行情感分析(Huggingface——transformer)
|
6月前
|
机器学习/深度学习 存储 编解码
IJCAI2023 | 高效训练Transformers的方法
IJCAI2023 | 高效训练Transformers的方法
73 2
|
机器学习/深度学习 数据采集 人工智能
【Pytorch神经网络理论篇】 40 Transformers中的词表工具Tokenizer
在Transformers库中,提供了一个通用的词表工具Tokenizer,该工具是用Rust编写的,其可以实现NLP任务中数据预处理环节的相关任务。
437 0
|
机器学习/深度学习 人工智能 自然语言处理
使用 PyNeuraLogic 超越 Transformers
在过去的几年里,我们看到了基于 Transformer 的模型的兴起,并在自然语言处理或计算机视觉等许多领域取得了成功的应用。
134 0
|
机器学习/深度学习 自然语言处理 数据挖掘
huggingface.transformers任务简介
本部分介绍了一些常见NLP任务使用transformers包的解决方案。本文使用的AutoModel具体内容可以参阅其文档,也可以参考我此前的撰写的transformers包文档笔记,我介绍了一些相关的用法和示例代码。
huggingface.transformers任务简介
下一篇
无影云桌面