模型入門課 · 第一課

模型是什麼,
你能對它做什麼

上面五條是同一個漸層,差別只在可以用幾階顏色去畫它

前三條你幾乎分不出來,第四條開始看得到色帶,最後一條只剩四塊。這件事叫「量化」, 它是你之後能在自己筆電上跑模型的原因——也是這一課要講清楚的第一件事。

序章

先確認你的環境

這一課後面會請你在自己的電腦上真的跑一個模型。先花兩分鐘確認機器符合條件, 比讀到一半才發現跑不了好。

這一課的動手部分需要 Apple Silicon 的 Mac(M1 以後的機型)。 用 Windows 或舊款 Intel Mac 的話,概念的部分照讀,動手的部分請看 文末的 Windows 附錄

① 你的晶片與記憶體

貼進終端機
sysctl -n machdep.cpu.brand_string; echo "$(( $(sysctl -n hw.memsize)/1073741824 )) GB"
你應該看到類似兩行:晶片名稱(例如 Apple M5)與記憶體大小(例如 24 GB)。 晶片名稱以 Apple M 開頭就對了。如果看到 Intel,這一課的動手部分在你的機器上跑不了。
記下記憶體那個數字,第四節會用到——在 Apple Silicon 上,CPU 跟 GPU 共用同一份記憶體,所以它直接決定你跑得動多大的模型。

② 系統版本與磁碟空間

貼進終端機
sw_vers -productVersion; df -h / | tail -1 | awk '{print $4" 可用"}'
你應該看到系統版本(例如 26.6)與可用空間(例如 776Gi 可用)。 第一個模型約 1.7 GB,留 5 GB 以上比較安心。

③ 安裝工具

我們用 uv 來裝東西。它是一個獨立的小程式,不會動到系統原本的設定—— 這點很重要,因為 macOS 內建的 Python 會擋住一般的安裝方式,直接照官方文件做反而會失敗。

貼進終端機(已經有 uv 就跳過)
curl -LsSf https://astral.sh/uv/install.sh | sh
你應該看到安裝進度,最後出現 installed 之類的訊息。 裝完關掉終端機再重開一次,否則接下來的指令會說找不到 uv。
確認裝好了:輸入 uv --version,看到版本號(例如 uv 0.11.28)就成功了。
這一節的每個數字都是實跑出來的。本頁範例輸出取自一台 Apple M5 / 24 GB / macOS 26.6 / uv 0.11.28 的 Mac, 不是照文件推測的。你的數字會不一樣,但格式應該長得一樣。

第一節

這條路要走多遠

整條路是六課。你現在在第一站。每一課結束時,你手上都會多一個真的能用的東西—— 不是筆記,是東西。

  1. 01 模型是什麼,你能對它做什麼目前在這 → 電腦上一個能對話的本機模型;一張四層改造成本表
  2. 02 資料:模型的品質從哪來 → 一份你自己的訓練資料,以及一份「什麼資料會毀掉模型」的檢查清單
  3. 03 微調:讓模型學會你的判準 → 一個真的被你改造過的模型
  4. 04 評估:怎麼知道新版真的比較好 → 一套能重複跑的考題,以及升不升級的判準
  5. 05 壓縮與部署:讓它跑在你自己的電腦上 → 一個量化過、開機就能用的模型
  6. 06 接進實際應用 → 把模型接進一個你自己在用的工具,取代原本的土法煉鋼

目前只有第一課完成。順序與內容都還可以調整——如果第一課的深淺或節奏不對, 後面的會照著調。

第二節

模型不是資料庫

這是最需要先扭轉的直覺。多數人第一次想像「AI 模型」時,腦中的圖是一個超大的答案庫: 你問問題,它去裡面找最接近的那筆,然後唸出來。

模型裡面沒有答案。它裡面只有一堆數字——那些數字記錄的是「模式」, 不是「內容」。

常見誤解
模型讀過的東西被存在它裡面,回答時去查出來。所以它記得的東西越多、檔案就越大。
實際上是
模型讀過的東西沒有被存下來。訓練時它反覆調整內部的數字,讓自己越來越會「接下一個字」。 讀完之後,原始資料就不需要了。

一個能想像的比喻

資料庫像一個帶著書的圖書館員:你問他,他去書架上找那一頁,翻給你看。 找不到就說沒有。

模型像一個讀過很多書、但身上沒帶任何一本書的人:他答得出來, 是因為讀的過程改變了他;他也可能答錯、記混、或者對他沒讀過的東西一本正經地掰。

這個差別有實際後果:你不能「把一份文件加進模型裡」然後期待它去查。 那不是模型的運作方式。要讓模型用上新資料,你要嘛在問的時候把資料一起給它, 要嘛用資料去改變它內部的數字——那正是下一節四層改造法在講的事。

Deep Dive:那「參數量」是什麼?

