從事測試開發同學這兩年跳槽,會越來越頻繁遇到“大模型微調”類問題。很多人第一反應是:我平時寫 UI 自動化、搞接口壓測,怎麼突然和模型訓練扯上關係了? 現實就是,AI 已經透進測試領域:質量評估、數據生成、智能測試、甚至大模型測試本身,都需要對微調機制、預訓練邏輯、指令數據構造有基本理解。 下面整理了一份涵蓋 35 個經典微調面試問題的技術解讀幫助你在面試裏不被問懵。
1. 全參數微調到底要多少顯存?
取決於模型大小和訓練配置。簡單記一條經驗:顯存 ≈ 參數量 × 2~3 倍(訓練時會有梯度、優化器狀態等額外開銷)。 比如 70B 模型,基本不考慮本地,只能上集羣。 測試開發常問:為什麼顯存這麼誇張? 因為訓練時不是“推理那麼輕鬆”,而是要反向傳播、保存梯度、優化器狀態,天然三倍體積。
2. 為什麼很多人做完 SFT 感覺模型“變傻”?
SFT(有監督微調)容易讓模型“過度跟隨數據”,如果數據質量不均、指令風格太窄,模型會失去原有的探索能力,生成模式單一。 類似你做接口自動化時,只給腳本喂固定場景,腳本當然學不會異常情況。
3. SFT 的指令數據怎麼構建?
關鍵不在量,而在指令覆蓋度和風格一致性。 一個常見模式是: 指令:給出任務
輸入:補充信息(可空)
輸出:模型應該生成的內容 對測試開發來説,可以構建一些更貼近業務的:缺陷分析、性能瓶頸定位解釋、日誌推理等任務。
4. Continue Pretrain(繼續預訓練)的領域數據如何選?
越“接近真實業務越好”。 比如電商行業模型,就喂商品描述、客服對話、訂單結構化數據。 測試行業模型,就喂用例、日誌、缺陷描述、排查步驟、指標規範等。
5. 領域訓練後通用能力下降怎麼解決?
這叫“遺忘”。常用方法: 混入部分通用數據 使用低學習率 訓練後做一次輕量 SFT 拉回能力 就像你把接口壓測工具完全調成只適應某一服務,換個微服務就廢了,模型也是同理。
6. Continue Pretrain 如何讓模型學到更多知識?
不僅僅靠“喂更多數據”。 重點在於: 數據要乾淨 覆蓋要均勻 格式要穩定 通過分階段訓練逐步學習
7. SFT 時選 Base 還是 Chat 模型?
SFT 本質是再訓練模型的行為模式。 如果你是做指令對齊,通常選 Base; 如果是輕量領域增強,直接在 Chat 上繼續訓更高效。
8. 領域微調的數據格式要求?
保持結構清晰、風格穩定、一致性強。 模型比你想得“更敏感”,格式亂一點,訓練效果立刻下降。
9. 領域模型的評測集怎麼構建?
評測集是給模型的“期末考試卷子”。 必須來自真實任務,例如: 性能指標分析 測試設計推理 日誌異常定位 API 失敗原因判斷 測試方案對比 覆蓋“模型未來要承擔的能力”。
10. 是否需要擴詞表?
中文場景有必要,比如: 行業專有名詞 編程語言 token 測試領域術語 擴詞表能減少“拆字”,提升模型理解能力。
11. 如何訓練自己的大模型?
如果不是機構級別,建議從 LoRA / QLoRA + SFT 入手,而不是從零訓練。 從零訓練 = 數據貴、算力貴、效果不穩定。
12. 中文大模型訓練經驗有哪些?
中文要注意: 切詞方式 標點風格 多樣體裁(口語/書面) 行業術語覆蓋 否則訓出來的模型像“語文課代表”。
13. 指令微調有什麼好處?
讓模型學會“怎麼回答人”,而不是“知道什麼”。 類似測試開發裏給腳本寫公共框架,行為更一致、更穩定。
14. 知識是在預訓練還是微調階段注入的?
預訓練注入“知識”; 微調注入“行為”。 一個是大腦,一個是習慣。
15. 想讓模型學某行業知識,用預訓練還是微調?
依賴知識密度。大量領域知識 → continue pretrain。 任務形態(怎麼回答) → SFT。
16. 多輪對話任務怎麼微調?
適配「上下文關聯」,數據一般是: 用户:... 助手:... 用户:... 助手:... 訓練時保持對話鏈條連續。
17. 災難性遺忘是什麼?
模型為了學新知識,把舊知識“擠掉”。 類似你把接口壓測腳本改成只跑壓測,功能驗證相關邏輯會自動退化。
18. 微調模型需要多大顯存?
LoRA(8~24GB)、QLoRA(12GB 也能練)、全參數(64GB 起步甚至更高)。
19. SFT 時模型到底在學什麼?
學“任務模式”。 比如回答風格、格式、邏輯結構,而不是百科知識。
20. 預訓練與 SFT 有什麼不同?
預訓練:攝入全世界的文本 SFT:學會怎麼當一個有用的助手
21. 樣本量增大導致 OOM?
通常是因為: batch size 設置過大 序列長度拉滿 優化器狀態佔用爆炸
22. SFT 如何優化樣本?
主要是: 去掉重複 去掉風格衝突 去掉噪聲 刪除無意義的回答冗餘 數據越乾淨,模型越聰明。
23. 模型參數的迭代實驗怎麼做?
常見方式: 切不同學習率 調 LoRA rank 不同指令模板 混域 vs 純域訓練 記錄每次實驗的評測指標非常關鍵。
24. 微調的一些經驗建議
簡單説,別“一把梭”。 模型訓練就像性能調優:反覆試、慢慢調、逐步驗證。
25. batch size 太小的影響?
梯度不穩定,收斂慢,模型易隨機發散。
26. batch size 太大的影響?
顯存容易爆,模型容易“平均化”,變得呆板。
27. batch size 如何設置?
通常根據顯存、序列長度反推。不夠就使用梯度累積。
28. 優化器怎麼選擇?
常見的是 AdamW、Lion。 小模型 AdamW 大多夠用。
29. 哪些因素影響顯存使用?
模型大小、batch size、序列長度、LoRA 或全參、優化器狀態。
30. 領域預訓練用哪些數據集?
根據行業選擇:技術文檔、API 文檔、日誌樣例、缺陷描述、測試用例等。
31. 微調數據集如何構建?
圍繞真實任務構建,覆蓋高頻業務場景,讓模型“能用”。
32. 大模型訓練 loss 出現突刺怎麼辦?
32.1 什麼是 loss 突刺?
訓練 loss 突然跳高但又下降。
32.2 為什麼出現?
數據髒、極端樣本、學習率太大、batch 太小。
32.3 如何解決?
降學習率、清洗數據、調 batch、縮序列長度。
大模型微調特別注意點
作為測試開發,你需要更關注以下方向:
- 怎麼評估大模型的功能正確性(可控性、穩定性)
- 怎麼構建大模型的質量評測集
- 領域數據採樣、清洗、分類
- 模型的日誌分析、訓練監控
- 性能指標:吞吐、顯存、迭代速度
- 如何發現訓練中的“模式坍縮”和“模式漂移”
這些能力正在成為“AI時代的測試開發核心競爭力”。 大模型不是玄學,它越來越像微服務一樣,可以拆解、監控、測試、優化。