简介
欢迎来到 🤗 课程!
本课程将教你如何使用来自 Hugging Face 生态系统的库进行自然语言处理 (NLP) — 🤗 Transformers、🤗 Datasets、🤗 Tokenizers 和 🤗 Accelerate — 以及 Hugging Face Hub。它完全免费且无广告。
期待什么?
以下是课程的简要概述
- 第 1 章到第 4 章介绍了 🤗 Transformers 库的主要概念。在本课程的这一部分结束时,您将熟悉 Transformer 模型的工作原理,并了解如何使用来自 Hugging Face Hub 的模型,在数据集上对其进行微调,并在 Hub 上分享您的结果!
- 第 5 章到第 8 章讲解了 🤗 Datasets 和 🤗 Tokenizers 的基础知识,然后深入探讨经典的 NLP 任务。在本部分结束时,您将能够独立解决最常见的 NLP 问题。
- 第 9 章到第 12 章超越 NLP,探索如何使用 Transformer 模型解决语音处理和计算机视觉中的任务。在此过程中,您将学习如何构建和共享模型的演示,以及如何优化它们以用于生产环境。在本部分结束时,您将准备好将 🤗 Transformers 应用于(几乎)任何机器学习问题!
本课程
- 需要具备良好的 Python 知识
- 最好在学习过入门级深度学习课程后学习,例如 fast.ai 的 《程序员的实用深度学习》 或 DeepLearning.AI 开发的其中一个项目
- 不需要事先了解 PyTorch 或 TensorFlow,尽管对其中任何一个有所了解都会有所帮助
完成本课程后,我们建议您查看 DeepLearning.AI 的 《自然语言处理专业化》,该课程涵盖了广泛的传统 NLP 模型,例如朴素贝叶斯和 LSTM,这些模型都值得了解!
我们是谁?
关于作者
Abubakar Abid 在斯坦福大学完成了应用机器学习博士学位。在攻读博士学位期间,他创立了 Gradio,这是一个开源 Python 库,已被用于构建超过 600,000 个机器学习演示。Gradio 被 Hugging Face 收购,Abubakar 目前在那里担任机器学习团队负责人。
Matthew Carrigan 是 Hugging Face 的机器学习工程师。他住在爱尔兰都柏林,之前曾在 Parse.ly 担任机器学习工程师,在此之前曾在都柏林三一学院担任博士后研究员。他认为我们不会通过扩展现有架构来实现 AGI,但无论如何都对机器人永生寄予厚望。
Lysandre Debut 是 Hugging Face 的机器学习工程师,从 🤗 Transformers 库的早期开发阶段就开始参与其中。他的目标是通过开发具有非常简单 API 的工具,使每个人都能轻松使用 NLP。
Sylvain Gugger 是 Hugging Face 的研究工程师,也是 🤗 Transformers 库的核心维护者之一。此前,他曾在 fast.ai 担任研究科学家,并与 Jeremy Howard 合著了《使用 fastai 和 PyTorch 的深度学习》。他的研究主要集中在使深度学习更容易获取,通过设计和改进技术,使模型能够在有限的资源上快速训练。
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 出版社书籍《使用 Transformer 的自然语言处理》的合著者。
Leandro von Werra 是 Hugging Face 开源团队的机器学习工程师,也是 O’Reilly 出版社书籍《使用 Transformer 的自然语言处理》的合著者。他拥有多年的行业经验,通过处理整个机器学习堆栈将 NLP 项目投入生产。
常见问题
这里有一些常见问题的答案。
参加本课程是否会获得认证? 目前我们还没有为本课程提供任何认证。但是,我们正在为 Hugging Face 生态系统开发一个认证计划——敬请期待!
我应该在课程上花费多少时间? 本课程中的每个章节都设计为在一周内完成,每周大约需要 6-8 个小时的工作时间。但是,您可以根据需要花费任意时间来完成课程。
如果我有问题,在哪里可以提问? 如果您对课程的任何部分有任何疑问,只需点击页面顶部的“提问”横幅,即可自动重定向到 Hugging Face 论坛 的相关部分。
请注意,如果您希望在完成课程后进行更多练习,论坛上还提供了一份项目想法列表。
- 在哪里可以获取课程代码? 对于每个部分,点击页面顶部的横幅,即可在 Google Colab 或 Amazon SageMaker Studio Lab 中运行代码。
包含课程所有代码的 Jupyter notebook 位于 huggingface/notebooks
仓库中。如果您希望在本地生成它们,请查看 GitHub 上 course
仓库中的说明。
如何为课程做出贡献? 有很多方法可以为课程做出贡献!如果您发现任何错别字或错误,请在
course
仓库中打开一个 issue。如果您想帮助将课程翻译成您的母语,请查看此处 的说明。每个翻译的选项是什么? 每个翻译都有一个词汇表和一个
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 架构
- 如何区分编码器、解码器和编码器-解码器架构及其用例