你會看到模型叫「3B」「7B」「70B」,B 是十億(billion),指的是模型裡面有幾個數字。 3B 就是三十億個數字。

這些數字統稱「權重」。訓練就是反覆微調這些數字的過程;模型的「知識」就藏在這些數字的組合裡, 沒有任何一個數字對應到任何一句話。

參數越多,通常越聰明,但也越大、越慢、越吃記憶體。這一課你會跑的是一個 3B 的模型—— 在筆電上算小的,但已經足夠讓你看清楚整件事怎麼運作。

第三節

四層改造法

這是這一課的核心。「訓練一個模型」這句話,其實橫跨四件成本差距達百萬倍的事。 分不清楚它們,你會把一件下午就能做完的事,講成一個做不到的計畫。

改什麼要多久要多少錢 一般筆電做得到?能改變什麼改不了什麼
① 換說法 你給它的指令 幾秒 免費 可以 語氣、格式、這一次的行為 它本來就不知道的事
② 加一小層
(LoRA)
外掛一小組新數字,原本的權重不動 幾十分鐘到幾小時 用自己的電腦=免費 可以 穩定的語氣、格式、聽你的規則 基礎的推理與知識上限
③ 完整微調 模型裡全部的數字 幾天 租 GPU,數百至數千美元 不行 更深層的行為改變 基礎能力的天花板
④ 從零訓練 從無到有造一個新模型 數月 數百萬美元起 不行 一切

怎麼用這張表

先問自己一句:「我想改的東西,第一層做得到嗎?」大多數時候答案是可以—— 換個說法、把規則寫清楚,就解決了。

只有當你需要它每次都照某種方式做、而且用講的講不動時,才需要第二層。 第二層是絕大多數個人專案的終點,也是這門課第三課要做的事。

第三、四層不是「比較認真」的版本,是完全不同量級的工程。 知道它們存在、知道自己不在那裡,比會做它們更重要。

很多人說的「訓練我自己的 AI」,實際想要的是第一層或第二層。 把第四層當成目標,是最常見的挫折來源。

第四節

你的機器能跑多大

序章你記下的那個記憶體數字,現在用得到了。在 Apple Silicon 上, CPU 跟 GPU 共用同一份記憶體,模型要整個放進去才跑得動——所以那個數字就是你的上限。

模型佔多少記憶體,主要看兩件事:參數量(幾個 B)與量化到幾位元。 下面這張表以 4-bit 為準——那是目前個人電腦上最常用的規格。

模型大小檔案約多大跑起來約要多少記憶體16 GB 的機器來源
3B1.7 GB約 2 GB輕鬆實測
7–8B約 4–5 GB約 5–6 GB可以估算
13B約 7–8 GB約 9 GB會有點緊估算
70B約 38–40 GB約 42 GB不行估算

「實測」那一列是在一台 M5 / 24 GB 的 Mac 上跑出來的實際數字: 模型檔 1.7 GB、執行時峰值記憶體 1.978 GB。其餘為依參數量推估,實際值會因模型而異。

粗略的心算法:4-bit 模型跑起來大約要「參數量的 0.6 倍 GB」再加一點餘裕。 3B 就約 2 GB,8B 就約 5 GB。你的機器記憶體還要留給系統跟其他程式, 抓一半以下比較安全。

Deep Dive:量化到底在壓什麼

模型裡的每個數字,原本用 32 位元記錄——那能表示大約 43 億個不同的值,精細到不必要。

量化就是改用比較少的位元去記同一個數字。位元數決定能表示幾階:

32 位元 → 約 43 億階 · 16 位元 → 約 6.5 萬階
8 位元 → 256 階 · 4 位元 → 16 階 · 2 位元 → 4 階

注意 4-bit 是 16 階,不是 4 階——位元數是次方,不是階數本身。這是最常見的誤會之一。

回頭看最上面那五條色帶:那正是同一個漸層分別用這幾種階數畫出來的。 前三條你分不出差別,因為 256 階在那個寬度上每一階不到一個像素; 4-bit 的 16 階開始看得出色帶;2-bit 的 4 階就只剩色塊了。

模型的情況也類似:8-bit 幾乎感覺不出品質差異,4-bit 有輕微損失但一般夠用, 2-bit 通常就明顯劣化了。這是業界的一般經驗,不同模型與量化方法的實際結果會有出入。

第五節

你的第一個本機模型

接下來三個指令,你會在自己的電腦上裝好一套工具、下載一個模型、然後跟它講話。 整個過程結束後,那個模型就住在你的硬碟裡了——不需要帳號、不需要付費, 斷網也還在。

我們用的是 MLX,Apple 自己做的機器學習框架,專門為 Apple Silicon 最佳化。 選它還有一個好處:這套工具一路用到最後,第三課要做微調時不用換。

① 安裝

