2026年6月6日 星期六

門外漢用TUF Dash F15跟llama.cpp架設本地端AI

網路上有很多影片,我主要都是參考"零度解說" 

https://www.youtube.com/@lingdujieshuo/videos

本來我都是使用ollama或者lm studio,雖然安裝設定都很方便直觀,但是總覺得模型很笨,答非所問,後來才知道是模型不夠力,然後自己筆電的規格也低,所以我決定用llama.cpp搭配適合的模型,不過,還是要懂一些參數的設定跟選擇模型,所以我留下筆記避免忘記

這是llama.cpp的主網站

https://github.com/ggml-org/llama.cpp

常用的參數有

-ngl :將模型的層數卸載到 GPU。       -ngl 999  就是指全部放進去

-c  :上下文長度。每個模型不一樣,        -c 128000

-n   :單次對話最大生成長度 (Token 數)。    -n -1        就沒有限制

-t   :運算時使用的 CPU 執行緒數。        設定實體核心數就好

想要知道全部的參數, 就執行    llama-server.exe --help

找個模型下載,執行底下命令就好了(這只有聊天文字功能)

llama-server.exe -m "模型.gguf" -ngl 999 -c 128000

那,模型哪裡來?

https://huggingface.co/HauhauCS/Qwen3.6-35B-A3B-Uncensored-HauhauCS-Aggressive

https://huggingface.co/unsloth/Qwen3.6-35B-A3B-GGUF/tree/main

https://huggingface.co/unsloth/gemma-4-12b-it-GGUF/tree/main

https://huggingface.co/unsloth/Qwen2.5-VL-7B-Instruct-GGUF/tree/main

如果還想文字以外的功能,就要再加個多模態

llama-server.exe -m "模型.gguf" --mmproj "多模態.gguf" -ngl 999 -c 131072 -n 8192

但是,我發現TUF Dash F15的規格太低,一開始很多模型都跑不起來,還要找出適合的模型才行,麻煩的是我不懂什麼是gguf不知道怎麼選,就跑去問了GEMINI,發現很多專有名詞

先講結論(記得要把解壓縮後的DLL檔放在一起),
gemma-4-12b-it-UD-IQ2_M.gguf 每秒20個Token

Q4 / Q5 / Q3 (Quantization Bits): 代表量化位元數。數字越大(如 Q5),模型越聰明、體積越大;數字越小(如 Q2),模型越笨、體積越小。

K_M / K_S / K_L: 代表 K-quant 量化策略。
_S (Small):體積最小,犧牲多一點點精確度。
_M (Medium):中等體積,通常是該 Bit 下最推薦的規格。
_L (Large):體積稍大,保留更多細節。

UD (Unsloth Dynamic): 這是 Unsloth 團隊特製的動態量化技術。他們在量化時,會對模型中「比較重要的層」保留高精度,「不重要的層」進行大力壓縮。因此,帶有 UD 字樣的模型,在相同檔案體積下,通常會比傳統的 Q 版本還要聰明。

IQ (Importance Quantization): 重要性量化。專門為超低位元(2~3 bit)研發的技術,能讓極小體積的模型盡可能多保留一點智商。


FP32Float 32 (單精度浮點數),早期訓練用的格式,精準度極高,但檔案大到爆炸,現在極少直接拿來執行。
FP16Float 16 (半精度浮點數),前幾年最主流的格式。體積小了一半,運作速度快很多,但有時遇到極大或極小的數字會「溢出(計算崩潰)」。
BF16Bfloat16 (大腦浮點數),目前現代大模型的標配(如 Qwen2.5、Llama 3)。 由 Google 開發,它犧牲了一點點小數點後的精確度,但容納數字極限範圍跟 FP32 一樣大。這讓模型在訓練和執行時非常穩定,不會輕易崩潰。



最後,來講講為什麼要選GGUF

.gguf: 專門為「消費級電腦(普通顯卡、甚至沒顯卡)」設計的格式。

