令牌選擇的統計: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)則允許更豐富的令牌候選池,從而產生更多樣化的輸出。