貼進終端機
uv tool install mlx-lm
你應該看到一長串套件名稱與版本,最後一行是 Installed 18 executables: 開頭的清單。實測裝到的版本是 mlx-lm 0.31.3mlx 0.32.0
如果看到「找不到 uv」:回序章第③步裝 uv,裝完關掉終端機重開。

② 跟它說第一句話

貼進終端機
mlx_lm.generate --prompt "用一句話說明什麼是機器學習" --max-tokens 60
第一次執行會先下載模型(約 1.7 GB)。實測花了 4 分 36 秒, 但這完全取決於你的網速——可能更快,也可能更久,看到進度條在動就是正常的。
下載完你會看到兩行 ===== 中間夾著模型的回答,接著是速度統計。 實測的生成速度是每秒 67 個字元單位,峰值記憶體 1.978 GB。
會出現一行 HF_TOKEN 的警告——那只是說你沒登入帳號,下載速度可能受限,可以忽略

③ 跟它連續對話

貼進終端機
mlx_lm.chat
你應該看到一個等你輸入的提示符號。打字送出就會回你,可以一直聊下去。 要離開按 Ctrl + C。
模型已經在你硬碟裡了,這次不用再下載。可以試試看把 Wi-Fi 關掉再跑一次——它照樣會回答你。
你剛剛跑的,就是一個 4-bit 模型。
預設下載的模型叫 Llama-3.2-3B-Instruct-4bit, 名字最後那個 4bit 就是第四節講的量化——最上面色帶裡的第四條。 三十億個數字,每個只用 16 階去記,壓成 1.7 GB,跑在你的筆電上。

不想留著的話

移除(不是必要步驟)
uv tool uninstall mlx-lm; rm -rf ~/.cache/huggingface
第一行移除工具,第二行刪掉下載的模型檔(會清掉整個快取資料夾)。 要繼續上第三課的話,這兩個都留著。
卡住了怎麼辦:把終端機裡的錯誤訊息整段複製下來問我。 不要對著錯誤訊息乾瞪眼,也不要以為是自己哪裡笨——第一次裝開發工具卡住是常態, 訊息裡通常寫得很清楚,只是它預設你看得懂。

第六節

常見誤解

左邊是很多人(包括一小時前的你,可能)相信的說法,右邊是實際情況。

誤解一
「4-bit」就是只剩四種可能,難怪會變笨。
實際上是
4-bit 是 16 階(2 的 4 次方)。位元數是次方,不是階數本身。 而且 16 階已經夠用——那正是它能跑在你筆電上的原因。
誤解二
要改變模型的行為,就得「訓練」它。
實際上是
大多數時候換個說法就夠了(第一層)。需要它每次都照做才輪到第二層。 會用到第三、四層的,是完全不同量級的工程。
誤解三
把公司文件丟給模型,它就會記住並且以後查得到。
實際上是
模型不是資料庫,沒有「加進去」這個動作。要嘛問的時候把資料一起給它, 要嘛用資料去改變它內部的數字。
誤解四
本機模型也是要連網的吧,不然它怎麼想事情。
實際上是
下載完就不用了。你可以關掉 Wi-Fi 再跟它聊——這正是「本機」的意思, 也是它跟雲端 AI 服務最根本的差別。

第七節

你現在會了什麼

下一課

第二課:資料——模型的品質從哪來。 第三課要讓模型學會你的規則,而它學得好不好,幾乎完全取決於你餵它什麼。 第二課會講什麼樣的資料有用、什麼樣的資料會直接毀掉一個模型, 結束時你手上會有一份自己的訓練資料。

附錄

如果你用 Windows

前面幾節的概念——模型不是資料庫、四層改造法、量化——都是跨平台通用的,照讀就好。 只有第五節的動手部分不行:那用的是 MLX,Apple 自家的框架,只跑在 Apple Silicon 上。

你可以改用 LM Studio:一個有圖形介面的程式,不用打指令, 可以下載並執行同樣這類量化模型。它在 Mac 上的底層用的正是 MLX,所以概念完全一樣。

做法

  1. lmstudio.ai 下載 Windows 版並安裝。
  2. 在程式內建的搜尋裡找一個 3B、4-bit 的模型(名字裡通常有 3BQ4),下載它。
  3. 切到聊天頁面,載入剛下載的模型,開始對話。

系統需求(官方文件):x64 處理器需支援 AVX2 指令集,或 Snapdragon X Elite 的 ARM 機型; 建議 16 GB 以上記憶體、獨立顯示卡 4 GB 以上顯示記憶體。沒有獨顯也能跑,只是會慢很多。

要先講清楚的限制:這門課後面幾課(特別是第三課的微調) 用的是 Apple Silicon 專屬的工具,這份教材不會涵蓋 Windows 的對應做法。 概念的部分你照樣讀得懂、也帶得走,但動手的步驟從第三課開始就對不上了。 與其讓你跟到一半才發現,不如現在就說。