LLM 課程文件
引言
並獲得增強的文件體驗
開始使用
簡介
歡迎來到 🤗 課程!
本課程將教您關於大型語言模型(LLM)和自然語言處理(NLP)的知識,並使用 Hugging Face 生態系統中的庫 — 🤗 Transformers、🤗 Datasets、🤗 Tokenizers 和 🤗 Accelerate — 以及 Hugging Face Hub。
我們還將涵蓋 Hugging Face 生態系統之外的庫。這些都是對 AI 社群的了不起的貢獻,也是非常有用的工具。
本課程完全免費,且無廣告。
理解 NLP 和 LLM
雖然本課程最初側重於自然語言處理(NLP),但現在已經發展為重點關注代表該領域最新進展的大型語言模型(LLM)。
它們之間有什麼區別?
- NLP(自然語言處理)是一個更廣泛的領域,專注於使計算機能夠理解、解釋和生成人類語言。NLP 涵蓋了許多技術和任務,如情感分析、命名實體識別和機器翻譯。
- LLM(大型語言模型)是 NLP 模型的一個強大子集,其特點是規模龐大、訓練資料廣泛,並能以最少的特定任務訓練來執行各種語言任務。像 Llama、GPT 或 Claude 系列等模型都是 LLM 的例子,它們徹底改變了 NLP 領域中可能實現的一切。
在本課程中,您將學習傳統的 NLP 概念和前沿的 LLM 技術,因為理解 NLP 的基礎對於有效使用 LLM 至關重要。
課程內容預期
以下是課程的簡要概述
- 第 1 到 4 章介紹了 🤗 Transformers 庫的主要概念。在完成這部分課程後,您將熟悉 Transformer 模型的工作原理,並知道如何使用 Hugging Face Hub 上的模型,在資料集上對其進行微調,並在 Hub 上分享您的成果!
- 第 5 到 8 章在深入探討經典的 NLP 任務和 LLM 技術之前,教授 🤗 Datasets 和 🤗 Tokenizers 的基礎知識。在完成這部分課程後,您將能夠獨立應對最常見的語言處理挑戰。
- 第 9 章超越了 NLP,涵蓋了如何在 🤗 Hub 上為您的模型構建和分享演示。在完成這部分課程後,您將準備好向世界展示您的 🤗 Transformers 應用程式!
- 第 10 到 12 章深入探討了高階 LLM 主題,如微調、策劃高質量資料集以及構建推理模型。
本課程
- 要求您具備良好的 Python 知識
- 最好在學過一門入門級深度學習課程之後學習,例如 fast.ai 的《為程式設計師準備的實用深度學習》或 DeepLearning.AI 開發的某個專案
- 不要求具備 PyTorch 或 TensorFlow 的先驗知識,但熟悉其中任一者都會有所幫助
完成本課程後,我們推薦您學習 DeepLearning.AI 的《自然語言處理專項課程》,該課程涵蓋了各種傳統的 NLP 模型,如樸素貝葉斯和 LSTM,這些都非常值得了解!
我們是誰?
關於作者
Abubakar Abid 在斯坦福大學獲得應用機器學習博士學位。博士期間,他創立了 Gradio,這是一個開源 Python 庫,已被用於構建超過 60 萬個機器學習演示。Gradio 被 Hugging Face 收購,Abubakar 現在擔任機器學習團隊負責人。
Ben Burtenshaw 是 Hugging Face 的一名機器學習工程師。他在安特衛普大學獲得自然語言處理博士學位,在那裡他應用 Transformer 模型生成兒童故事以提高識字能力。此後,他專注於為更廣泛的社群提供教育材料和工具。
Matthew Carrigan 是 Hugging Face 的一名機器學習工程師。他住在愛爾蘭都柏林,之前在 Parse.ly 擔任機器學習工程師,更早之前在都柏林三一學院擔任博士後研究員。他不相信我們能透過擴充套件現有架構實現通用人工智慧(AGI),但對機器人永生抱有很高的期望。
Lysandre Debut 是 Hugging Face 的一名機器學習工程師,自 🤗 Transformers 庫早期開發階段就一直參與其中。他的目標是透過開發具有非常簡單 API 的工具,讓每個人都能接觸到自然語言處理。
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 出版的 《基於 Transformers 的自然語言處理》一書的合著者之一。
Leandro von Werra 是 Hugging Face 開源團隊的一名機器學習工程師,也是 O’Reilly 出版的 《基於 Transformers 的自然語言處理》一書的合著者之一。他擁有多年將自然語言處理專案投入生產的行業經驗,工作範圍涵蓋整個機器學習技術棧。
常見問題
以下是一些常見問題的解答
完成這門課程能獲得證書嗎? 目前我們不為這門課程提供任何證書。不過,我們正在為 Hugging Face 生態系統開發一個認證專案——敬請期待!
我應該在這門課程上花多少時間? 課程中的每一章都設計為在 1 周內完成,每週大約需要 6-8 小時的工作量。但是,您可以根據需要花任意長的時間來完成課程。
如果有問題,我可以在哪裡提問? 如果您對課程的任何部分有疑問,只需點選頁面頂部的“提問”橫幅,即可自動重定向到 Hugging Face 論壇的相應版塊。

