简介
欢迎来到 🤗 课程!
本课程将教你如何使用来自 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 笔记本托管在 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 架构
- 如何区分编码器、解码器和编码器-解码器架构及其用例