令牌選擇的統計:Logits、温度與Top-P詳解
本文深入探討了大語言模型中logits、温度和top-p採樣如何協同工作以控制下一個令牌的預測。文章詳細解釋了logits的來源、温度和top-p對概率分佈的影響,以及它們如何構成一個順序管道來生成LLM輸出。最後,提供瞭如何根據實際應用場景選擇温度和top-p值的建議。
在大型語言模型(LLM)生成輸出時,除了整體響應的相關性外,連貫性和創造性也是關鍵考量因素。由於模型內部是逐詞(更準確地説,逐令牌)構建其響應的,因此實現這些理想特性需要從數學上調整控制下一個令牌預測過程的輸出概率分佈。本文從統計角度介紹了LLM解碼策略背後的機制。我們將探討原始模型得分(即logits)如何與温度和top-p這兩個關鍵參數相互作用,從而操控令牌選擇過程。
首先,logits是神經網絡(通常是transformer的最終線性層)在轉換為概率之前產生的原始未歸一化分數。這些分數對應於詞彙表中每個可能令牌的得分。例如,在英譯西任務中,生成“me gusta mucho”後,模型可能為“viajar”輸出12.5,為“jugar”輸出8.2,為“dormir”輸出-3.1。由於這些原始值無界且難以直接解釋,因此通過softmax函數將其轉換為總和為1的概率分佈。
得到概率分佈後,LLM並非總是選擇概率最高的令牌。實際過程依賴於解碼參數,其中温度(temperature)和top-p尤為重要。温度是應用於logits(在softmax之前)的縮放因子。高温度(如>1)使概率分佈更均勻,增加不確定性和創造性;低温度(如<1)則加劇高低概率令牌之間的差異,提高確定性。top-p,又稱核心採樣,通過限制候選令牌池來控制隨機性。與固定數量的top-k不同,top-p選擇累積概率達到閾值p的最小令牌集,具有自適應性和靈活性。例如,p=0.9時,將令牌按概率排序並依次加入池中,直到累計概率達到0.9。
這三個概念結合成一個順序多步管道來產生下一個令牌的預測。首先,模型生成所有可能令牌的原始logits。然後温度對這些logits進行縮放(在softmax之前)。根據温度值,產生的分佈將更均勻或更尖鋭。接着,縮放後的logits通過softmax轉換為概率,top-p根據累積概率過濾分佈,保留一個核心令牌池。最後,模型從該池中隨機採樣以選擇下一個令牌。
理解這一統計過程後,在實際開發中需要根據用例定義可預測性與創造性之間的平衡。對於高風險的實事性場景(如編程或法律分析),建議使用低温度和嚴格的top-p(例如t=0.1, p=0.5),以獲得高度確定性的響應。而對於詩歌生成或頭腦風暴等創意領域,較高的温度和top-p(如t=0.8, p=0.95)則允許更豐富的令牌候選池,從而產生更多樣化的輸出。