#
本章简介

##
欢迎来到🤗课程

本课程将使用 Hugging Face 生态系统中的库——🤗 Transformers、🤗 Datasets、🤗 Tokenizers 和 🤗 Accelerate——以及 Hugging Face Hub 教你自然语言处理 (NLP)。它是完全免费的，并且没有广告。

##
有什么是值得期待的？

以下是课程的简要概述：

- 第 1 章到第 4 章介绍了 🤗 Transformers 库的主要概念。在本课程的这一部分结束时，您将熟悉 Transformer 模型的工作原理，并将了解如何使用 Hugging Face Hub 中的模型，在数据集上对其进行微调，并在 Hub 上分享您的结果。
- 第 5 章到第 8 章在深入研究经典 NLP 任务之前，教授 🤗 Datasets和 🤗 Tokenizers的基础知识。在本部分结束时，您将能够自己解决最常见的 NLP 问题。
- 第 9 章到第 12 章更加深入，探讨了如何使用 Transformer 模型处理语音处理和计算机视觉中的任务。在此过程中，您将学习如何构建和分享模型，并针对生产环境对其进行优化。在这部分结束时，您将准备好将🤗 Transformers 应用于（几乎）任何机器学习问题！

这个课程：

- 需要良好的 Python 知识
- 最好先学习深度学习入门课程，例如DeepLearning.AI 提供的 fast.ai实用深度学习教程
- 不需要事先具备 PyTorch 或 TensorFlow 知识，虽然熟悉其中任何一个都会对huggingface的学习有所帮助

完成本课程后，我们建议您查看 DeepLearning.AI的自然语言处理系列课程，其中涵盖了广泛的传统 NLP 模型，如朴素贝叶斯和 LSTM，这些模型非常值得了解！

##
我们是谁？

关于作者：

Abubakar Abid 在斯坦福大学获得应用机器学习博士学位。 在攻读博士学位期间，他创立了 Gradio，这是一个开源 Python 库，已用于构建超过 600,000 个机器学习演示。 Gradio 被 Hugging Face 收购，Abubakar 现在是该公司的机器学习团队负责人。

Matthew Carrigan 是 Hugging Face 的机器学习工程师。他住在爱尔兰都柏林，之前在 Parse.ly 担任机器学习工程师，在此之前，他在Trinity College Dublin担任博士后研究员。他不相信我们会通过扩展现有架构来实现 AGI，但无论如何都对机器人充满希望。

Lysandre Debut 是 Hugging Face 的机器学习工程师，从早期的开发阶段就一直致力于 🤗 Transformers 库。他的目标是通过使用非常简单的 API 开发工具，让每个人都可以使用 NLP。

Sylvain Gugger 是 Hugging Face 的一名研究工程师，也是 🤗Transformers库的核心维护者之一。此前，他是 fast.ai 的一名研究科学家，他与Jeremy Howard 共同编写了Deep Learning for Coders with fastai and Py Torch。他的主要研究重点是通过设计和改进允许模型在有限资源上快速训练的技术，使深度学习更容易普及。

Dawood Khan 是 Hugging Face 的机器学习工程师。 他来自纽约，毕业于纽约大学计算机科学专业。 在担任 iOS 工程师几年后，Dawood 辞职并与其他联合创始人一起创办了 Gradio。 Gradio 最终被 Hugging Face 收购。

Merve Noyan 是 Hugging Face 的开发者倡导者，致力于开发工具并围绕它们构建内容，以使每个人的机器学习平民化。

Lucile Saulnier 是 Hugging Face 的机器学习工程师，负责开发和支持开源工具的使用。她还积极参与了自然语言处理领域的许多研究项目，例如协作训练和 BigScience。

Lewis Tunstall 是 Hugging Face 的机器学习工程师，专注于开发开源工具并使更广泛的社区可以使用它们。他也是即将出版的一本书O’Reilly book on Transformers的作者之一。

Leandro von Werra 是 Hugging Face 开源团队的机器学习工程师，也是即将出版的一本书O’Reilly book on Transformers的作者之一。他拥有多年的行业经验，通过在整个机器学习堆栈中工作，将 NLP 项目投入生产。

##
FAQ

这里有一些经常被提到的问题:

- 参加本课程是否会获得认证？ 目前，我们没有获得此课程的任何认证。 但是，我们正在为 Hugging Face 生态系统制定认证计划——敬请期待！

- 我应该在这门课程上花多少时间？ 本课程的每一章都设计为在 1 周内完成，每周大约需要 6-8 小时的学习时间。 但是，您可以花尽可能多的时间来完成课程。

- 如果我有问题，我可以在哪里提问？ 如果您对课程的任何部分有疑问，只需单击页面顶部的“提问”横幅，系统就会自动重定向到 [Hugging Face 论坛](https:// discuss.huggingface.co/):

请注意，如果您想在完成课程后进行更多练习，论坛上还提供了项目灵感 列表。

- 我在哪里可以获得课程的代码？ 对于每个部分，单击页面顶部的横幅可以在 Google Colab 或 Amazon SageMaker Studio Lab 中运行代码：

包含课程所有代码的 Jupyter 笔记本托管在 `huggingface/notebooks` 仓库中。 如果您希望在本地生成它们，请查看 GitHub 上 `course` 仓库中的说明。

- 我如何为课程做出贡献？ 有很多方法可以为课程做出贡献！ 如果您发现拼写错误或错误，请在 `course` 仓库中提出问题。 如果您想帮助将课程翻译成您的母语，请在此处 查看说明。

- 每个翻译的选择是什么？ 每个翻译都有一个词汇表和“TRANSLATING.txt”文件，其中详细说明了为机器学习术语等所做的选择。您可以在 此处。

- 我可以使用这门课程再次进行创作吗？ 当然！ 该课程是根据宽松的 Apache 2 许可证 发布的。 这意味着您必须按照诚信的原则，提供许可证的链接，并指出是否进行了更改。您可以以任何合理的方式这样做，但不能以任何表明许可方认可您或您的使用的方式。 如果您想引用该课程，请使用以下 BibTeX：

    @misc{huggingfacecourse,
      author = {Hugging Face},
      title = {The Hugging Face Course, 2022},
      howpublished = "\url{https://huggingface.co/course}",
      year = {2022},
      note = "[Online; accessed <today>]"
    }

##
让我们开始吧！

你准备好了吗？在本章中，您将学习：

- 如何使用 `pipeline()` 函数解决文本生成、分类等NLP任务
- 关于 Transformer 架构
- 如何区分编码器、解码器和编码器-解码器架构和用例