前言

正如您在第一章中看到的,Transformer模型通常非常大。拥有数百万到数十亿个参数,训练和部署这些模型是一项复杂的任务。此外,每天都有新的模型发布,而且每个模型都有自己的实现方式,尝试它们绝非易事。

🤗 Transformers库的创建就是为了解决这个问题。它的目标是通过一个统一的API,使得任何Transformer模型都可以被加载、训练和保存。这个库的主要特点包括:

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

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

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

然后我们将探讨分词器API,它是pipeline()函数的另一个主要组成部分。分词器负责处理第一步和最后一步的处理工作,包括将文本转换为神经网络所需的数字输入,以及在需要时将输出转换回文本。最后,我们将向您展示如何准备一个批次,通过模型发送多个句子,然后通过更深入地了解高级tokenizer()函数来结束这一部分。

src link: https://huggingface.co/learn/nlp-course/chapter2/1

Operating System: Ubuntu 22.04.4 LTS

参考文档

  1. NLP Course - Introduction

结语

第二百零八篇博文写完,开心!!!!

今天,也是充满希望的一天。