<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>模型轉換 on KnightLi的博客</title>
        <link>https://www.knightli.com/zh-tw/tags/%E6%A8%A1%E5%9E%8B%E8%BD%89%E6%8F%9B/</link>
        <description>Recent content in 模型轉換 on KnightLi的博客</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-tw</language>
        <lastBuildDate>Sun, 12 Apr 2026 09:42:36 +0800</lastBuildDate><atom:link href="https://www.knightli.com/zh-tw/tags/%E6%A8%A1%E5%9E%8B%E8%BD%89%E6%8F%9B/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>llama-quantize 怎麼用：GGUF 模型量化入門</title>
        <link>https://www.knightli.com/zh-tw/2026/04/12/llama-quantize-gguf-guide/</link>
        <pubDate>Sun, 12 Apr 2026 09:42:36 +0800</pubDate>
        
        <guid>https://www.knightli.com/zh-tw/2026/04/12/llama-quantize-gguf-guide/</guid>
        <description>&lt;p&gt;&lt;code&gt;llama-quantize&lt;/code&gt; 是 &lt;code&gt;llama.cpp&lt;/code&gt; 裡的量化工具，用來把高精度的 &lt;code&gt;GGUF&lt;/code&gt; 模型轉成更小的量化版本。&lt;/p&gt;
&lt;p&gt;它最常見的用途，是把像 &lt;code&gt;F32&lt;/code&gt;、&lt;code&gt;BF16&lt;/code&gt; 或 &lt;code&gt;FP16&lt;/code&gt; 這樣的高精度模型，轉成 &lt;code&gt;Q4_K_M&lt;/code&gt;、&lt;code&gt;Q5_K_M&lt;/code&gt;、&lt;code&gt;Q8_0&lt;/code&gt; 等更適合本機執行的格式。量化後模型體積會明顯縮小，推理通常也會更快，但精度會有一定損失。&lt;/p&gt;
&lt;h2 id=&#34;基本用法&#34;&gt;基本用法
&lt;/h2&gt;&lt;p&gt;一個典型流程通常是先準備原始模型，再轉成 GGUF，最後執行量化。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# install Python dependencies&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;python3 -m pip install -r requirements.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# convert the model to ggml FP16 format&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;python3 convert_hf_to_gguf.py ./models/mymodel/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# quantize the model to 4-bits (using Q4_K_M method)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./llama-quantize ./models/mymodel/ggml-model-f16.gguf ./models/mymodel/ggml-model-Q4_K_M.gguf Q4_K_M
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;量化完成後，就可以直接用 &lt;code&gt;llama-cli&lt;/code&gt; 載入新的 GGUF 檔案：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# start inference on a gguf model&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./llama-cli -m ./models/mymodel/ggml-model-Q4_K_M.gguf -cnv -p &lt;span class=&#34;s2&#34;&gt;&amp;#34;You are a helpful assistant&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;常見參數&#34;&gt;常見參數
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;--allow-requantize&lt;/code&gt;：允許對已經量化過的模型再次量化，但通常不建議，品質可能下降得更明顯&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--leave-output-tensor&lt;/code&gt;：保留輸出層不量化，體積會更大，但有時能換來更好的品質&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--pure&lt;/code&gt;：關閉混合量化，讓更多張量使用同一量化類型&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--imatrix&lt;/code&gt;：使用重要性矩陣優化量化效果，通常值得優先考慮&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--keep-split&lt;/code&gt;：保留輸入模型的分片結構，而不是合併成單一檔案&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果只是想先跑起來，最實用的起點通常還是：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./llama-quantize ./models/mymodel/ggml-model-f16.gguf ./models/mymodel/ggml-model-Q4_K_M.gguf Q4_K_M
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;量化怎麼選&#34;&gt;量化怎麼選
&lt;/h2&gt;&lt;p&gt;可以先把不同量化等級理解成「體積、速度和品質之間的交換」：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Q8_0&lt;/code&gt;：體積較大，但品質通常更穩&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Q6_K&lt;/code&gt; / &lt;code&gt;Q5_K_M&lt;/code&gt;：常見的平衡型選擇&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Q4_K_M&lt;/code&gt;：很常見的預設檔，體積和效果通常比較均衡&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Q3&lt;/code&gt; / &lt;code&gt;Q2&lt;/code&gt;：適合資源非常緊張的場景，但品質下降會更明顯&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;從示例資料來看，量化等級越低，模型通常越小；而在實際推理裡，更高精度也不一定總是更快，所以選型重點通常不是「越大越好」，而是「在你的硬體上夠穩、夠省、效果也能接受」。&lt;/p&gt;
&lt;h2 id=&#34;實用建議&#34;&gt;實用建議
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;優先從 &lt;code&gt;Q4_K_M&lt;/code&gt; 或 &lt;code&gt;Q5_K_M&lt;/code&gt; 開始試&lt;/li&gt;
&lt;li&gt;如果更看重品質，再往 &lt;code&gt;Q6_K&lt;/code&gt; 或 &lt;code&gt;Q8_0&lt;/code&gt; 提升&lt;/li&gt;
&lt;li&gt;如果機器資源比較緊，再嘗試 &lt;code&gt;Q3&lt;/code&gt; 或 &lt;code&gt;Q2&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;最好始終用同一批測試問題比較不同量化版本&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;一句話總結：&lt;code&gt;llama-quantize&lt;/code&gt; 的核心價值，不是單純把模型變小，而是讓 GGUF 模型在本地設備上更容易跑起來。&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
