前面幾篇一直有一個共同畫面:
你的 App 把 Request 透過 API 送到某家公司,對方的伺服器跑模型,再把 Response 傳回來。
這就像公司遇到問題時,打電話請外部顧問處理。
但如果你不想每次都把資料送出去呢?
另一種做法是:
把模型直接放在自己的電腦、工作站或伺服器上執行。
這就是常說的本地大型語言模型(Local Large Language Model, Local LLM)。
先複習:LLM 是模型,不是網站
前面 Lesson 002:AI 模型是什麼? 的一句話 recap:模型是經過訓練、負責把輸入轉成輸出的 AI 核心。
而 Lesson 018:API 是什麼? 講過:API 是讓你的程式和外部服務互相傳送 Request、Response 的介面。
所以 ChatGPT、Gemini 這些你平常看到的產品,不等於「模型本身」。
模型可以被包在雲端產品裡,也可以在某些情況下載到自己的硬體上跑。
Local 到底是多 Local?
「Local」不一定只代表你膝上的筆電。
它可能是:
- 一台桌上型電腦
- 一台有 GPU 的工作站
- 公司機房裡的伺服器
- 家裡的 Mac mini
- 完全離線的內部環境
重點不是設備放在房間哪個角落,而是:
推論主要在你控制的硬體上執行,而不是每次把內容送去外部模型服務商。
什麼樣的模型可以下載?
這裡常會看到開放權重(Open-weight)。
模型的「權重(Weights)」可以先理解成訓練後留下的大量數值參數。
如果模型提供可下載的權重,你就有機會使用自己的軟體和硬體載入它並執行推論。
但 Open-weight 不一定等於 Open Source。
有些模型雖然可以下載權重,授權仍可能限制商業用途、再散布方式或特定使用場景。
所以看到「可以下載」時,還是要看模型授權條款。
為什麼有人想跑 Local LLM?
最常見的理由之一是資料控制。
假設你要處理:
- 公司內部文件
- 尚未公開的程式碼
- 工廠操作紀錄
- 私有客服資料
如果模型完全在自己的環境裡執行,資料可以不必為了推論而傳到外部模型 API。
但這裡要非常小心一句話:
Local 不等於自動安全。
你的 App 可能還是會連外、記錄 Log、下載套件、同步資料;電腦本身也可能被入侵。
Local 只是讓你多控制了一層「模型推論在哪裡發生」,不代表整個系統從此沒有資安問題。
另一個原因:成本模型不一樣
雲端 API 常按 Token、圖片、秒數或 Request 使用量計費。
Local LLM 則比較像自己買設備。
你可能要付:
- GPU 或電腦硬體
- 電力
- 儲存空間
- 維護時間
- 工程人力
但每多跑一次推論,不一定再多一筆 API 單價。
所以兩者不能只比一句「Local 免費、API 要錢」。
更合理的是看:
硬體固定成本 + 維護成本 + 使用量 + 你需要的模型品質。
GPU 是什麼?
你很快會看到圖形處理器(Graphics Processing Unit, GPU)。
GPU 原本大量用在圖形運算,但因為能同時處理很多數值計算,也非常適合 AI 模型中的矩陣運算。
大型模型可以只靠 CPU 跑,但通常速度會慢很多。
因此很多 Local LLM 使用者會特別關心顯示卡或加速器。
VRAM 又是什麼?
GPU 上有自己的高速記憶體,常叫做顯示記憶體(Video Random Access Memory, VRAM)。
例如看到:
24 GB VRAM
這裡的 GB 是 Gigabyte,十億位元組等級的容量單位,日常可以先理解成顯示記憶體有大約 24 GB 的空間。
模型在執行時,需要把權重和中間計算資料放進記憶體。
模型越大、Context 越長、同時服務的使用者越多,通常需要的記憶體也越多。
所以「我的顯卡能不能跑這個模型?」很多時候首先就是在問:
放不放得下,以及跑起來夠不夠快。
參數量不是全部,但你會一直看到它
模型名稱旁邊常會出現:
7B、14B、32B、70B
這裡的 B 是 billion = 10 億。
例如:
7B parameters = 約 70 億個參數
參數可以先理解成模型訓練後的可調數值。
通常參數越多,模型權重檔也越大,硬體需求可能更高。
但不要直接把「參數多」等同於「任何任務都一定更聰明」。
模型架構、訓練資料、後訓練方式和任務本身都會影響效果。
Quantization 為什麼很常出現?
如果一個模型太大放不進你的硬體,一個常見方法是量化(Quantization)。
可以把它想成:
原本模型中的數字保存得非常精細,現在用比較省空間的數字格式表示。
這通常可以:
- 減少模型檔案大小
- 降低記憶體需求
- 讓較普通的硬體也有機會執行
代價則可能是部分品質或精度損失,實際影響依模型和量化方式而不同。
所以你會看到同一個模型有很多不同大小的版本。
Ollama、llama.cpp 是什麼?
它們不是新的語言模型名字,而是幫你在本地執行模型的工具。
例如 Ollama 提供比較簡化的模型下載、啟動與 API 使用流程。
llama.cpp 則是一套常見的 LLM 推論專案,特別重視在各種硬體上有效執行模型。
可以把它們想成:
模型是演員,這些工具是讓演員能上台工作的舞台設備。
不同工具支援的模型格式、硬體加速和功能會不同。
Local LLM 也可以提供 API
這點很容易誤會。
「Local」和「API」不是相反詞。
你完全可以在自己的電腦上啟動一個模型服務,再讓自己的 App 透過本機 API 呼叫它。
差別只是:
以前 Request 可能送到外部公司。
現在 Request 可能送到:
localhost
也就是自己這台電腦上的服務。
所以 Lesson 018 的 API 概念 一樣成立,只是「廚房」搬進你自己的公司了。
Local LLM 能不能做 RAG 和 Agent?
當然可以。
Lesson 023:RAG 的一句話 recap:RAG 先從外部資料檢索相關內容,再把內容放進 Context 讓模型回答。
Lesson 020:AI Agent 的一句話 recap:Agent 把模型的判斷、工具與工作流程接起來。
這兩個架構不要求模型一定來自某家雲端 API。
你可以:
- Local LLM + Local Vector Database
- Local LLM + 公司內部工具
- Local LLM + 外部搜尋 API
- 雲端 LLM + Local Database
系統可以自由混搭。
Local 一定比較快嗎?
不一定。
如果你用一台普通筆電跑很大的模型,可能比雲端 API 慢很多。
但如果你的硬體夠強,而且不需要跨網路傳送 Request,某些情境又可能很快。
真正速度會受到:
- 模型大小
- 量化方式
- CPU / GPU
- 記憶體頻寬
- Context 長度
- 同時請求數
影響。
所以不能只用「Local」兩個字判斷速度。
Local 一定比較便宜嗎?
也不一定。
低頻使用者偶爾問幾次 API,可能比買高階 GPU 划算很多。
但如果公司每天有大量固定工作負載,且已經有硬體與工程團隊,Local 的成本模型可能更有吸引力。
要比較的其實是總成本,不是單次帳單。
那我什麼時候該考慮 Local LLM?
可以先問:
- 資料是否有不能送外部的要求?
- 我需不需要離線運作?
- 使用量是否大到值得自己準備硬體?
- 我能接受模型品質和雲端旗艦模型不同嗎?
- 我有人力維護模型、版本、資安和硬體嗎?
如果只是想學習,Local LLM 也非常適合拿來理解模型實際怎麼被載入、推論和串 API。
到這裡,前 25 篇的地圖已經接起來了
你現在可以把整條路看成:
模型 → Prompt → Token → API → Agent → Embedding → Vector Database → RAG → Fine-tuning → Local LLM
這些名詞第一次看到時很像各自獨立的縮寫。
但實際上,它們只是 AI 系統不同層次的零件。
有的負責生成,有的負責傳資料,有的負責找資料,有的負責改模型行為,有的決定模型到底跑在哪裡。
今天只要記住一句話
Local LLM 就是把語言模型的推論放到自己控制的硬體上執行;你換來更多資料與部署控制,同時也把硬體、速度、更新和維護責任接到自己手上。
留言
有想法、疑問或想補充的地方,都可以留在這裡。
還沒有留言,來當 1F 吧。