NLP 课程文档

简介

Hugging Face's logo
加入 Hugging Face 社区

并获得增强型文档体验

开始使用

简介

Ask a Question

正如您在第 1 章中所看到的,Transformer 模型通常非常庞大。拥有数百万到数百亿个参数,训练和部署这些模型是一项复杂的工作。此外,随着新模型几乎每天都在发布,并且每个模型都有自己的实现,尝试所有模型并非易事。

🤗 Transformers 库旨在解决此问题。其目标是提供一个单一的 API,通过该 API 可以加载、训练和保存任何 Transformer 模型。该库的主要特性包括

  • 易用性:只需两行代码即可下载、加载和使用最先进的 NLP 模型进行推理。
  • 灵活性:从核心上讲,所有模型都是简单的 PyTorch nn.Module 或 TensorFlow tf.keras.Model 类,并且可以像其各自机器学习 (ML) 框架中的任何其他模型一样进行处理。
  • 简洁性:整个库几乎没有进行任何抽象。核心概念是“所有内容都在一个文件中”:模型的前向传递完全在一个文件中定义,因此代码本身易于理解和修改。

最后这一特性使 🤗 Transformers 与其他 ML 库截然不同。这些模型并非构建在跨文件共享的模块上;相反,每个模型都有自己的层。除了使模型更易于访问和理解之外,这还允许您轻松地在一个模型上进行实验,而不会影响其他模型。

本章将从一个端到端的示例开始,在该示例中,我们将一起使用模型和分词器来复制在第 1 章中介绍的 pipeline() 函数。接下来,我们将讨论模型 API:我们将深入研究模型和配置类,并向您展示如何加载模型以及它如何处理数值输入以输出预测。

然后,我们将研究分词器 API,它是 pipeline() 函数的另一个主要组成部分。分词器负责处理第一步和最后一步,处理从文本到神经网络数值输入的转换,并在需要时转换回文本。最后,我们将向您展示如何在准备好的批处理中处理将多个句子发送到模型,然后通过更仔细地查看高级 tokenizer() 函数来总结所有内容。

⚠️ 为了利用 Model Hub 和 🤗 Transformers 提供的所有功能,我们建议您创建一个帐户