Skip to content

模型微調與部署

前言

大模型很強,但它不懂你的業務。 GPT-4 能寫詩、能寫程式,但它不知道你公司的產品術語、不瞭解你行業的專業規範。微調(Fine-tuning)就是讓通用大模型「學會」你的專業知識的過程——就像給一個博學的通才做崗前培訓,讓它變成你的領域專家。

這篇文章會帶你學什麼?

學完這章後,你將獲得:

  • 流程認知:掌握從資料準備到模型上線的完整微調流水線
  • 資料工程:瞭解微調資料的格式要求和品質標準
  • 高效微調:理解 LoRA 等參數高效微調技術的原理和優勢
  • 模型壓縮:掌握量化技術如何讓大模型在消費級硬體上執行
  • 部署實踐:瞭解模型服務的主流架構和選型策略
章節內容核心概念
第 1 章微調流水線資料→訓練→評估→部署
第 2 章訓練資料資料格式、品質控制
第 3 章LoRA 微調低秩適配、參數高效
第 4 章模型量化FP16、INT8、INT4
第 5 章模型部署推理服務、API 閘道器

0. 全景圖:為什麼需要微調?

大語言模型的訓練分為兩個階段:預訓練微調。預訓練是在海量通用資料上學習語言能力,微調是在特定任務資料上學習專業能力。

打個比方:預訓練像是上大學——學習通識知識,什麼都懂一點;微調像是入職培訓——針對具體崗位學習專業技能。

什麼時候需要微調?

  • 特定輸出格式:需要模型始終以固定 JSON 格式輸出
  • 專業領域知識:醫療、法律、金融等領域的專業術語和規範
  • 語言風格遷移:讓模型用特定的語氣、風格回答(如客服話術)
  • 小眾語言支援:提升模型在特定語言上的表現
  • 成本最佳化:用小模型微調替代大模型呼叫,降低推理成本

1. 微調流水線:從資料到上線的完整旅程

微調不是「把資料丟給模型就完事」。它是一個嚴謹的工程流程,每個環節都會影響最終效果。

微调流水线演示

点击每个阶段,了解微调的完整流程

🧠
选择基座模型
📊
准备训练数据
⚙️
执行微调训练
📈
评估与测试
🚀
部署上线
🧠 选择基座模型

微调的第一步是选择一个合适的预训练基座模型。基座模型已经在海量数据上学习了通用的语言能力,我们要做的是在此基础上进行"专业化训练"。

1根据任务需求选择模型规模(7B、13B、70B 等)
2考虑开源许可证(Apache 2.0、Llama 许可等)
3评估模型的基础能力是否匹配目标场景
4常见选择:Llama、Qwen、Mistral、DeepSeek 等
示例
model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2-7B")
1 / 5

微調的五個階段

  1. 資料準備:收集、清洗、標註訓練資料,這是最耗時也最關鍵的環節
  2. 模型選擇:選擇合適的基座模型(Base Model),如 Llama 3、Qwen、Mistral
  3. 訓練配置:設定學習率、batch size、epoch 數等超參數
  4. 訓練執行:在 GPU 上執行訓練,監控 loss 曲線和評估指標
  5. 評估上線:在測試集上評估效果,通過後部署為 API 服務
階段關鍵動作常見陷阱
資料準備清洗、去重、格式化資料品質差導致模型「學壞」
模型選擇評估基座模型能力模型太大訓練不動,太小效果差
訓練配置調整超參數學習率過高導致災難性遺忘
訓練執行監控 loss 和指標過擬合、訓練不收斂
評估上線A/B 測試、灰度發布測試集洩漏導致評估虛高

2. 訓練資料:微調效果的天花板

在微調中有一句老話:「Garbage in, garbage out」。訓練資料的品質直接決定了微調效果的上限。100 條高品質資料的效果,往往好過 10000 條低品質資料。

训练数据格式演示

切换不同格式,了解微调数据的组织方式

指令跟随

最常见的微调数据格式。每条数据包含一个指令(instruction)、可选的输入(input)和期望的输出(output)。适合训练通用助手类模型。

通用助手ChatGPT 风格最常用
数据样例
"instruction": "请将以下中文翻译成英文"
"input": "人工智能正在改变世界"
"output": "AI is changing the world"
数据质量要点
指令要清晰明确,避免歧义
输出要完整、准确、格式规范
覆盖多种任务类型(翻译、摘要、问答等)
数据量建议:1,000 ~ 50,000 条

微調資料的三種常見格式

  1. 指令格式(Instruction):最常用的格式,包含 instruction(指令)、input(輸入)、output(期望輸出)三個欄位。適合訓練模型遵循指令。
  2. 對話格式(Chat):多輪對話形式,包含 system、user、assistant 角色的訊息列表。適合訓練聊天機器人。
  3. 補全格式(Completion):簡單的 prompt-completion 對,適合文字生成、程式碼補全等場景。

3. LoRA:用 1% 的參數實現 90% 的效果

