GenAI: 如何讓你的 GPT 更聰明 (3)
在之前的文章中, 說明了如何透過 prompting 的方式訓練 LLM 模型, 事實上, 在這邊說 "訓練 (training)" 有點奇怪, 因為 LLM 模型的權重並沒有產生任何改變, prompting 比較像是提供範例學習 (few-shot learning), 讓 LLM 增進回答的精確度, 或者, 更貼近使用者想要的回答. 當然, 針對特定的應用領域, 例如: 法律, 通訊, 客服, 等 擁有大量語意資料, 同時, 擁有特殊的領域資訊, 我們可以透過微調 (fine-tuning) 方式, 來調整 LLM 模型的權重, 在此架構下, LLM 模型的權重將被改變, 而可以記憶放入學習的資料, 以下是兩種方法的比較表: 在過往, 對 LLM 模型的微調相對複雜, 通常我們會基於開源的基礎模型 (base model), 如: LLaMa 進行調整, 主因大概有兩個: 第一、微調需要大量資料, 以及對應的資料前處理, 第二, 微調需要不少算力, 有能力建立者皆可自行訓練 LLM 模型. 同時, 微調後的 LLM 模型, 也被視為重要產出, 對應目標的應用領域. 不過, 我們還是可以從現有的 LLM 模型 API 中一窺 fine-tuning 的方法, 我們一樣以 Gemini 為範例, Gemini 提供了 fine-tuning 的 API, 如下: https://cloud.google.com/vertex-ai/generative-ai/docs/models/gemini-use-supervised-tuning 其中, 第一個重點即是準備訓練資料與文本, 其範例如下: { "input_text": "這是輸入文本。", "output_text": "這是期望的輸出文本。" } 當然, 我們也可以結合之前 prompting 的資訊, 給予訓練資料更多的角色定義, 例如: { "systemInstruction": { "role": "system", "parts": [ { "text": ...