Skip to content

Introduction and Setup:先把語言問題拆成可計算的元件|Stanford CS124 第 1 週

2026年8月22日1 分鐘
TL;DR第 1 週沒有演算法。現場的導論課說明這門課教什麼:LLM 的每個元件各在哪一週學、哪些不是 LLM 的語言演算法也要學、語言為什麼難。PA0 把之後幾份作業要用的 Python 與 Jupyter 環境裝好。

🌏 English version

影片狀態:已查核:官方公開頁未列對應錄影。 影片來源與說明

這是 Stanford CS124 導讀的第 1 週。這一週沒有演算法,做兩件事:Dan Jurafsky 的現場導論課說明這門課教什麼,PA0 把環境裝好。

導論課沒有錄影,投影片公開。課程的先修、評分、材料取得方式已經寫在課程總覽,這篇只講導論課本身的內容。

這門課教什麼

投影片用一句話定位:LLM 的興起徹底改變了自然語言處理、資訊檢索、推薦系統和語音辨識;這門課從頭開始,一步步建立 LLM 是怎麼運作的、怎麼被應用的。

內容分成三塊。

LLM 的演算法元件。 投影片把每個元件對到一份作業:

元件作業
BPE 斷詞PA1
邏輯迴歸PA2
詞嵌入PA4
神經網路、梯度下降與反向傳播PA5
Transformer、語言模型的 lossPA6
卷積網路第 8 週的語音

其他重要的語言演算法。 不屬於 LLM 內部、但處理語言資料一定會用到的:正規表達式、最小編輯距離、資訊檢索與網頁搜尋、PageRank 與網路分析、協同過濾。

LLM 和社會的關係。 分兩個方向。一是 LLM 自己的問題,投影片列了四個:會編造、過度自信、會迎合使用者、對各種群體帶有刻板印象。二是反過來,把這些工具拿來研究社會,也就是計算社會科學。

幾個預告

投影片接著從各週各挑一個例子。這些例子說明每個主題要解決的是什麼問題。

資訊檢索。 投影片稱網頁搜尋可能是地球史上最常被使用的演算法,每天有超過 65 億次搜尋。這門課會教傳統的 tf-idf、現在的 dense retrieval,以及接上 LLM 的 RAG。

編輯距離。 比較兩條 DNA 序列哪裡相同、哪裡不同,是找基因和研究演化的基本工具。同一個演算法也用來評估語音辨識的結果。

文本分類。 2010 年海地地震後,救援單位收到大量簡訊,很多是海地克里奧爾語。投影片的例子是一則簡訊:「我在 Thomassin 32 號,Pyron 這一區。我想要一些水。感謝上帝我們都平安,但我們急需水。」要從成千上萬則訊息裡分出哪些需要立刻處理,這是分類問題,也是 PA2 的題目。

推薦系統。 好的一面是「買了這個的人也買了……」;不好的一面是推薦機制把人一步步帶向極端內容。

計算社會科學。 Jurafsky 自己的研究:分析 90 萬則 Yelp 餐廳評論。一星負評的語言特徵是過去式、大量的「我們」、敘述的是人(服務生、經理)而不是食物。這和心理學家研究的創傷敘事有同樣的語言特徵:用過去式拉開距離,用「我們」尋求群體的支持。結論是負評幾乎都和人的互動有關。另一個例子是分析警察隨身攝影機的錄音,量化警察和民眾互動的方式。

語言為什麼難:歧義

投影片用一個句子說明語言處理的核心困難:

The chef made her duck.

這句話至少有六種意思。課堂上請學生投票寫出自己想到的,投影片列出的包括:

  • 廚師為另一位女性煮了鴨肉。
  • 廚師煮了那位女性養的鴨。
  • 廚師煮了廚師自己的鴨。
  • 廚師做了一隻(石膏的?)鴨子,是那位女性的。
  • 廚師讓那位女性迅速低頭閃躲。

歧義來自好幾個地方:duck 可以是名詞(鴨)或動詞(低頭閃開),her 可以是「她的」或「她」,made 可以是烹調、製作或迫使。

人讀這句話通常只會想到一種意思,根本沒注意到其他的。投影片說,語言到處都是歧義,使用者通常察覺不到,而語言模型必須有效率地處理它。

接下來的問題是模型怎麼表示這些差別。投影片預告了第 5 週的答案:把詞的意思表示成高維空間裡的位置。同一個詞在不同句子裡落在不同的位置,而且不是只有兩三個分明的意思,是連續的。