請注意,如果您在完成課程後希望進行更多練習,論壇上也有一系列專案創意可供參考。
- 我在哪裡可以找到課程程式碼? 對於每個部分,點選頁面頂部的橫幅,即可在 Google Colab 或 Amazon SageMaker Studio Lab 中執行程式碼。

包含課程所有程式碼的 Jupyter 筆記本託管在 huggingface/notebooks
倉庫中。如果您想在本地生成它們,請檢視 GitHub 上的 course
倉庫中的說明。
我如何為課程做貢獻? 有很多方式可以為課程做出貢獻!如果您發現拼寫錯誤或 bug,請在
course
倉庫中提交一個 issue。如果您想幫助將課程翻譯成您的母語,請檢視此處的說明。每次翻譯都做了哪些選擇? 每個翻譯版本都有一個詞彙表和
TRANSLATING.txt
檔案,詳細說明了對機器學習術語等所做的選擇。您可以在此處找到德語版本的示例。
- 我可以重用這門課程嗎? 當然可以!本課程採用寬鬆的 Apache 2.0 許可證釋出。這意味著您必須給予適當的署名,提供許可證連結,並說明是否進行了更改。您可以以任何合理的方式這樣做,但不能以任何方式暗示許可方認可您或您的使用。如果您想引用本課程,請使用以下 BibTeX
@misc{huggingfacecourse,
author = {Hugging Face},
title = {The Hugging Face Course, 2022},
howpublished = "\url{https://huggingface.co/course}",
year = {2022},
note = "[Online; accessed <today>]"
}
語言和翻譯
感謝我們出色的社群,本課程除了英語之外還有多種語言版本 🔥!請查看下錶,瞭解有哪些語言可用以及翻譯貢獻者
語言 | 作者 |
---|---|
法語 | @lbourdois, @ChainYo, @melaniedrevet, @abdouaziz |
越南語 | @honghanhh |
中文 (簡體) | @zhlhyx, petrichor1122, @yaoqih |
孟加拉語 (進行中) | @avishek-018, @eNipu |
德語 (進行中) | @JesperDramsch, @MarcusFra, @fabridamicelli |
西班牙語 (進行中) | @camartinezbu, @munozariasjm, @fordaz |
波斯語 (進行中) | @jowharshamshiri, @schoobani |
古吉拉特語 (進行中) | @pandyaved98 |
希伯來語 (進行中) | @omer-dor |
印地語 (進行中) | @pandyaved98 |
印度尼西亞語 (進行中) | @gstdl |
義大利語 (進行中) | @CaterinaBi, @ClonedOne, @Nolanogenn, @EdAbati, @gdacciaro |
日語 (進行中) | @hiromu166, @younesbelkada, @HiromuHota |
韓語 (進行中) | @Doohae, @wonhyeongseo, @dlfrnaos19 |
葡萄牙語 (進行中) | @johnnv1, @victorescosta, @LincolnVS |
俄語 (進行中) | @pdumin, @svv73 |
泰語 (進行中) | @peeraponw, @a-krirk, @jomariya23156, @ckingkan |
土耳其語 (進行中) | @tanersekmen, @mertbozkir, @ftarlaci, @akkasayaz |
中文 (繁體) (進行中) | @davidpeng86 |
對於某些語言,課程 YouTube 影片提供該語言的字幕。您可以透過先點選影片右下角的 CC 按鈕來啟用它們。然後,在設定圖示 ⚙️ 下,透過選擇字幕/CC 選項來選擇您想要的語言。

出發吧 🚀
準備好了嗎?在本章中,您將學習:
- 如何使用
pipeline()
函式解決文字生成和分類等 NLP 任務 - 關於 Transformer 架構
- 如何區分編碼器、解碼器和編碼器-解碼器架構及其用例