[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-fine-tune-small-llm-legal-labeling-zh":3,"article-related-fine-tune-small-llm-legal-labeling-zh":30,"series-ai-agent-10d812f4-bf80-40c4-9572-3f2346b1234d":75},{"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":11},"10d812f4-bf80-40c4-9572-3f2346b1234d","fine-tune-small-llm-legal-labeling-zh","法律標註微調小型 LLM 產出","\u003Cp data-speakable=\"summary\">81.7% 代表 3B SmolLM3 能在單一法律標註任務上勝過部分大型模型。\u003C\u002Fp>\u003Cp>這篇給要把通用\u003Ca href=\"\u002Ftag\u002F開源模型\">開源模型\u003C\u002Fa>\u003Ca href=\"\u002Fnews\u002Fkitesurf-turns-workers-into-agent-browser-zh\">變成\u003C\u002Fa>法律標註專用模型的開發者。照做完，你會拿到一個可用的 LoRA 微調模型、可重跑的評估腳本，以及一套把難例交給大模型的分流規則。\u003C\u002Fp>\u003Ch2>開始之前\u003C\u002Fh2>\u003Cul>\u003Cli>Hugging Face 帳號與 access token。\u003C\u002Fli>\u003Cli>Python 3.10+、pip 23+。\u003C\u002Fli>\u003Cli>PyTorch 2.2+，CUDA 12.1 或更新版本。\u003C\u002Fli>\u003Cli>Transformers 4.40+、Datasets 2.19+、PEFT 0.11+、Accelerate 0.30+。\u003C\u002Fli>\u003Cli>一台有 NVIDIA GPU 的主機，或可用的雲端 GPU 環境。\u003C\u002Fli>\u003Cli>一份已標註的法律合約資料，格式可為 CSV 或 JSONL。\u003C\u002Fli>\u003Cli>足夠磁碟空間可放 base model、adapter 權重與測試集。\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>Step 1: 定義單一法律標註任務\u003C\u002Fh2>\u003Cp>先把問題縮到小模型能學的範圍，避免一開始就碰廣泛推理。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1786150968538-nycr.png\" alt=\"法律標註微調小型 LLM 產出\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>選一個重複決策，例如合約條款標記、法務工單分流，或法律議題分類。把標籤數量控制在小而穩定的集合，並寫出輸入與輸出的明確定義。\u003C\u002Fp>\u003Cp>例如，輸入是合約段落，輸出只能是固定標籤之一。若人工標註者對同一筆資料常常不一致，模型也很難學出乾淨規則。\u003C\u002Fp>\u003Cp>你應該得到一份「任務\u003Ca href=\"\u002Fnews\u002F2027-tesla-model-y-l-exterior-photos-specs-zh\">規格\u003C\u002Fa>書」，內容包含標籤清單、例子輸入，以及一個簡短驗收條件，例如「在保留測試集上對齊人工標籤」。\u003C\u002Fp>\u003Ch2>Step 2: 整理可訓練資料集\u003C\u002Fh2>\u003Cp>把資料整理成訓練時可直接讀取的格式，減少跑訓練時的額外清理。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1786150964938-0whw.png\" alt=\"法律標註微調小型 LLM 產出\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>先切分 train、validation、test 三份，去除重複樣本，統一標籤名稱，再把每筆資料轉成 prompt-response 配對。若採 JSONL，建議一行一筆，方便串流進訓練流程。\u003C\u002Fp>\u003Cpre>\u003Ccode>{\"prompt\":\"Classify this clause: ...\",\"response\":\"termination\"}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>確認 validation 與 test 裡沒有訓練集看過的合約。你應該看到每個 split 的筆數統計，並且三份資料彼此沒有重疊。\u003C\u002Fp>\u003Ch2>Step 3: 下載基底模型並掛上 LoRA\u003C\u002Fh2>\u003Cp>這一步的產出是可訓練的基底模型設定，讓你只微調少量參數。\u003C\u002Fp>\u003Cp>從小型開源模型開始，例如 SmolLM3，然後加上 LoRA adapter，只訓練低秩層。這樣能把成本壓在單張 \u003Ca href=\"\u002Ftag\u002Fgpu\">GPU\u003C\u002Fa> 可接受的範圍，也方便你反覆調整資料。\u003C\u002Fp>\u003Cp>先登入 Hugging Face，再載入模型與 tokenizer，接著凍結 base model 的權重，只保留 adapter 可更新。訓練完只存 adapter 與 tokenizer，方便後續重用。\u003C\u002Fp>\u003Cp>你應該看到模型成功載入、LoRA 層被插入，且輸出資料夾裡出現 adapter 權重檔。\u003C\u002Fp>\u003Ch2>Step 4: 啟動微調訓練\u003C\u002Fh2>\u003Cp>這一步的產出是一次完成的微調 run，以及可供比較的訓練紀錄。\u003C\u002Fp>\u003Cp>用你熟悉的訓練框架啟動 fine-tuning，設定 batch size、learning rate、epoch 與 checkpoint 儲存策略。法律標註任務通常不需要很長訓練，\u003Ca href=\"\u002Fnews\u002Fmodel-y-l-us-launch-buyer-details-zh\">重點\u003C\u002Fa>是讓模型穩定學到標籤映射。\u003C\u002Fp>\u003Cp>訓練時盡量保留驗證集評估，觀察 loss 是否下降、是否過擬合。你應該看到訓練日誌、最佳 checkpoint，還有一份 adapter checkpoint 資料夾。\u003C\u002Fp>\u003Ch2>Step 5: 跑保留測試與基準比較\u003C\u002Fh2>\u003Cp>這一步的產出是可直接對外說明的 scorecard，證明模型是否真的有用。\u003C\u002Fp>\u003Cp>把保留測試集送進微調後模型，再用同一份測試集跑一到兩個大型基準模型，然後比較 exact-match accuracy 或 macro F1。原始案例中，3B SmolLM3 在 74 分鐘後達到 81.7%，高於 GPT-5.5 的 76.7% 與 \u003Ca href=\"\u002Ftag\u002Fclaude\">Claude\u003C\u002Fa> Sonnet 4.6 的 77%。\u003C\u002Fp>\u003Cp>同時記錄品質與成本。小模型可能只在單一工作流上勝出，但那已足以支撐實務部署。你應該看到一份包含預測、分數與成本註記的比較表。\u003C\u002Fp>\u003Ch2>Step 6: 設定難例分流與監控\u003C\u002Fh2>\u003Cp>這一步的產出是可上線的 routing 規則，以及持續監控的清單。\u003C\u002Fp>\u003Cp>先設一個信心門檻或簡單 fallback 規則。當小模型不確定時，把請求送到大型模型，並記錄兩邊結果。這樣常見案件走低延遲路徑，模糊案件則有保護網。\u003C\u002Fp>\u003Cp>一開始保持 router 簡單即可，可用分數差、label entropy，或用歷史失敗樣本訓練一個二分類器。你應該看到大部分流量留在小模型，只有少數例外被升級處理。\u003C\u002Fp>\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>指標\u003C\u002Fth>\u003Cth>基準／優化前\u003C\u002Fth>\u003Cth>結果／優化後\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>法律標註準確率\u003C\u002Ftd>\u003Ctd>GPT-5.5：76.7%\u003C\u002Ftd>\u003Ctd>SmolLM3 微調：81.7%\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>法律標註準確率\u003C\u002Ftd>\u003Ctd>Claude Sonnet 4.6：77%\u003C\u002Ftd>\u003Ctd>SmolLM3 微調：81.7%\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>訓練時間\u003C\u002Ftd>\u003Ctd>未提供\u003C\u002Ftd>\u003Ctd>74 分鐘\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003Ch2>常見錯誤\u003C\u002Fh2>\u003Cul>\u003Cli>標籤定義太寬。修法：只保留一個重複決策，先寫任務規格再訓練。\u003C\u002Fli>\u003Cli>資料有重複或雜訊。修法：先去重、統一標籤名稱，並保留乾淨測試集。\u003C\u002Fli>\u003Cli>沒有 fallback。修法：把低信心請求送去大型模型，並完整記錄升級原因。\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>接下來可以看什麼\u003C\u002Fh2>\u003Cp>下一步可以接 retrieval 讀取最新法規，或做量化與蒸餾，讓這個法律標註專家能在更小的硬體上部署。\u003C\u002Fp>","把 3B SmolLM3 微調成法律標註專家，並建立可重跑的評估與分流流程。","newsletter.systemdesign.one","https:\u002F\u002Fnewsletter.systemdesign.one\u002Fp\u002Ffine-tuning-small-language-models",null,"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1786150968538-nycr.png","ai-agent","zh","445ecce7-ea09-49f7-a7f4-88391eb1bbf3",[17,18,19,20,21,22],"SmolLM3","LoRA","Hugging Face","Transformers","法律標註","PEFT",[24,25,26],"先把法律任務縮到單一、穩定的標註決策。","用 LoRA 只微調少量參數，保留 base model 方便比較。","用保留測試集與分流規則，讓小模型可部署且可監控。",1,"2026-08-08T01:02:26.754363+00:00","2026-08-08T01:02:26.74+00:00",{"tags":31,"relatedLang":34,"relatedPosts":38},[32],{"name":19,"slug":33},"hugging-face",{"id":15,"slug":35,"title":36,"language":37},"fine-tune-small-llm-legal-labeling-en","Fine-tune a small LLM for legal labeling","en",[39,45,51,57,63,69],{"id":40,"slug":41,"title":42,"cover_image":43,"image_url":43,"created_at":44,"category":13},"f538fedf-8816-4bfd-8c25-ef97be9f9d5d","sala-duance-ai-shangxiawen-kuozhan-zhinan-zh","SALA端侧AI上下文扩展操作指南","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785765793001-wixs.png","2026-08-03T14:02:44.433703+00:00",{"id":46,"slug":47,"title":48,"cover_image":49,"image_url":49,"created_at":50,"category":13},"ac6e41ac-c8f1-4969-ab97-8662324881db","anthropic-breach-proves-ai-agents-need-hard-security-limits-zh","Anthropic 外洩證明 AI agents 必須先有硬性安全邊界","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785742392018-5clf.png","2026-08-03T07:32:41.851393+00:00",{"id":52,"slug":53,"title":54,"cover_image":55,"image_url":55,"created_at":56,"category":13},"fa4ebd4b-b8e5-46bf-bd94-6f6e9008ab56","genai-mil-war-prompt-report-template-zh","把恐怖提示詞改成週報","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785655978571-fadx.png","2026-08-02T07:32:38.01822+00:00",{"id":58,"slug":59,"title":60,"cover_image":61,"image_url":61,"created_at":62,"category":13},"435cd05e-f667-44ce-b362-598cab19269f","epam-openai-deal-turns-pilots-into-production-zh","EPAM 讓 AI 從試點變上線","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785628985644-6uk4.png","2026-08-02T00:02:39.955798+00:00",{"id":64,"slug":65,"title":66,"cover_image":67,"image_url":67,"created_at":68,"category":13},"f94242dc-a7ae-461a-a23d-bfd7ddd2bedb","claude-code-prompt-engineering-overrated-task-design-verific-zh","Claude Code 的關鍵不是提示詞，而是任務設計與驗證","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785544369330-u3z4.png","2026-08-01T00:32:24.169562+00:00",{"id":70,"slug":71,"title":72,"cover_image":73,"image_url":73,"created_at":74,"category":13},"71979ad3-7f4f-4567-a168-5494fef7d9c2","grok-build-live-previews-rewind-fixes-zh","Grok Build 0.2.111 修掉預覽與回溯問題","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785198774644-333s.png","2026-07-28T00:32:30.888107+00:00",[76,81,86,91,96,101,106,111,116,121],{"id":77,"slug":78,"title":79,"created_at":80},"4ae1e197-1d3d-4233-8733-eafe9cb6438b","claude-now-uses-your-pc-to-finish-tasks-zh","Claude 開始幫你操作電腦","2026-03-26T07:20:48.457387+00:00",{"id":82,"slug":83,"title":84,"created_at":85},"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":87,"slug":88,"title":89,"created_at":90},"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":92,"slug":93,"title":94,"created_at":95},"95c9053b-e3f4-4cb5-aace-5c54f4c9e044","claude-code-controls-mac-desktop-zh","Claude Code 也能操控 Mac 了","2026-03-28T03:01:58.58121+00:00",{"id":97,"slug":98,"title":99,"created_at":100},"dc58e153-e3a8-4c06-9b96-1aa64eabbf5f","cloudflare-100x-faster-ai-agent-sandbox-zh","Cloudflare 的 AI 沙箱跑超快","2026-03-28T03:09:44.142236+00:00",{"id":102,"slug":103,"title":104,"created_at":105},"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":107,"slug":108,"title":109,"created_at":110},"7379b422-576e-45df-ad5a-d57a0d9dd467","openai-plan-automated-ai-researcher-zh","OpenAI 想做自動化 AI 研究員","2026-03-28T03:17:42.090548+00:00",{"id":112,"slug":113,"title":114,"created_at":115},"48c9889e-86df-450b-a356-e4a4b7c83c5b","harness-engineering-ai-agent-reliability-2026-zh","駕馭工程：從「馬具」到「作業系統」，AI Agent 可靠性的終極密碼","2026-03-31T06:42:53.556721+00:00",{"id":117,"slug":118,"title":119,"created_at":120},"96d8e8c8-1edd-475d-9145-b1e7a1b02b65","mcp-explained-from-prompts-to-production-zh","MCP 怎麼把提示詞變工作流","2026-04-01T09:24:39.321274+00:00",{"id":122,"slug":123,"title":124,"created_at":125},"f2ca7720-b471-4ce5-9336-2a9ac2a876fd","amazon-bedrock-agents-multi-agent-workflows-zh","Amazon Bedrock Agents 進入多代理工作流","2026-04-01T09:30:29.945429+00:00"]