Introduction and Setup:先把語言問題拆成可計算的元件|Stanford CS124 第 1 週
第 1 週沒有演算法。現場的導論課說明這門課教什麼:LLM 的每個元件各在哪一週學、哪些不是 LLM 的語言演算法也要學、語言為什麼難。PA0 把之後幾份作業要用的 Python 與 Jupyter 環境裝好。
第 1 週沒有演算法。現場的導論課說明這門課教什麼:LLM 的每個元件各在哪一週學、哪些不是 LLM 的語言演算法也要學、語言為什麼難。PA0 把之後幾份作業要用的 Python 與 Jupyter 環境裝好。
第 10 週把網頁和人際關係看成圖。連結分析教 anchor text 與 PageRank:一個隨機亂點連結的人長期停在每一頁的機率,就是那一頁的分數。社群網路教中心性、群聚係數、小世界與弱連結。最後一堂現場課回到 LLM,講偏好對齊、可解釋性與機器翻譯。
第 2 週教三件事:用 BPE 把文字切成 token、用動態規劃算兩個字串的編輯距離、用 n-gram 估下一個詞的機率並用 perplexity 評估。每一項都可以用紙筆算,本文各走一個例子。
第 3 週教邏輯迴歸:把文件變成特徵向量,加權總和後通過 sigmoid 得到機率,用 cross-entropy 量錯多少,再用梯度下降修權重。本文照投影片的影評例子把預測、loss 與一次權重更新各算一遍,並說明為什麼評估要看 precision 與 recall。
第 4 週教搜尋:把查詢和文件都變成向量,用 tf-idf 加權、cosine 相似度排名,用倒排索引加速,用 precision、recall 與 MAP 評估,最後接到向量檢索與 RAG。本文把投影片的四篇迷你文件例子完整算一遍。
第 5 週教詞嵌入:一個詞的意思可以用它周圍常出現的詞來表示。先用共現次數做向量、用 cosine 比相似度,再用 word2vec 把向量訓練成幾百維的稠密表示,最後區分靜態向量與隨上下文改變的向量。同週的計算社會科學現場課沒有公開材料。
第 6 週分兩半。預錄內容教神經網路:一個神經元怎麼算、為什麼需要隱藏層、softmax、用詞向量做分類與語言模型、反向傳播。現場課介紹大型語言模型:它是什麼、三種架構、為什麼各種任務都能改寫成接話、怎麼取樣、怎麼預訓練、怎麼變成助理。
第 7 週打開 Transformer:attention 怎麼讓每個 token 參考前面的 token、一個 block 由哪些零件組成、輸入和輸出兩端怎麼接。PA6a 要自己寫 causal self-attention、訓練一個小模型並計算 perplexity。同週的語音現場課介紹語音辨識的任務與詞錯誤率。
第 8 週接著講語音:聲音怎麼產生、怎麼從波形變成模型吃的 log mel 頻譜、Whisper 怎麼用 encoder-decoder 和 cross-attention 把聲音轉成文字。PA6b 把文字轉成語音再轉回來,分析哪些資訊不見了。實作課四介紹 PA7 的 agent 流程並教小組用 GitHub 協作。
第 9 週教推薦系統:內容式推薦看物品的特徵,協同過濾只看評分矩陣,用「相似的人」或「相似的物品」來推估沒評過的分數。PA7 把物品對物品的協同過濾寫成一個函式,交給會呼叫工具的 LLM agent,再加上訂票、網頁搜尋與記憶。
CS124 是 Stanford NLP 分支的第一門課:十週從斷詞、n-gram、文本分類、資訊檢索與詞嵌入,講到 LLM 與 Transformer。教科書是免費的《Speech and Language Processing》,九個作業 repo 與實作課的題目和解答都公開;預錄影片、每週複習測驗與自動評分要 Stanford 帳號。