[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-fine-tuning-methods-sft-lora-dpo-rlhf-grpo-zh":3,"article-related-fine-tuning-methods-sft-lora-dpo-rlhf-grpo-zh":31,"series-ai-agent-5bff363a-295a-47d3-911b-411f5f45e2bb":70},{"id":4,"slug":5,"title":6,"content":7,"summary":8,"source":9,"source_url":10,"author":11,"image_url":12,"cover_image":12,"category":13,"language":14,"translated_content":11,"related_article_id":15,"keywords":16,"key_takeaways":23,"views":27,"created_at":28,"published_at":29,"topic_cluster_id":30},"5bff363a-295a-47d3-911b-411f5f45e2bb","fine-tuning-methods-sft-lora-dpo-rlhf-grpo-zh","SFT、LoRA、DPO、RLHF、GRPO 選型指南","\u003Cp data-speakable=\"summary\">這篇教你依資料型態、硬體與目標，選出合適的 \u003Ca href=\"\u002Ftag\u002Fllm\">LLM\u003C\u002Fa> 微調方法。\u003C\u002Fp>\u003Cp>這篇給 ML 工程師、應用 AI 開發者與技術主管看，目的是把基礎模型改造成符合產品資料、語氣或推理目標的版本。照做完，你會得到一條可執行的選型路徑，知道 SFT、LoRA、QLoRA、DPO、RLHF、GRPO 與全量微調各自\u003Ca href=\"\u002Fnews\u002F2026-llm-paper-lists-better-than-feeds-zh\">適合\u003C\u002Fa>什麼資料與算力。\u003C\u002Fp>\u003Cp>你也會拿到一個簡單判斷法：先看你手上的標註，再對應訓練目標，最後挑能達到品質門檻、但成本最低的方法。\u003C\u002Fp>\u003Ch2>開始之前\u003C\u002Fh2>\u003Cul>\u003Cli>Hugging Face 帳號，並可存取 \u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fdocs\u002Ftransformers\u002Findex\" target=\"_blank\" rel=\"noopener noreferrer\">Transformers 文件\u003C\u002Fa>與 \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Fpeft\" target=\"_blank\" rel=\"noopener noreferrer\">PEFT GitHub repo\u003C\u002Fa>。\u003C\u002Fli>\u003Cli>Python 3.10+\u003C\u002Fli>\u003Cli>PyTorch 2.2+\u003C\u002Fli>\u003Cli>可用 CUDA 的 GPU，QLoRA 至少 16 GB VRAM，LoRA 或 SFT 較順手則建議 24 GB 以上。\u003C\u002Fli>\u003Cli>至少一份可用資料集，格式可以是 input-output pairs、preference triples，或可規則評分的 completions。\u003C\u002Fli>\u003Cli>可選但實用：Weights & Biases 帳號，用來記錄訓練曲線。\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>Step 1: 分類你的訓練資料\u003C\u002Fh2>\u003Cp>第一步是先看你手上的標註長什麼樣，因為資料格式會直接決定方法。每個 prompt 如果只有一個正解，就走 supervised fine-tuning。若你有被選中與被拒絕的回答，就屬於 preference training。若你能用規則自動打分，就可以走 reinforcement-style optimization。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781262197359-7rgb.png\" alt=\"SFT、LoRA、DPO、RLHF、GRPO 選型指南\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>在寫任何訓練程式前，先把資料整理成以下三類之一。\u003C\u002Fp>\u003Cpre>\u003Ccode>input-output pairs         -&gt; SFT \u002F LoRA \u002F QLoRA\n(prompt, chosen, rejected) -&gt; DPO \u002F RLHF\nprompt + scoring rule      -&gt; GRPO-style RL\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>你應該看到每一列資料都能被一句話標記。若你無法用一句話說清楚 row type，代表資料還沒整理好。\u003C\u002Fp>\u003Ch2>Step 2: 用 SFT 訓練標準輸出\u003C\u002Fh2>\u003Cp>當你想讓模型模仿已知好答案時，就用 supervised fine-tuning。這是產品團隊最常用的起點，特別適合穩定語氣、格式、\u003Ca href=\"\u002Fnews\u002Ftaxonomy-rwa-tokenization-blockchain-infrastructure-zh\">分類\u003C\u002Fa>標籤與領域措辭。Instruction tuning 是常見變體，資料看起來像短對話，一邊是 user，一邊是 assistant。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781262184611-uubr.png\" alt=\"SFT、LoRA、DPO、RLHF、GRPO 選型指南\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>SFT 的做法是直接用標註好的 prompt-answer pairs 更新模型，讓它在新提示上產生相似回答。若你想降低算力，通常會把 SFT 和 parameter-efficient fine-tuning 一起用，只訓練 adapter，不動整個 base model。\u003C\u002Fp>\u003Cp>你應該看到 training loss 下降，而且抽樣輸出開始更接近目標風格。快速驗收的方法，是拿 validation set 的例子去問模型，確認回答的結構與語氣一致。\u003C\u002Fp>\u003Ch2>Step 3: 用 LoRA 或 QLoRA 加上 adapter\u003C\u002Fh2>\u003Cp>當你不想更新每一個權重時，就選 LoRA。它會凍結 base model，只訓練小型低秩矩陣，去調整各層行為。當 base model 放不進 \u003Ca href=\"\u002Ftag\u002Fgpu\">GPU\u003C\u002Fa> 記憶體時，就選 QLoRA，因為它會把凍結權重壓成 4-bit，再保留可訓練的 adapter 用較高精度更新。\u003C\u002Fp>\u003Cp>可以先用這個判斷：如果你有足夠 VRAM 跑 reduced precision 的 base model，就先考慮 LoRA；如果你需要在較小 GPU 上跑較大的模型，就用 QLoRA。對 7B 模型來說，單張 16 GB 卡常常是 QLoRA 的實用路線。\u003C\u002Fp>\u003Cp>你應該看到訓練時只有 adapter weights 在變，而 base checkpoint 保持不動。若你檢查輸出檔案，應該會看到小型 adapter 檔，而不是整包模型被重寫。\u003C\u002Fp>\u003Ch2>Step 4: 用 DPO 或 RLHF 優化偏好\u003C\u002Fh2>\u003Cp>當答案沒有唯一正解，但你能判斷哪個比較好時，就用 preference training。若你\u003Ca href=\"\u002Fnews\u002Frwa-tokenization-assets-on-chain-zh\">已經\u003C\u002Fa>有 prompt、chosen、rejected 三元組，DPO 是較輕量的選項。它是單一離線訓練流程，不需要另外訓練 reward model。\u003C\u002Fp>\u003Cp>若你需要完整 alignment pipeline，而且預算也夠，RLHF 會更合適。RLHF 先用人類偏好訓練 reward model，再用 \u003Ca href=\"\u002Ftag\u002Freinforcement-learning\">reinforcement learning\u003C\u002Fa> 把 policy 往偏好的輸出推進。它成本較高，但當人類判斷很重要時，是很標準的做法。\u003C\u002Fp>\u003Cp>你應該看到模型在 held-out prompts 上更常偏好 chosen response。快速驗收的方法，是比較成對輸出，確認訓練後的偏好風格更一致。\u003C\u002Fp>\u003Ch2>Step 5: 用 GRPO 跑規則評分推理\u003C\u002Fh2>\u003Cp>當你能用規則直接替輸出打分時，就選 GRPO。這很適合數學、程式碼與精確比對任務，因為 reward 可以來自 verifier、測試套件，或正式的 scoring function。模型會一次取樣多個答案，先評分，再學習偏向高分完成。\u003C\u002Fp>\u003Cp>GRPO 的價值在於，它用可驗證的正確性取代人類偏好標註。DeepSeek-R1 就是常被提到的代表案例。\u003C\u002Fp>\u003Cp>你應該看到模型在客觀任務上的表現變好，例如測試通過率上升或最終答案更正確。若你的 scoring rule 很吵或很模糊，GRPO 會比較難穩定。\u003C\u002Fp>\u003Ch2>Step 6: 只在需要全控制時做全量微調\u003C\u002Fh2>\u003Cp>當你真的需要每個參數都能移動時，才用 full fine-tuning。它彈性最大，但也最吃 VRAM、最耗時，還需要更強的訓練、版本管理與部署能力。通常它比較像是做領域基礎模型的團隊會走的路，而不是只想客製單一助理的產品團隊。\u003C\u002Fp>\u003Cp>如果 adapter 不足以改變模型表徵，或你必須擁有完整 checkpoint 生命週期，全量微調才是正解。對多數應用來說，它是最後一站，不是第一站。\u003C\u002Fp>\u003Cp>你應該看到模型行為變化最大，但同時也會看到算力與維運複雜度一起上升。若團隊無法穩定管理完整 checkpoint，就退回 LoRA 或 QLoRA。\u003C\u002Fp>\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>指標\u003C\u002Fth>\u003Cth>基準／優化前\u003C\u002Fth>\u003Cth>結果／優化後\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>7B base model 記憶體\u003C\u002Ftd>\u003Ctd>約 14 GB bf16\u003C\u002Ftd>\u003Ctd>QLoRA 約 4 GB 4-bit NF4\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>VRAM 需求\u003C\u002Ftd>\u003Ctd>較容易的 full-base runs 需要 24 GB+\u003C\u002Ftd>\u003Ctd>16 GB 硬體可足夠跑 QLoRA\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>可訓練參數量\u003C\u002Ftd>\u003Ctd>全量微調為數十億參數\u003C\u002Ftd>\u003Ctd>LoRA adapter 在 7B 模型上通常只有數千萬參數\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003Ch2>常見錯誤\u003C\u002Fh2>\u003Cul>\u003Cli>把偏好資料拿去做 SFT。修法：若資料列是 prompt、chosen、rejected，就改用 DPO 或 RLHF。\u003C\u002Fli>\u003Cli>一開始就做全量微調。修法：除非你真的需要每個權重都動，否則先用 LoRA 或 QLoRA。\u003C\u002Fli>\u003Cli>沒有穩定的評分規則就用 GRPO。修法：只在 reward 可以被客觀驗證時使用，例如測試通過或 exact match。\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>接下來可以看什麼\u003C\u002Fh2>\u003Cp>選定方法後，下一步是設計資料集、切分 train 與 validation，並定義和目標一致的評估指標。接著你可以在同一任務上比較 adapter-based training、preference optimization 與 full checkpoint training，找出品質與成本最划算的組合。\u003C\u002Fp>","一篇實作指南，幫你依資料型態、硬體與目標，選出合適的 LLM 微調方法。","aiweekender.substack.com","https:\u002F\u002Faiweekender.substack.com\u002Fp\u002Fglossary-of-fine-tuning-methods-explained",null,"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781262197359-7rgb.png","ai-agent","zh","9abeb68f-5750-43b5-baff-d454f58068f0",[17,18,19,20,21,22],"SFT","LoRA","QLoRA","DPO","RLHF","GRPO",[24,25,26],"先看資料型態，再決定微調方法，不要反過來選工具。","LoRA 與 QLoRA 是多數團隊最先該測的低成本路線。","只有在可驗證 reward 存在時，GRPO 才會穩定發揮。",5,"2026-06-12T11:02:33.190744+00:00","2026-06-12T11:02:33.175+00:00","e3b68196-9e64-4c18-a3b6-a73e73bfb367",{"tags":32,"relatedLang":11,"relatedPosts":33},[],[34,40,46,52,58,64],{"id":35,"slug":36,"title":37,"cover_image":38,"image_url":38,"created_at":39,"category":13},"9fc5b17b-77e0-442f-b40d-6c5d0c74a980","glm-5-vibe-coding-agentic-engineering-zh","GLM-5 把 vibe coding 變工程","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781853513619-0z11.png","2026-06-19T07:18:09.421228+00:00",{"id":41,"slug":42,"title":43,"cover_image":44,"image_url":44,"created_at":45,"category":13},"61971c57-482e-4e7f-a79b-c3b304239065","kimi-k2-6-turns-agents-into-a-swarm-zh","Kimi K2.6 把 agent 變成群體","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781824691370-pud4.png","2026-06-18T23:17:47.818057+00:00",{"id":47,"slug":48,"title":49,"cover_image":50,"image_url":50,"created_at":51,"category":13},"4a0bdcd2-abcf-48a6-8cbb-38b6df8edf2d","lightrag-simple-defaults-beat-rag-complexity-zh","LightRAG 證明圖譜 RAG 需要更簡單的預設，而不是更複雜","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781812063993-vynr.png","2026-06-18T19:47:20.378166+00:00",{"id":53,"slug":54,"title":55,"cover_image":56,"image_url":56,"created_at":57,"category":13},"b8b8e12b-0e01-4204-bc59-eddef030606d","build-code-aware-rag-pipeline-langchain-zh","建立具程式感知的 RAG 管線","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781811179856-7o5s.png","2026-06-18T19:32:32.253731+00:00",{"id":59,"slug":60,"title":61,"cover_image":62,"image_url":62,"created_at":63,"category":13},"d27aa04b-7cd2-4a94-a7fd-1c1ce6874728","ebay-mcp-ai-assistants-ebay-sell-apis-zh","ebay-mcp 讓 AI 直接操控 eBay Sell API","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781809379605-oslg.png","2026-06-18T19:02:33.226473+00:00",{"id":65,"slug":66,"title":67,"cover_image":68,"image_url":68,"created_at":69,"category":13},"becd8e42-53b8-4250-8989-d3c8f60ea909","github-last30days-skill-ai-research-model-zh","GitHub 的 last30days skill 才是 AI 研究的正確模型","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781752672625-a8f4.png","2026-06-18T03:17:22.68358+00:00",[71,76,81,86,91,96,101,106,111,116],{"id":72,"slug":73,"title":74,"created_at":75},"4ae1e197-1d3d-4233-8733-eafe9cb6438b","claude-now-uses-your-pc-to-finish-tasks-zh","Claude 開始幫你操作電腦","2026-03-26T07:20:48.457387+00:00",{"id":77,"slug":78,"title":79,"created_at":80},"5bede67f-e21c-413d-9ab8-54a3c3d26227","googles-2026-ai-agent-report-decoded-zh","Google 2026 AI Agent 報告解讀","2026-03-26T11:15:22.651956+00:00",{"id":82,"slug":83,"title":84,"created_at":85},"2987d097-563f-46c7-b76f-b558d8ef7c2b","kimi-k25-review-stronger-still-not-legend-zh","Kimi K2.5 評測：更強，但還不是神作","2026-03-27T07:15:55.277513+00:00",{"id":87,"slug":88,"title":89,"created_at":90},"95c9053b-e3f4-4cb5-aace-5c54f4c9e044","claude-code-controls-mac-desktop-zh","Claude Code 也能操控 Mac 了","2026-03-28T03:01:58.58121+00:00",{"id":92,"slug":93,"title":94,"created_at":95},"dc58e153-e3a8-4c06-9b96-1aa64eabbf5f","cloudflare-100x-faster-ai-agent-sandbox-zh","Cloudflare 的 AI 沙箱跑超快","2026-03-28T03:09:44.142236+00:00",{"id":97,"slug":98,"title":99,"created_at":100},"1c8afc56-253f-47a2-979f-1065ff072f2a","openai-backs-isara-agent-swarm-bet-zh","OpenAI 挺 Isara 的 agent swarm …","2026-03-28T03:15:27.513155+00:00",{"id":102,"slug":103,"title":104,"created_at":105},"7379b422-576e-45df-ad5a-d57a0d9dd467","openai-plan-automated-ai-researcher-zh","OpenAI 想做自動化 AI 研究員","2026-03-28T03:17:42.090548+00:00",{"id":107,"slug":108,"title":109,"created_at":110},"48c9889e-86df-450b-a356-e4a4b7c83c5b","harness-engineering-ai-agent-reliability-2026-zh","駕馭工程：從「馬具」到「作業系統」，AI Agent 可靠性的終極密碼","2026-03-31T06:42:53.556721+00:00",{"id":112,"slug":113,"title":114,"created_at":115},"96d8e8c8-1edd-475d-9145-b1e7a1b02b65","mcp-explained-from-prompts-to-production-zh","MCP 怎麼把提示詞變工作流","2026-04-01T09:24:39.321274+00:00",{"id":117,"slug":118,"title":119,"created_at":120},"f2ca7720-b471-4ce5-9336-2a9ac2a876fd","amazon-bedrock-agents-multi-agent-workflows-zh","Amazon Bedrock Agents 進入多代理工作流","2026-04-01T09:30:29.945429+00:00"]