為什麼用翻轉教室

投影片花了幾頁說明上課形式背後的理由,引用的是 Benjamin Bloom 在 1968 年提出的精熟學習(mastery learning):學到會為止,而不是在固定時間內學多少算多少。

這解釋了課程的幾個設計:

  • 講課內容預錄,學生可以照自己的速度看、重看。
  • 每週的複習測驗可以翻書、可以重複作答,目的是確認學會了,不是排名。
  • 教室的時間拿來做實作課。

CS124 還是 CS224N

投影片有一頁專門回答這個問題。

CS124 是為大二、大三設計的:

  • 步調溫和,什麼都會解釋;範圍廣,除了 NLP 和 LLM,還有推薦、檢索、社群網路。
  • 走精熟學習,有測驗和附了起始碼與鷹架的程式作業。
  • 沒有研究專題。

CS224N 是更深、更聚焦的研究所課:

  • 假設你已經很熟機器學習,第一份作業就直接進最佳化。
  • 更重系統、實作和規模。
  • 研究專題佔很大一部分。

投影片把 CS124 稱為「至少十二門研究所課」的大學部入門,列出的包括 CS224N(深度學習做 NLP)、CS224U(自然語言理解)、CS224V(對話助理)、CS224S(語音)、CS224W(圖神經網路)、CS246(大規模資料探勘)、CS276(資訊檢索)、CS336(從零訓練語言模型)等。站內有導讀的幾門列在課程總覽。

PA0:把環境裝好

PA0 沒有 NLP 的內容,有四個部分:

  1. 環境設定。 照自己的作業系統(macOS、Linux、Windows)讀 platform 目錄下對應的說明。
  2. Jupyter 教學。 做完 jupyter_tutorial.ipynb。
  3. Python 教學。 python_tutorial.ipynb。README 建議即使很熟 Python 也瀏覽一遍,因為之後的作業假設你會裡面的每一項。
  4. 繳交。 選課學生上傳到 Gradescope;自學者跳過。

PA1 到 PA5 都沿用這裡建立的 cs124 conda 環境,流程也一樣:clone repo、啟動環境、開 notebook。PA4 之後會再加裝套件,PA6a 起改成在編輯器裡寫 .py 檔。

做完之後建議確認一件事:把 notebook 的 kernel 重新啟動,從頭到尾執行一次,全部通過才算裝好。Jupyter 允許不照順序執行,畫面上看起來對的結果,可能依賴一個你已經刪掉的 cell。

自我檢查

  1. 不看上面的表,說出 LLM 的三個元件,以及各在哪一份作業實作。參考答案:BPE 斷詞(PA1)、詞嵌入(PA4)、Transformer(PA6)。
  2. 「我看到她拿著望遠鏡」有幾種讀法?答案:至少兩種。拿著望遠鏡的可以是「我」(我用望遠鏡看到她),也可以是「她」(她手上拿著望遠鏡)。這和 The chef made her duck 是同一類問題:同一串字對應到不同的結構。
  3. 你的 PA0 環境算不算裝好?判準:開新的終端機,啟動 cs124 環境,開 jupyter_tutorial.ipynb,重新啟動 kernel 後全部執行,沒有錯誤。

系列導覽:上一篇 課程總覽|下一篇 第 2 週:Words, Tokens, Edit Distance, and N-grams

課程影片來源

官方 Winter 2026 課程頁(2026-10-10 即時讀取)寫明:1 月 6 日的 Introduction 是 Dan 的現場講課,標示 “required not recorded”;1 月 8 日是現場 tutorial。本週唯一列出的影片是 PA0 的 Windows/Mac 安裝示範,放在 Canvas(需登入),不是本週講課錄影。YouTube 頻道的 “CS124 - Full Course” 週次標題與 Winter 2026 課綱不同,不當作當期錄影。

課程與錄影入口:

查核日期:2026-10-10。

更新紀錄

  • 2026-10-13:依公開投影片重寫。改以導論課的實際內容為主:課程範圍、各週預告的例子、歧義的例子、翻轉教室的理由、CS124 與 CS224N 的比較;移除與課程內容無關的自學紀錄建議。
  • 2026-10-10:重查影片狀態。官方頁寫明 1 月 6 日 Introduction 現場講課不錄影;本週只列 PA0 安裝影片(Canvas,需登入);狀態改為已查核未列錄影。
  • 2026-10-10:標註影片狀態,核對錄影來源與取得方式。

參考資料