全量微調(Full Fine-tuning)需要更新模型的所有參數——對於一個 70B 參數的模型,這意味著需要數百 GB 的視訊記憶體和大量的 GPU 算力。對大多數團隊來說,這不現實。

LoRA(Low-Rank Adaptation)提供了一個優雅的解決方案:凍結原始模型參數,只訓練一組新增的低秩矩陣。這些矩陣的參數量通常只有原模型的 0.1%~1%,但能達到接近全量微調的效果。

LoRA 低秩适配原理演示

理解 LoRA 如何用极少参数实现高效微调

原始权重 W
4096x4096
16,777,216 参数
冻结不动
+
LoRA 适配器
A
4096x8
x
B
8x4096
65,536 参数
可训练
参数节省比例
节省 99.6% 参数
秩越小 = 参数越少、训练越快秩越大 = 表达力越强、效果越好

LoRA 的核心思想

原始模型的權重矩陣 W 是一個巨大的矩陣(如 4096×4096)。LoRA 不直接修改 W,而是在旁邊加一個「旁路」:W' = W + BA,其中 B 和 A 是兩個小矩陣(如 4096×8 和 8×4096)。訓練時只更新 B 和 A,原始 W 保持不變。

  • 秩(Rank):r 值越大,表達能力越強,但參數量也越多。通常 r=8~64 就夠用
  • 合併部署:訓練完成後,可以把 BA 合併回 W,推理時零額外開銷

4. 模型量化:讓大模型「瘦身」

一個 70B 參數的模型,如果用 FP32(32 位浮點數)儲存,需要 280GB 視訊記憶體——沒有幾塊頂級 GPU 根本跑不起來。量化(Quantization)技術透過降低數值精度來壓縮模型體積,讓大模型能在消費級硬體上執行。

模型量化演示

拖动滑块,直观感受不同精度下的模型体积、速度与质量变化

FP32
32 bit
FP16
16 bit
INT8
8 bit
INT4
4 bit
💾
模型体积
~28 GB (7B 模型)
推理速度
1x (基准)
🎯
输出质量
100% (无损)
🖥️
显存需求
~32 GB
FP32 详解

FP32(32位浮点数)是模型训练时的默认精度。每个参数用 32 位存储,精度最高但体积最大。通常只在训练阶段使用,推理时很少直接使用 FP32。

单个参数存储示意
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
每个参数占用 32 位 = 4 字节
适用场景:模型训练、科研实验、精度敏感的任务

量化的核心權衡

量化本質上是精度換空間的權衡。FP32 → FP16 幾乎無損,INT8 有輕微損失,INT4 會有明顯但通常可接受的品質下降。關鍵是找到你場景下的最佳平衡點。

  • FP16(半精度):體積減半,品質幾乎無損,是訓練和推理的預設選擇
  • INT8(8 位整數):體積再減半,品質損失很小,適合大多數推理場景
  • INT4(4 位整數):體積僅為 FP32 的 1/8,品質有一定損失,適合資源受限場景

5. 模型部署:從實驗室到生產環境

模型訓練好了,量化壓縮了,最後一步是把它部署成可供呼叫的服務。模型部署不只是「把模型跑起來」,還涉及並行處理、負載均衡、成本控制等工程問題。

模型服务架构演示

点击不同部署方案,对比其特点与适用场景

🌐
API 服务
最常见的在线部署方式
📱
边缘部署
在终端设备上本地运行
📦
批量处理
离线批量推理大量数据
🌐API 服务

将模型封装为 RESTful API 或 gRPC 服务,通过 HTTP 请求调用。适合需要实时响应的在线应用,如聊天机器人、智能客服、内容生成等。是目前最主流的部署方式。

架构流程
客户端请求
负载均衡
推理服务器
GPU 推理
返回结果
响应延迟
100ms - 2s
并发能力
高(可水平扩展)
部署成本
中高(需 GPU 服务器)
运维复杂度
中等
常用工具
vLLMTGITritonFastAPIOllama

三種主流部署方案

  1. API 服務商:直接使用 OpenAI、Anthropic 等廠商的 API。零維運,按 token 付費,適合快速驗證和中小規模使用。
  2. 自託管推理服務:用 vLLM、TGI 等框架在自己的 GPU 伺服器上部署。成本可控,資料不出域,適合有隱私要求或大規模呼叫的場景。
  3. Serverless 推理:使用 AWS SageMaker、Replicate 等平台,按請求付費,自動擴縮容。適合流量波動大的場景。

總結

模型微調與部署是讓大模型從「通用工具」變成「專業助手」的關鍵環節。從資料準備到模型上線,每一步都需要工程化的思考和實踐。

回顧本章的關鍵要點:

  1. 微調是崗前培訓:讓通用模型學會特定領域的知識和行為模式
  2. 資料品質決定上限:100 條高品質資料勝過 10000 條低品質資料
  3. LoRA 是效率之王:用不到 1% 的參數實現接近全量微調的效果
  4. 量化是部署利器:INT4 量化讓 70B 模型在單卡上執行成為可能
  5. 部署方案因地制宜:快速驗證用 API,大規模用自部署,波動大用 Serverless

延伸閱讀