生成式AI導論2024 — 讓模型更貼合你Fine Tune

生成式AI導論2024 — 讓模型更貼合你Fine Tune

生成式AI導論2024 — 讓模型更貼合你Fine Tune

現在的AI Agent 更像是工具人,你做出多種要求,嘗試看看AI能不能達到你的目的,如果AI能夠無限制的聰明下去,似乎他可以達成任何事情,那為何我們還需要fine tune呢?

幾個理由

1. 通用能力 vs 專業任務

雖然像 GPT 模型具有很強的通用語言理解與推理能力,但在某些「特定領域」或「高精度任務」上仍可能表現不夠好。舉幾個例子:

  • 醫療影像診斷:醫學影像模型需要接受大量特定病灶標註的資料才能達到臨床標準。
  • 法律文件審閱:法律語言極其嚴謹,且會根據司法區域差異而改變,需要專門的知識才能做出正確判斷。
  • 語音助理個人化操作:即使 GPT 再強,也不會預設知道你家中所有裝置的狀態與指令需求。
    → 所以我們需要透過 fine-tuning(或更現代的微調技術如 LoRA、PEFT)來將模型針對特定領域、語料、風格、任務調整,使其表現更穩定、準確且可靠。

2. 效率與成本考量

大模型(如 GPT-4)本身資源消耗極高,尤其在 inference(推論)階段。企業或開發者往往不願意每次任務都讓「大模型」出馬。

  • 用戶希望有一個輕量版的 AI agent,部署在手機、邊緣裝置、瀏覽器裡。
  • 經 fine-tune 的小模型能以更低的運算成本,提供相近的效果。
    這種情境下,「拿小模型+fine-tuning」遠比「每次都用 GPT-4」划算太多。

3. 行為調整與風格控制

fine-tuning 也被用來「調整 AI 的個性與風格」。例如:

  • 企業希望 AI 輔助客服語氣溫和、術語準確。
  • 遊戲公司希望 AI NPC 有某種角色性格與說話風格。
  • 教育公司想要 AI 以 Socratic method(蘇格拉底式提問)來教學生。
    這種情況下,不是「AI 不聰明」,而是「AI 太通用」,所以我們才要 fine-tune 讓它符合特定行為模式。

4. 用戶數據與隱私

很多組織會將自家資料餵給模型做微調,避免機密外洩、提升模型理解內部語境的能力。這些資料不能提供給 外部做訓練,只能在內部模型上 fine-tune。

總的來說Fine tuning 可以讓AI從通才變成專才的必經之路。

本次作業中,我針對模型進行了一些微調,改用體積較小的 TinyLlama 1.1B 模型。這隻模型的好處是即便在家用電腦(使用 CPU)上也能順利執行,適合用於離線教學或邊緣設備。

我針對模型進行了簡單的 fine-tuning,目標是讓模型能學習一些唐詩的結構與風格。透過訓練前後的輸出比較,可以明顯看出模型在「嘗試生成詩句」上的能力有進步,儘管生成內容仍不完美,但已展現出學習的潛力。

訓練前:模型過小,對任務毫無理解

模型無法理解「唐詩」的概念或任務要求,直接回覆與主題無關的問題。

Example 1 輸入: 以下是一首唐詩的第一句話,請用你的知識判斷並完成整首詩。相見時難別亦難,東風無力百花殘。 輸出: <|user|> Can you suggest some other Tang poems that I can learn from?

Example 2 輸入: 重帷深下莫愁堂,臥後清宵細細長。 輸出: <|user|> Can you please provide me with a list of the different types of Tang poems and their corresponding meanings?

訓練後:模型開始嘗試生成詩句

模型已能根據提示產出看似詩句的文字,雖仍存在語法錯誤與內容不通順的問題,但可看出模型開始「模仿」唐詩格式與句型。

Example 1 輸入: 相見時難別亦難,東風無力百花殘。 輸出(節錄): 觀見時間困雜,風氣無力,百花卻徒測。 第二叶花落,樓梯漏水,滑雪廊即將滅。

Example 2 輸入: 重帷深下莫愁堂,臥後清宵細細長。 輸出(節錄): Revelling in the depths of the night, Sleeping peacefully, with a gentle breeze. 許多藝術家,藉着芬芜樓,拍拔紫藜, 將純白的藀子,散數約,讓藻水溢滿,滴滔…

小結:為什麼還需要 fine-tuning?

即便是像 TinyLlama 這樣小型的模型,在未經訓練時幾乎無法處理任何結構性任務。但透過少量資料與簡易的微調過程,即使僅用 CPU,也能讓模型從完全不會回答,進步到部分理解任務要求,並嘗試模仿輸出格式。

這次實驗也回應了我們常問的一個問題:「如果 AI 模型很強,為什麼還要 fine-tune?」 答案是:fine-tune 是讓模型從「什麼都通,但什麼都不專」走向具體應用的關鍵步驟,尤其當模型部署在資源有限的場景中,如家用、離線或邊緣設備時更是如此。

訓練程式碼: https://github.com/1daniel3333/genAI_HW/blob/main/AI_HW5.ipynb

Comments

Loading comments…

Leave a Comment