Skip to content

Latest commit

 

History

34 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LLM 基礎知識筆記

十八份文件加兩頁索引,涵蓋從架構到維運的完整鏈路。前六份是基礎層(五個階段各一份),中間八份是深入層——掛在基礎層底下的機制說明,不是新階段:七之於部署,八、十、十一、十三之於應用,十四之於八(Agent 的落地半邊),九之於評估,十二之於訓練與對齊。文件十五是一條貫穿全部的實作路徑。最後三份是實務層——前面每一份都有一個沒說出來的假設,這三份各拆掉一個:十六假設語料是英文的,十七假設模型跑在別人的機器上,十八假設任務不是寫程式。內容以**「學完能做什麼決定」**為篩選標準——答不出這一題的段落一律不收。

十八份全部採教科書體例:每個分頁固定有「學習目標/範例/分頁小結/自我檢核」四種區塊。全書共 108 組學習目標、190 個可自行核對的計算範例、108 則分頁小結、329 題自我檢核。

檔案結構:主頁 index.html 在最外層,十八份文件與查表頁在 docs/,可以直接跑的練習在 examples/,維護用的檢查工具在 tools/

純靜態單檔 HTML,無相依套件、無外部請求。分頁切換、五個互動計算器(顯存/投機解碼/自架損益平衡/樣本數/視覺 token 預算)、79 張手寫 SVG 圖與五段可播放的動畫全部內嵌,離線直接開也完整可用。

目錄

