生成與推論

Top K 候選數是什麼?決定檢索與生成要挑幾個候選結果

Top K 是指依照相關性分數排序後,取出排名前 K 個候選結果。它在兩種情境都會出現:一是 RAG 檢索階段,從知識庫裡挑出最相關的 K 筆文件片段交給模型參考;二是文字生成階段,從所有候選詞彙裡只保留機率最高的 K 個再抽樣。K 值越小結果越精準但可能遺漏,K 值越大越完整但成本也越高。
Top K 候選數是什麼?決定檢索與生成要挑幾個候選結果:文章重點卡

Top K 候選數是什麼?決定檢索與生成要挑幾個候選結果

看到 Top K 這個詞,先問自己一句:現在講的是 RAG 檢索的 Top K,還是文字生成的 Top K?名詞相同,作用的階段完全不一樣。

你將學到什麼

定義

依相關性或機率排序,只取排名前 K 個候選結果的做法。

白話比喻

像比賽只頒獎給前幾名,K 值就是你要頒幾面獎牌。

跟誰容易搞混

RAG 檢索的 Top K 和生成階段的 Top K 是兩件事,前者挑文件,後者挑詞彙候選。

定義

Top K 是在檢索或生成階段,依照相似度分數或機率排序,選擇並保留分數最高的前 K 筆結果,提供給下一步使用。

RAG 檢索增強生成 流程裡,Top K 出現在檢索步驟:向量資料庫撈出上百筆相關內容後,只取排名前 K 名交給模型參考,藉此平衡回答品質與效率。

白話比喻

想像一場比賽有一百人參加,Top K 就是你決定要頒獎給前幾名。K 等於三,代表只看前三名的成績;K 等於二十,代表連前二十名都算進來。

獎牌頒得太少,可能漏掉真正該表揚的人;頒得太多,獎牌就不值錢了,這正是 K 值選擇要拿捏的平衡點。

如何選擇合適的 K 值

使用場景建議 K 值說明
簡單問答三到五問題明確,所需資訊較少
文件摘要、快速檢索五到十需要平衡速度與資訊完整性
深度分析、複雜問答十到二十需要更多上下文以確保單一準確性
研究、學術、法規查詢二十以上需要廣泛資訊,確保不遺漏關鍵內容

實際用例

以查詢「如何提升產品轉換率」為例,檢索到一百筆相關文件,若設定 Top K 等於五,系統就只取相似度分數最高的前五筆內容,交給模型參考後生成回答。

最佳實務是先用較小的 K 值起步,逐步調整;也可以結合 Re-ranking 重排序,先用較大的 K 值檢索,再重新排序後截取效果更好的結果,同時兼顧效果與成本。

常見誤解最常見的誤解是把 RAG 檢索的 Top K 和生成參數的 Top K 混為一談,調錯地方卻不知道為什麼沒有效果。確認自己要調整的是檢索階段還是生成階段,才不會白忙一場。
本文源起本文內容出自酒Ann 的「AI 實戰陪跑班」課程教材,由酒Ann 編寫成彙編條目。想系統性搞懂 AI 名詞,歡迎追蹤 酒Ann 的 Facebook

延伸學習

把這篇文章分享給需要的人FacebookLINEThreadsX

常見問答

RAG 裡的 Top K 該設多大?
看場景。簡單問答用三到五筆就夠精準快速;文件摘要或需要平衡完整性的情境,五到十筆較合適;深度分析或研究型查詢,可能要拉到十到二十筆以上,確保不遺漏關鍵內容。
K 值越大,回答一定越好嗎?
不一定。K 值太大會混入不相關的資料,稀釋掉真正重要的內容,也會拉高延遲與 Token 成本。實務上常見做法是先用較大的 K 值檢索,再用重排序技術從中挑出真正最相關的一小批。
生成階段的 Top K 跟 Top P 有什麼關係?
兩者都是控制生成隨機性的參數,但邏輯不同。Top K 是固定只看前 K 個候選詞;Top P 則是動態地看累積機率到達某個門檻為止的候選詞。兩者可以搭配使用,一起收斂生成結果的範圍。