引言:大型語言模型的訓練流程概觀
大型語言模型(LLM)是一種擁有 數十億參數的深度學習模型,透過龐大的文字語料進行訓練 (參考 IBM 說明)。 訓練 LLM 通常包含兩個階段:首先是大規模的預訓練,接著是針對特定目標的微調。在預訓練階段,模型以自我監督方式學習語言規則和知識,例如從網路文本中學習「下一個字」應該是什麼 ( 參考 LLM Fine-Tuning: Reinforcement Learning from Human Feedback )。這讓模型成為一個通用的基礎模型,已經掌握語言結構與廣泛知識。但預訓練的目標僅是讓模型預測文本,並沒有直接優化模型去「遵循人類指令」或執行特定任務 ( 參考 維基百科 )。因此第二階段,我們通常會對模型進行微調(fine-tuning),以調整模型使其更適合實際應用場景。透過微調,只需使用相對少量的資料和計算資源,就能讓預訓練模型在下游任務上達到更佳表現 (參考 IBM 說明)。
在 LLM 的訓練與應用中,出現了許多關鍵術語與技術機制。本文將以淺顯易懂的方式,介紹其中兩個重要概念:「混合專家模型(MoE, Mixture of Experts)」與「指令微調(Instruct Fine-Tuning)」,並說明它們的原理、運作方式,以及如何提升模型效能與可控性。同時也會舉例相關研究與產業應用案例,討論這些技術的優勢與限制。
混合專家模型(MoE)的原理與應用
混合專家模型(Mixture of Experts, MoE)是一種 神經網路架構設計,其核心思想是將多個擅長不同領域的「子模型」結合在一起,彷彿讓多位專家各展所長 ( 參考 InfuseAI 部落格 )。在 MoE 中,每個子模型被稱為「專家」,而模型內還有一個稱為「門控網路」(Router 或 Gate)的機制,用來根據輸入內容動態選擇最適合處理該輸入的專家 ( 同上 )。這種設計類似於我們在人類社會中遇到問題時會諮詢不同領域的專家:例如遇到地理相關的問題尋找地理學家,數學問題則請教數學家。MoE 模型透過門控網路的學習,在每次輸入時只啟用部分相關的專家,來產生模型的輸出 ( 同上 )。
MoE 概念最早源自於1990年代的整合學習方法。當時的研究者提出,可以訓練多個獨立模型解答同一問題,再將它們的答案(例如透過投票或平均)合併,以降低過度擬合並提升泛化能力 ( 同上 )。MoE 與傳統整合學習不同之處在於:MoE 不需要將任務硬性切分,而是由門控網路在模型內部動態決定哪個專家來處理當前輸入 ( 同上 )。換句話說,MoE 是在單一模型架構中融合多位專家的智慧,而非事後整合多個模型的結果。
圖1:混合專家模型在 Transformer 中的示意圖。圖中藍色方框表示一個 MoE 層,其中包含多個前饋神經網路專家(FFN1~FFN4)。綠色的 Router(門控網路)會根據輸入的內容(例子中 "x₁" 為單詞 “More”,"x₂" 為 “Parameters”)計算路由機率 p,將不同的輸入 token 指派給最適合的專家處理(虛線示意路由決策)。每個專家只處理被指派的部分輸入,最後 Router 將選定專家的結果傳回,作為該層的輸出。這樣的 MoE 層取代了傳統 Transformer 中的單一前饋層,使得模型參數雖多但每次推理只動用一部分。
(參考: 混合专家模型(MoE)详解)
在實際訓練中,引入 MoE 層的 Transformer 模型會透過誤差反向傳播,同時學習各個專家的參數和門控網路的參數。門控網路學會為不同類型的輸入指派適當的專家,使每個專家逐漸在其擅長的輸入類型上表現突出。由於每個輸入 token 通常只啟用 少數幾個專家,MoE 模型呈現出稀疏計算的特性:每次只計算必要的部分網路 ( 同上 )。因此在推論(Inference)時,即使 MoE 模型的總參數量極大,實際參與計算的參數遠少於同樣規模的稠密模型,計算開銷更小。這帶來兩個直接好處:一是可以大幅擴展模型容量而不顯著增加每次推理的計算成本,二是對應於相同計算資源,MoE 模型能比傳統模型處理更大的參數規模 ( 參考 huggingface MoE 文章 )。例如,Google 的研究顯示,採用 MoE 的「Switch Transformer」模型擁有高達 1.6 兆(萬億)參數,但預訓練速度比同等性能的稠密模型快了約 4 倍 (同上)。
效能提升與應用範圍:得益於上述機制,MoE 讓研究人員能訓練參數規模空前的模型,同時保持推理效率。大量實驗發現,MoE 模型能在各種任務上取得比相同比計算量的傳統模型更佳的效果 ( 同上 )。原因在於每個專家網路可以針對特定類型的輸入進行優化,提供更精準的處理 (同上)。這對於需要涵蓋廣泛知識和技能的 LLM 特別有利:不同專家各司其職,讓模型同時擁有專精和泛化的能力。例如,Meta 公司在機器翻譯領域的 NLLB 項目就曾探索 MoE 變體,以有效處理多語言翻譯任務 ( 同上 )。開源社群方面,近期出現了如 Mistral-8×7B 的 MoE 大模型,它由 8 個 7B 參數的專家組成,在多項基準測試中的表現 超越了傳統的單模型 Llama 2 70B (同上)。這證明了混合專家技術在實務中確實能以較小的計算成本達到媲美甚至優於超大型模型的效果。
優勢總結:混合專家模型的主要優點包括:
- 擴展性:透過稀疏激活機制,模型可以擁有遠超過單一路徑計算所能承載的參數量,讓 LLM 得以擴展至兆級參數,同時維持可行的訓練和推理成本 (同上)。
- 計算效率:每個輸入只調用部分專家,大幅降低不必要的計算。實驗表明,同等資源下 MoE 的預訓練速度明顯快於傳統稠密模型 (同上)。在推理時,即使總參數龐大,實際計算量相當於較小的模型,因而推理延遲更低 (同上)。
- 專業化學習:各專家專注於不同資料模式或任務子領域,能更細緻地學習輸入特徵。透過這種「任務特異性」的分工,整體模型的精確度和泛用性都得以提升 (同上)。模型能動態調整激活哪些專家來應對不同輸入,使其對多樣且複雜的任務表現出高度適應性 (同上)。
- 模型可解釋性(一定程度上):由於特定專家對應特定功能,某種程度上我們可以分析是哪個專家對輸出負責,增強了模型決策的透明度 (同上)。這在需要了解模型內部決策的應用中具有潛在價值。
限制與挑戰:儘管 MoE 提供了巨大的潛力,但也伴隨一些限制:
- 訓練複雜度:門控網路需要同時訓練如何最佳地分配專家。若門控機制處理不當,可能出現部分專家過載、部分專家幾乎未被使用的情況,導致訓練不穩定或資源浪費。為此研究者常需引入額外的 負載平衡損失函數,確保所有專家均有機會學習 (參考 huggingface MoE 文章) (同上)。整體而言,實作一個高效穩定的 MoE 訓練架構難度較高,比傳統模型更複雜。
- 記憶體與基礎設施需求:雖然推理時每次只用到部分專家,但所有專家參數都必須隨時待命於記憶體中 (同上)。這意味著模型部署需要大量的RAM/VRAM。舉例而言,一個含數十個專家的 MoE 模型,其總參數量可能達幾百億甚至上兆,需要的記憶體遠超一般模型。如果硬體和軟體架構不支持跨設備高效載入和路由,實際部署會面臨困難。
- 微調困難:MoE 模型在小規模資料上微調時,容易出現過擬合或泛化不佳的問題 (同上)。因為每個專家在預訓練時學到了非常專門化的技能,若後續微調資料不足,模型可能難以調整所有專家協同適應新任務。在產業應用中,為了穩定微調 MoE 模型,可能需要凍結部分參數或使用分階段調整等特殊策略。
- 收益視任務而定:並非所有情況下 MoE 都顯著優於稠密模型。如果模型所面對的任務類型單一、資料分佈相對簡單,引入 MoE 的複雜性可能得不償失。在這類情境下,少數幾個大型專家可能足以涵蓋需求,多餘的專家反而增加管理成本。
總的來說,混合專家模型為 LLM 的 擴容與提效提供了一條可行道路。在需要同時覆蓋多種知識和技能的大型模型中,MoE 透過「專家治專」的方式提升了模型效能。同時,必須權衡其實現成本和複雜性。近年來包括 Google、Meta 在內的團隊都投入 MoE 研究,使之逐漸成熟。例如 Google 自 2017 年起即展開相關研究,成功將模型規模提升至 1 兆參數等級 (參考維基百科)。未來,隨著硬體和軟體的進步,MoE 有望在工業界獲得更多採用,以構建更強大且高效率的 AI 模型。
指令微調(Instruct Fine-Tuning)的理念與實踐
預訓練得到的 LLM 雖然知識豐富,語言生成能力強,但它 僅僅學會了根據前文預測後文,並不知道如何按照使用者的要求來組織答案 (參考 IBM 說明)。換句話說,一個沒有經特殊調整的基礎模型遇到人類的提問,並不會真的去「回答」問題,而只是機械地續寫文本 (同上)。這就產生了一個明顯的缺口:模型的預訓練目標(預測下一個詞)與使用者的期望(遵循指令完成任務)之間不完全一致 (參考維基百科)。指令微調(Instruction Fine-Tuning,或稱 Instruction Tuning)正是為了彌合這一落差而提出的技術 (同上)。其基本思路是在預訓練模型的基礎上,收集大量「指令→輸出」範例對,透過有監督學習進一步訓練模型,使其更好地理解人類指令並據此產生合適的回應。
技術原理與發展背景
所謂「指令→輸出」範例,指的是把人們希望模型執行的任務描述成一段自然語言指令,並配上該任務的期望結果作為示例。例如:
- 指令:「請將這句話從英文翻譯成西班牙文。」
- 期望輸出:「Por favor, traduzca esta frase al español.」
透過成千上萬這類不同任務的指令及相應正確輸出來訓練,模型就不再只是單純地延續輸入文本,而是學會將「指令」視作需要完成的任務描述,進而產生滿足任務要求的回應 (參考 IBM 說明)。指令微調的範圍可以很廣,包含問答、總結、翻譯、寫作等各種應用場景。值得強調的是,這種方法並不是為了一兩個特定任務而調整模型,而是希望模型 普遍地強化遵循人類指令的能力 (同上)。研究發現,即便是在微調時未出現過的新任務上,接受過指令微調的模型也往往表現更佳 —— 因為它已經習慣於將任務要求內隱在指令中 (同上)。這正是指令微調的根本好處:全面提高模型遵循指令的能力 (同上)。
從歷史上看,指令微調的理念在 2021 年前後開始受到關注。Google 的 T5 模型提出了「統一式」文本輸出框架,在輸入前加入任務説明的方式來引導模型輸出。隨後 Google 研究人員在 2022 年的 FLAN 系列工作中,針對上百種任務構造指令資料對模型進行微調,證明了指令調優能大幅提升模型在未知任務上的表現 (同上)。OpenAI 則在 2022 年底推出了 InstructGPT,將 GPT-3 模型利用人類編寫的指令與範例進行微調,成果顯著:經指令微調的模型在跟隨指示、輸出連貫回答方面明顯優於原始模型,深受使用者好評。這一系列進展直接促成了 ChatGPT 等對話式 LLM 的誕生,讓「讓 AI 更好地聽懂人話」成為現實。
實際運作方式:訓練與推論
在訓練階段,指令微調需要先蒐集或生成大量高品質的指令數據集。這些數據可以來源於人工編寫(例如聘請人員設計問答、對話等場景並提供參考答案),也可以從現有的任務資料轉換而來(例如將標準問答資料轉換成「請回答…?」的形式)。模型會在這些帶有指令提示和期望輸出對的資料上進行有監督學習,使其調整原本預訓練時學到的表徵,更貼合「指令→回答」的映射關係 (參考維基百科)。值得一提的是,指令微調通常不與其他微調技術衝突,反而常常結合使用 (參考 IBM 說明)。特別是在對話式的大型模型中,指令微調往往只是第一步,接下來還會進行基於人類回饋的強化學習(RLHF)來進一步優化模型 (同上)。RLHF 的典型流程包括:由人工對模型輸出進行偏好排序、訓練一個獎勵模型去評分模型輸出好壞,最後透過強化學習(如近端策略優化 PPO 算法)調整模型權重,使其傾向產生人類偏好較高的回覆 (參考維基百科)。經過這兩步驟,模型不僅能按照指令行事,還更趨近「助人為樂、內容恰當」的方向發展。
圖2:大型語言模型常用的三階段訓練流程示意圖。首先是使用海量網路文本進行自我監督的預訓練(左),獲得通用的預訓練模型;接著利用較高品質的指令數據對模型進行有監督微調(中),產生能遵循人類指令的 SFT 模型;最後結合人類反饋強化學習(RLHF)進一步調校模型(右),得到最終對齊人類偏好的模型。透過指令微調和 RLHF,模型的行為與人類期望更趨一致,能在對話中提供更有幫助且可靠的回應。
(參考: LLM Fine-Tuning: Reinforcement Learning from Human Feedback )
效能提升、可控性與應用案例
性能與可控性的提升:指令微調直接針對模型「聽懂人話、按照要求辦事」的能力進行優化,因而在使用體驗上帶來突破性的提升。首先,模型在各種任務上的表現更加精準和相關。使用者不再需要技巧性地編寫提示詞來誘導模型,取而代之的是可以直接下達指令,模型也能領會意圖並給出有用的結果 (參考維基百科)。例如,在總結文章、撰寫電子郵件、回答常識問答等任務上,指令微調後的模型往往給出更貼題的內容,並且結構更清晰。其次,模型變得更可控:使用者可以在指令中指定回答的風格、長度或格式,模型通常會嚴格遵循。例如要求「請用三點 bullet 點總結上述段落」,模型就會產生三項條列重點。而未經指令調整的模型可能無法理解這種特定格式要求。總體來說,經過指令微調,LLM 從一個被動預測文字的「旁觀者」,變成了一個主動執行任務的助手,極大拓寬了模型的實用範圍。
研究與產業案例:現在幾乎所有主流的大型語言模型應用都採用了指令微調與對齊技術。最廣為人知的例子莫過於 OpenAI ChatGPT:它是在 GPT-3.5 系列基礎上經指令微調並結合 RLHF 訓練而成。相比原始的 GPT-3 模型,ChatGPT 展現出對人類指令近乎直覺般的理解力,能就千奇百怪的提問給出連貫、有用的答覆,這正是指令微調 + 人類回饋的成果。OpenAI 的研究指出,使用者明顯偏好指令微調後模型的輸出,模型的有害內容和胡亂編造明顯減少 (參考維基百科) (參考 IBM 說明)。另一個例子是 Meta 的 Llama 2 模型系列。該系列提供了預訓練的基礎模型,以及經指令/對話資料微調的變體「Llama-2-Chat」,後者在對話和問答場景下表現更佳 (同上)。許多開源專案(如 Stanford Alpaca、Databricks Dolly 等)也證實,只要蒐集適當的指令資料並對開源 LLM 進行微調,就能大幅提升模型實用性,甚至接近封閉大型模型的表現。可以說,指令微調技術是推動近年 生成式 AI 爆發的關鍵因素之一:它讓通用語言模型真正成為各行各業可用的智能助手。
優勢總結:指令微調為 LLM 帶來的主要優勢包括:
- 對齊人類意圖:模型經過此過程後,輸出更加貼合使用者需求,能依照指示完成任務 (參考維基百科)。這使模型從“預測文本”轉變為真正“執行指令”。
- 提升任務表現:大量實驗表明,指令微調能提升模型在廣泛任務上的表現,尤其是那些可以用自然語言描述的任務 (參考 IBM 說明)。模型能更正確地回答問題、遵循格式要求,並在沒見過的新任務上也有不錯的表現。
- 降低使用門檻:有了指令微調,非技術用戶也可以直接與 LLM 互動,而不需要學習複雜的提示工程技巧。只要用日常語言下達指令,模型就會盡可能給出滿足要求的回覆,極大改善了人機互動體驗。
- 結合安全控制:透過在微調資料中加入安全守則類指令,或結合 RLHF 獎勵不當行為,模型的內容可控性和安全性也隨之提高。它更傾向產生禮貌、無害的回答,同時避免敏感或有害話題(儘管這仍非萬無一失,但已比未調整時有明顯改進)。
局限與考量:當然,指令微調並非沒有成本和限制:
- 資料與人工成本:製作高品質的指令-輸出對資料集是一項繁重工作,需要專家編寫示例或大規模人工標註 (參考 IBM 說明)。例如 OpenAI 為訓練 InstructGPT 和 ChatGPT 投入了大量人力來編寫提示、審閱模型輸出並提供反饋。對許多資源有限的團隊而言,獲取足夠的指令微調資料是門檻之一。
- 偏差風險:模型的行為很大程度上取決於微調時的指令數據。如果這些數據不夠多樣或存在人為偏見,模型可能學到有偏的行為模式。例如,若微調資料過度強調禮貌和安全,模型可能對任何敏感問題都過度迴避,影響實用性;反之,資料不當又可能導致模型產生誤導或冒犯性的回應。設計微調資料集時需要注意平衡,確保模型既遵從有益指令,又不失去客觀性和創造力。
- 過度順從與創造力:有些研究者指出,經過強力的指令調校和人類偏好微調後,模型有時會變得過於順從或模式化,輸出缺乏原本預訓練模型可能展現的創意。這是因為模型被訓練成盡可能符合人類指令和預期答案,在自由發揮上可能受到約束。因此在某些創意寫作或需要發散性思維的應用中,如何平衡模型的聽話程度與創造力,是值得探討的課題。
- 仍需持續監管:即便有指令微調和 RLHF,模型仍可能產生不正確甚至有害的內容,尤其是當遇到訓練資料未涵蓋的新類型指令時。這意味著我們不能因此對模型完全放鬆監管。在實際部署中,仍需要結合關鍵詞過濾、後端審查等措施,來監控和降低潛在風險。
結論與展望
總而言之,混合專家模型(MoE) 與 指令微調(Instruct tuning) 是當前大型語言模型領域中兩項重要的技術創新。前者從模型結構上突破了單模型的容量限制,允許在有限資源下訓練和使用超大規模的模型,提升了模型的知識涵蓋範圍和性能上限;後者則從訓練策略上彌補了模型與人類需求之間的鴻溝,讓冰冷的語言模型變得更加聽話懂事,能按照指令完成實用任務。這兩項技術分別著眼於 效率與可用性,相輔相成:未來的超大規模模型或許會同時採用 MoE 架構來增強能力,並經指令與人類反饋微調來確保模型行為可靠。
當然,隨著技術發展,研究人員也在探索更多的新機制。例如,有學者嘗試將 MoE 與指令調優結合,讓不同專家學習不同類型指令的最佳回應;也有人致力於降低指令微調對人力標註的需求,如利用人工智能產生指令數據或發展更高效的對齊算法。這些方向都有望進一步提高 LLM 的性能和易用性。對於剛接觸這些概念的讀者,希望這篇報告式的講解能夠提供清晰的思路,讓您了解在 LLM 背後,工程師們是如何運用巧妙的技術機制,來打造出更強大、更貼近人類需求的人工智慧模型的。隨著研究的不斷推進,我們有理由期待未來的 LLM 變得更聰明也更聽話,為各行各業帶來更大的價值與便利。