文件 內容 學完能做什麼決定
索引 · 知識地圖 依賴圖 · 十八份文件 · 本書體例 · 四條路線 決定從哪一份開始、走哪條路線
查表 · 症狀與主題 148 條症狀查表 · 297 項主題清單 · 刻意不收的 遇到問題時知道往哪查
架構 Transformer 逐層拆解 · 輸出與推論 · Mamba/SSM · 正面比較 · MoE/MTP 半小時內定位一個新架構;推估記憶體與延遲
訓練與對齊 預訓練 · SFT 與 RLHF · DPO/RLVR 獨立成頁 · Scaling · 分散式訓練(DP/ZeRO/TP/PP 四種切法、讀懂 TP=8, PP=4, DP=16 解釋模型為什麼那樣回答;判斷該微調還是換 prompt;把一行平行配置換算成多少卡、多少錢、多久
部署與最佳化 顯存計算器 · 量化 · 微調決策樹 · 框架選型 · 邊緣 · 微調實作 · 測試時計算 · 壓測與容量規劃(Little's Law) 給一張卡算出能跑多大、開幾個併發;要幾張卡才撐得住尖峰
應用與評估 RAG · 結構化輸出與 agent · 評估方法論 · 多模態 · 安全 · 多輪與記憶 品質問題該往檢索還是生成修;設計會一致的題庫
資料工程 品質漏斗 · 去重與污染 · 合成資料 · 標註 · embedding · 合規與風險分級 · 治理文件(模型卡、稽核軌跡、EU AI Act 四級) 分辨分數變化是模型還是資料造成;判斷你的系統落在哪一級、要留哪些文件
上線與維運 四類監控 · trace · 三個版本號 · 灰度 · 成本 · 事故 · 韌性 · prompt 當程式碼 · 多租戶分帳 · FinOps 與能耗 設計發布流程;知道品質出問題時查的順序;把帳單除成單位經濟,並回答「一年排多少碳」
推論最佳化深入 K-quant 塊結構 · imatrix · EXL2 · W8A8/FP8/NVFP4 · MLA 與 KV 量化 · 投機解碼 · 擴散起草 · 起草器四世代(MTP/EAGLE-3/DFlash/DSpark/DFlash2,含對照動畫) 判斷該壓權重還是壓 KV;估算投機解碼值不值得上;看懂起草器取什麼特徵、KV 什麼時候注入
Agent 工程 代理迴圈與工具粒度 · 脈絡工程(compaction/外部化/cache 邊界)· 多代理與 token 放大 · 自架 vs API 損益平衡 該用 workflow 還是 agent;compaction 保留什麼、要不要拆多代理;算出上線後的月成本量級
量測與實驗設計 讀懂公開評測(榜單、Elo、污染)· 雜訊三來源 · 樣本數與檢定力(含計算器)· 多重比較與題庫過擬合 · SRM 與偷看資料的代價 · 判準漂移 · 人類上限與 κ 一個分數差距值不值得追;實驗要跑幾天或根本做不到;一張榜單能不能當決策依據
多模態深入 視覺編碼器的天花板 · 四種接頭的 token 數對照圖 · 解析度策略與 token 預算計算器 · OCR-free vs assisted · 表格的位移錯誤 · 影片幀取樣 · 音訊串接 vs 端到端 一張圖/一段影片花多少 token;加解析度、開池化、還是走 OCR
十一 檢索深入 HNSW 三個參數各換什麼 · 索引記憶體帳 · chunk 四旋鈕 · 父子塊 · RRF 逐項計算 · rerank 延遲帳 · 長 context 三筆帳 · 語意快取 · 時效與版本 什麼規模才要向量資料庫;chunk 怎麼對照而不過擬合;rerank 值不值得
十二 後訓練深入 低秩假設的邊界 · PEFT 家族 · Bradley-Terry 與 KL · PPO → GRPO → RLVR 顯存階梯 · DPO 推導與長度偏誤 · 四種失效與護欄題庫 r 設多少、何時低秩不夠;SFT/DPO/RLVR/全參數選哪條
十三 不確定性與棄答 四種信心訊號 · ECE 與溫度校準 · margin 抓歧義 · 棄答門檻由代價比反推 · 降級/反問/轉人工與佇列算式 · cascade 經濟學 門檻切在哪、棄答之後交給誰、佇列要幾個人;判斷 cascade 值不值得
十四 Agent 落地 文件八的下半:軌跡評估與 pass^k · 權限與致命三角 · MCP · harness 六職責、工具輸出預算、續跑 · 批准疲勞、四種失效、重播測試 harness 的批准模式與中斷條件;agent 出錯時查哪一段軌跡
十五 實作路徑 六個里程碑:能跑 → 能量 → 能改 → 能上線 → 能養 → 能換。每個指定產出物、驗收標準、該讀哪一節、常見卡點 第一次做這類系統,從這裡開始——它回答「我現在該打開終端機做什麼」
十六 中文與多語系統 token 帳單(中文一個字幾個 token,含切分動畫)· 中文檢索的斷詞與同義 · 中文評測與題庫 · 繁簡、全半形與輸出格式 中文場景的成本與 context 上限怎麼重算;中文題庫和英文題庫差在哪
十七 端側與本地部署 四個成立的理由(省錢不在其中:十年才打平)· GGUF/ONNX · 量化等級與 KV cache 的真實佔用 · tok/s ≈ 頻寬 ÷ 模型大小 · prefill 的交叉點 · 整合式記憶體 · 端側沒有回滾 · 裝置分級 判斷該不該放到端上;從頻寬回推模型尺寸上限;設計分級與雲端後備的覆蓋率
十八 程式碼任務與工程 agent 五種任務用驗證成本排序 · 補全接受率為什麼誤導 · 讀懂 SWE-bench 的四個必問 · 污染的下界 · repo 4.2M token vs 需要的 0.34% · 符號索引 · 13.5% 的通過是靠改測試 · 審查負荷 3.2 倍 把「導入 AI 寫程式」拆成五種分別評估;建自己的三十題;訂迴圈放棄條件與分級審查

怎麼讀

遇到具體問題——直接開 查表頁。148 條常見症狀,每條給「先查什麼(依序)」和該去哪一份。那一欄裡幾乎沒有一項是「換更好的模型」,這是刻意的。

第一次做——直接走 文件十五 · 實作路徑,邊做邊查,比先讀完再做快得多。

想先動手——examples/ 是一份跑得動的縮小版:20 條的假人資規章、M1 到 M6 各一支腳本,只用 Python 標準函式庫,不需要 API key、GPU 或網路。五分鐘走完全程,附 24 道練習。

要系統性學——不必按順序讀完十八份,看目標挑一條走(知識地圖第 03 節有完整版):

目標 路線 時間
第一次做,想直接動手 十五(照著走) → 卡住時跳對應文件 6–10 週
能做技術決策 一 → 二 → 三 → 四 → (前三分頁) 7–9 週
要部署與最佳化(邊緣/自架) 一 → 三 → → 四 → 六 7–9 週
要放到使用者的裝置上 一 → 三 → 十七 → 七 → 六 6–8 週
要做程式碼/工程 agent 一 → 四 → 八 → 十四十八 → 九 9–12 週
要接成產品(RAG/agent) 一 → 四 → 十四 → 五 → 六 → 二 10–13 週

檢索卡住補文件十一;要處理圖片、掃描件或影片補文件十;要自己做後訓練補文件十二;系統要吃中文或多語,成本與檢索都要重算,補文件十六;模型要跑在使用者的裝置上,記憶體、速度與更新三筆帳全部重算,補文件十七;任務是寫程式,那是唯一自帶客觀驗證訊號的類別,補文件十八

系統會胡說、要決定什麼時候該說「不知道」、或要把不確定的題目交給人處理時,補文件十三——它同時接在四(產品)、六(監控)與九(量測)底下。

評估遇到瓶頸(分數跳動、實驗跑不出顯著、題庫調到高分卻換一批就掉)時,補文件九

三條的共同起點都是文件一,而且都不能跳。深入層各自接在對應的基礎文件之後:七接三(先會算帳,才看得懂機制)、八接四(先會接 RAG,再處理讓模型自己決定下一步之後才出現的問題)、十四接八(設計完才談落地)、九接四的評估半邊十接四的多模態半邊十一接四的檢索半邊十三接四與九十二接二。只做 RAG 可以跳過八、十四和十;但九幾乎人人都需要——七、八、十裡每一個「值不值得」的判斷,最後都要靠九才量得準。架構解釋了成本從哪來,而下游遇到的每個問題——延遲、記憶體、長 context 退化、幻覺——追到底都是架構的性質。

刻意不收的

框架 API 教學、從零推導數學、模型排行榜、prompt 技巧收藏、逐篇論文導讀、可解釋性研究(SAE / activation steering)。理由寫在查表頁第 03 節。

本機閱讀

用瀏覽器打開 index.html(學習用)或 docs/lookup.html(查問題用),不需要 server。深淺色跟隨作業系統設定。

練習跑在 examples/

cd examples
python3 m1_ask.py --report

十八份彼此不相依,樣式與 SVG 圖直接寫在各自檔案裡。docs/ 裡的跨文件連結是同層相對路徑(例如 ./04-apps.html),回主頁是 ../index.html。編號與順序的唯一真相來源是 tools/docs.json,改完跑 python3 tools/order.py 會自動重寫每份文件的系列導覽與主頁目錄——不用手動對順序。

印成一本:tools/mkpdf.py

網頁版是分頁式的,適合查;要通讀或印出來,用 mkpdf.py 把十八份合成單一檔案:

python3 tools/mkpdf.py            # 產生 build/llm-notes.html,並試著轉成 PDF
python3 tools/mkpdf.py --no-pdf   # 只產 HTML,用瀏覽器自己列印

轉 PDF 需要 weasyprintpip install weasyprint);沒裝的話會停在 HTML,用瀏覽器列印一樣能出。產物放在 build/,不進版控。

四件在網頁上理所當然、印出來會壞掉的事,它都處理掉:

  • 108 個分頁裡有 90 個是 hidden 的——全部攤開,tab bar 拿掉,每個分頁變成一個章節
  • 329 個自我檢核是收起來的 <details>——全開,答案跟著印出來
  • 九張圖是 JS 畫的,weasyprint 不跑 JS——交給 render_js_svg.js 用一個極簡 DOM stub 跑過頁面自己的腳本,把每一步烘成靜態 SVG
  • 十八份各有一份同名 class 的 CSS——逐份加上 #dNN 前綴,才不會互相蓋掉

四個調整篇幅的旗標:

旗標 作用
--anim=merged 動畫只印最後一格(預設 frames:每一步各印一格)
--no-quiz 不印自我檢核的答案,留白自己寫
--tight 分頁不各自起新頁、行距收緊
--no-pdf 停在 HTML

實測篇幅(A4):預設 683 頁--tight 578 頁。動畫展開成逐格靜態圖佔掉不少——想薄一點就加 --anim=merged

兩種模式的產物不會互相覆蓋:預設出 build/llm-notes.pdf--tightbuild/llm-notes-tight.pdf

其餘工具(順序、體例、SVG 出框與文字重疊的檢查)寫在 tools/README.md

About

LLM 基礎知識筆記:十六份繁體中文文件,涵蓋架構、訓練、部署、應用、資料、維運,加上推論最佳化、Agent、量測、檢索等深入層,以及一條從零到上線的實作路徑。收錄標準是「學完能做什麼決定」——152 個計算範例、131 條症狀查表、290 題自我檢核。純靜態 HTML,無相依套件、無外部請求,離線直接開。

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages