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()


目录
打赏
0
0
0
0
20
分享
相关文章
义无反顾马督工,Bert-vits2V210复刻马督工实践(Python3.10)
Bert-vits2更新了版本V210,修正了日/英的bert对齐问题,效果进一步优化;对底模使用的数据进行优化和加量,减少finetune失败以及电音的可能性;日语bert更换了模型,完善了多语言推理。
义无反顾马督工,Bert-vits2V210复刻马督工实践(Python3.10)
HuggingFace Transformers 库深度应用指南
本文首先介绍HuggingFace Tra环境配置与依赖安装,确保读者具备Python编程、机器学习和深度学习基础知识。接着深入探讨Transformers的核心组件,并通过实战案例展示其应用。随后讲解模型加载优化、批处理优化等实用技巧。在核心API部分,详细解析Tokenizers、Models、Configuration和Dataset的使用方法。文本生成章节则涵盖基础概念、GPT2生成示例及高级生成技术。最后,针对模型训练与优化,介绍预训练模型微调、超参数优化和推理加速等内容。通过这些内容,帮助读者掌握HuggingFace Transformers的深度使用,开发高效智能的NLP应用。
157 22
Transformers入门指南:从零开始理解Transformer模型
【10月更文挑战第29天】作为一名机器学习爱好者,我深知在自然语言处理(NLP)领域,Transformer模型的重要性。自从2017年Google的研究团队提出Transformer以来,它迅速成为NLP领域的主流模型,广泛应用于机器翻译、文本生成、情感分析等多个任务。本文旨在为初学者提供一个全面的Transformers入门指南,介绍Transformer模型的基本概念、结构组成及其相对于传统RNN和CNN模型的优势。
1517 1
transformers+huggingface训练模型
本教程介绍了如何使用 Hugging Face 的 `transformers` 库训练一个 BERT 模型进行情感分析。主要内容包括:导入必要库、下载 Yelp 评论数据集、数据预处理、模型加载与配置、定义训练参数、评估指标、实例化训练器并开始训练,最后保存模型和训练状态。整个过程详细展示了如何利用预训练模型进行微调,以适应特定任务。
339 3
动手实践:使用Hugging Face Transformers库构建文本分类模型
【10月更文挑战第29天】作为一名自然语言处理(NLP)爱好者,我一直对如何利用最先进的技术解决实际问题充满兴趣。Hugging Face 的 Transformers 库无疑是目前最流行的 NLP 工具之一,它提供了大量的预训练模型和便捷的接口,使得构建和训练文本分类模型变得更加简单高效。本文将通过具体的实例教程,指导读者如何使用 Hugging Face 的 Transformers 库快速构建和训练一个文本分类模型,包括环境搭建、数据预处理、模型选择与训练等步骤。
202 0
PyTorch与Hugging Face Transformers:快速构建先进的NLP模型
【8月更文第27天】随着自然语言处理(NLP)技术的快速发展,深度学习模型已经成为了构建高质量NLP应用程序的关键。PyTorch 作为一种强大的深度学习框架,提供了灵活的 API 和高效的性能,非常适合于构建复杂的 NLP 模型。Hugging Face Transformers 库则是目前最流行的预训练模型库之一,它为 PyTorch 提供了大量的预训练模型和工具,极大地简化了模型训练和部署的过程。
390 2
【AI大模型】Transformers大模型库(十三):Datasets库
【AI大模型】Transformers大模型库(十三):Datasets库
173 0
英伟达、Hugging Face和ServiceNow发布用于代码生成的新StarCoder2 LLM
【2月更文挑战第10天】英伟达、Hugging Face和ServiceNow发布用于代码生成的新StarCoder2 LLM
102 1
英伟达、Hugging Face和ServiceNow发布用于代码生成的新StarCoder2 LLM
Transformers回顾 :从BERT到GPT4
人工智能已成为近年来最受关注的话题之一,由于神经网络的发展,曾经被认为纯粹是科幻小说中的服务现在正在成为现实。从对话代理到媒体内容生成,人工智能正在改变我们与技术互动的方式。特别是机器学习 (ML) 模型在自然语言处理 (NLP) 领域取得了重大进展。一个关键的突破是引入了“自注意力”和用于序列处理的Transformers架构,这使得之前主导该领域的几个关键问题得以解决。
5075 0