優點: 支援 CPU + GPU 混合調度。如果你的顯存(VRAM)不夠大,它可以把裝不下的部分偷偷塞進你的系統記憶體(RAM)和 CPU 裡繼續跑,雖然會變慢,但「絕對不會閃退崩潰」。這也是為什麼地端新手最推 GGUF。

.safetensors:目前最安全的原始模型權重格式(不含可執行代碼,不用怕下載到木馬程式)。

優點: 載入速度極快。但它要求顯存必須 100% 完全裝得下模型,只要差 0.1GB 裝不下,電腦就會直接報錯(OOM)並拒絕執行。通常用於 VLLM、Hugging Face Transformers 等專業部署。


底下是心得,

-ngl    不是指模型的容量大小,而是模型的層數,要放幾層到顯卡記憶體裡面,但是,                           不能全部放進去的話,就會在系統記憶體切換,因為我不懂有幾層,就乾脆,                              只要模型比顯卡記憶體小,我就設定 -ngl 999,強制全部放進去

-c     上下文長度,這個也會吃顯卡記憶體,但設定太少,就講不了什麼事

因為gemma-4-12b-it-UD-IQ2_M.gguf的容量只有4G,所以我執行的指令是

llama-server.exe -m "models\gemma-4-12b-it-UD-IQ2_M.gguf" -ngl 999 -c 128000

雖然能跑出每秒20個Token,但理解能力有問題,換成

llama-server.exe -m "models\gemma-4-12b-it-UD-Q4_K_XL.gguf" -ngl 999 -c 128000

就只有每秒7個Token,慢到不想用

model = "Qwen3.6-27B-UD-Q5_K_XL.gguf"
model_reasoning_effort = "low"
profile = "llamacpp-codex"

model_provider = "llamacpp"

[profiles.llamacpp-codex]
model = "Qwen3.6-27B-UD-Q5_K_XL.gguf"
model_provider = "llamacpp"
model_reasoning_effort = "low"

[profiles.llamacpp-codex.windows]
sandbox = "elevated"

[model_providers.llamacpp]
name = "llama.cpp"
base_url = "http://127.0.0.1:8080/v1/"
wire_api = "responses"

[windows]
sandbox = "elevated"

最後,談一下怎麼連接CODEX,就是設定~\.codex底下的config.toml檔案

底下是當時的設定,記得要修改成當下使用的模型名稱

model = "gemma-4-12b-it-UD-IQ2_M.gguf"     # 預設呼叫的模型檔名
model_provider = "llamacpp"                             # 預設使用的後端
model_reasoning_effort = "low"                        # 降低推理能耗,換取極致生成速度
[model_providers.llamacpp]
name = "llama.cpp"
base_url = "http://127.0.0.1:8080/v1"                # 連接你本地的 llama-server
wire_api = "responses"                                       # 新版 Codex 專用協議
requires_openai_auth = false                             # 核心:直接跳過官方登入驗證,免去 API Key
[windows]
sandbox = "elevated"


model = "Qwen3.6-27B-UD-Q5_K_XL.gguf"
model_reasoning_effort = "low"
profile = "llamacpp-codex"

model_provider = "llamacpp"

[profiles.llamacpp-codex]
model = "Qwen3.6-27B-UD-Q5_K_XL.gguf"
model_provider = "llamacpp"
model_reasoning_effort = "low"

[profiles.llamacpp-codex.windows]
sandbox = "elevated"

[model_providers.llamacpp]
name = "llama.cpp"
base_url = "http://127.0.0.1:8080/v1/"
wire_api = "responses"

[windows]
sandbox = "elevated"


沒有留言:

張貼留言

門外漢用TUF Dash F15跟llama.cpp架設本地端AI

網路上有很多影片,我主要都是參考"零度解說"  https://www.youtube.com/@lingdujieshuo/videos 本來我都是使用ollama或者lm studio,雖然安裝設定都很方便直觀,但是總覺得模型很笨,答非所問,後來才知道是模...