Prompting Techniques-Few-shot Prompting(少樣本提示)

Few-shot Prompting(少樣本提示)

雖然大型語言模型(LLMs)展現出卓越的零樣本能力,但在處理較複雜任務時,單純使用零樣本提示仍會遇到表現瓶頸。此時,可以採用少樣本提示作為關鍵技術。

少樣本提示是一種上下文學習方法,透過在提示中加入範例,為模型提供參考,進而引導模型給出更精準的回應。這些範例在提示中發揮了「條件設定」的作用,讓後續模型輸出更符合期望。

「whatpu」是坦尚尼亞的一種小型毛茸茸的動物。一個使用whatpu這個字的句子的例子是:
我們在非洲旅行時看到了這些非常可愛的whatpus。
「farduddle」是指快速跳上跳下。一個使用farduddle這個字的句子的例子是:

小孩們因為太興奮而在客廳裡不停地 farduddle

小孩們因為太興奮而在客廳裡不停地farduddle。

小孩們因為太興奮而在客廳裡不停地farduddle。


目錄


實作技巧

  • 範例的格式與標籤結構非常重要,即使使用隨機標籤,只要維持提示格式,也優於完全無標籤的情況。
  • 標籤可以是來自真實分布的隨機樣本,避免完全均勻分布的標籤,效果會更佳。
  • 在某些任務上,即使範例標籤不正確,模型依然能輸出正確結果,這顯示模型對於格式的學習效應優於標籤本身。

任務範例

請為下面句子生成一個標籤:
句子:「我沒有拿到我應該有的分數。」
任務:將句子分類為「生氣」「開心」「難過」「失望」。

例子 4:
句子:「我覺得事情變得毫無意義。」
答案:失望

請根據上述任務,分類以下句子:
句子:「我沒有拿到我應該有的分數。」
答案:

失望

失望

失望


隨機格式範例

正面 這太棒了!
這很糟糕! 負面
哇,那部電影超棒的!
正面
多麼可怕的節目!

負面

負面

負面


限制與發展方向

儘管少樣本提示在許多任務中表現良好,但當任務涉及多步推理或複雜邏輯時,標準少樣本提示的效果會顯得不足。此時,即使加入更多範例,仍可能無法顯著提升輸出品質。

例如,當任務需要多個推理步驟,單純的少樣本範例不足以引導模型學習正確的邏輯流程。為了解決這類問題,可以考慮使用CoT(Chain-of-Thought) Prompting,透過分步演示的方式,幫助模型處理複雜的算術、常識推理與符號推理任務。

這組數字中的奇數加起來是一個偶數:15、32、5、13、82、7、1。
A:

是的,這組數字中的奇數加起來是107,是個偶數。

是的,這組數字中的奇數加起來是107,是個偶數。

是的,這組數字中的奇數加起來是107,是個偶數。


結語

總體而言,少樣本提示是一種重要且實用的提示工程技巧,適用於多數常規任務。然而,當零樣本與少樣本方法無法有效解決問題時,可能代表模型在該任務上的預訓練知識不足。此時,應考慮進一步微調模型,或採用更進階的提示技術,如CoT提示,以突破現有瓶頸,提升模型表現與穩定性。


References

Prompt Engineering Guide
Touvron et al. 2023
Kaplan et al., 2020
Brown et al. 2020
Min et al. (2022)
chain-of-thought (CoT) prompting


上一篇文章:Zero-shot Prompting
下一篇文章: Chain-of-Thought Prompting
目錄:Prompting Techniques