GenAI: 如何讓你的 GPT 更聰明 (1)

這一系列的文章, 預計會寫個幾篇,
說實話, 這大概連技術文件都說不上, 就是紀錄一些現有熟知的技巧,
在專有名詞部分, 標題的 GPT 其實可借代成任何 LLM (Large Language Model),
這些模型, 以昂貴的訓練成本, 不開源的存取方式稱著,
當然, 他們會收集我們在網頁上的輸入以及反饋, 
以免費存取作為代價, 以全人類的資料, 進一步優化這些生財工具,
但是, 對於個人而言, 我們如何客製化一個我們想要的 LLM?

首先, 我們先談談這是否必要?
針對多數的應用中, GPT 或是其他 LLM 其實都已對應大眾使用行為進行調整,
撇開幻覺生成 (Hallucination), 以及過於順從的問題,
在多數的時候, 不論你詢問星座或是 python coding, 他們都可以表現得不錯,
原因無他, 因為在網路上已有大量的相關資料供 LLM 學習.

然而, 若我們考慮一個小範圍且專業的領域呢?
或是, 當我們資訊的提供, 無法以文字或是圖片有效傳達該怎模辦呢?
我們不太可能重新訓練一個 LLM,
而是想借力於一個已經訓練好的 LLM 能力, 針對我們設想的任務優化,
通常來說, 我們有兩種方式可以達成, 分別是:
提示工程 (prompting) 以及模型優化 (fine-tuning).

我們先從最基本的提示工程開始吧!
為了要有一個準確的回答, 首先, 我們需要一個好的問題,
那麼, 一個好的問題需要提供那些資訊呢?
以下是 Gemini 提供的一些指引: https://ai.google.dev/gemini-api/docs/prompting-strategies

1. 明確的指示(Clear instructions)
  • 使用清楚、具體、直白的語句。
  • 說明任務是什麼、要用什麼格式輸出。
  • 若任務有多步驟,建議拆解並分別列出。
2. 上下文(Context)
  • 提供必要背景資訊(如任務目標、角色、使用者需求)。
  • 可加入範例、定義或限定條件讓模型更準確理解。
3. 角色扮演(Role prompting)
  • 指定模型扮演的角色(例如:「你是資深數據分析師」)。
  • 讓模型以特定觀點或風格作答,提高一致性與專業度。
4. Few-shot 示範(Few-shot prompting)
  • 提供1~3個範例作為輸入與期望輸出格式。
  • 可顯著提升模型在特定格式與風格下的表現。
  • 每個示範範例需與實際任務高度相關。
來自: https://the-prompt-engineer.beehiiv.com/p/3-fewshot-prompting

5. 限制與規範(Constraints and rules)
  • 可加入限制條件(如字數上限、不得出現特定詞語)。
  • 對於多語言或專業術語可明確指定偏好。
6. 鼓勵推理與分步作答(Chain of thought / step-by-step)
  • 要求模型一步步思考或解釋推理過程。
  • 對於數學、邏輯、分析任務尤其有效。

事實上, 以上 prompting 的原則都和 LLM 的設計原理相關,
例如, "指示", "上下文", "Few-shot 示範" 就存在於 GPT 原本的訓練框架中,
在提問中提示相對應的資料, 有助於 LLM 重現更佳的成果.
"角色扮演" 則對應於近年 MoE 專家模型 (Mixture of Expert) 的發展,
透過腳色的定義, 可以更準確地找出適合的模型, 進行回覆.
"推理與分步作答" 則透過讓 LLM 自我反饋, 與多次推論,
模仿多步驟的推論過程, 減少 LLM 對於模糊命題的錯誤回答.

因此, 一個好的提問, 事實上對應於回答者的能力,
透過設計過與格式化的提問, 我們可以限制 LLM 的行為,
增進其回答的品質.

留言

熱門文章

LTE筆記: RSRP, RSSI and RSRQ

[WiFi] WiFi 網路的識別: BSS, ESS, SSID, ESSID, BSSID

LTE筆記: 5G NR Measurement Events