一:大模型的問答工作流程
1.1: 分詞和向量化
如上圖所示,我們如果讓大模型去回答問題,首先我們會輸入一些文字給到大模型,大模型本質上是個數學模型,它是理解不了人類的整句話的,所以它會把我們的對應的句子首先切分成單詞詞組,然后會進一步把切分之后的單詞詞組進行向量化;這就是我們所說的分詞和向量化;
1.2: 選詞和自回歸
上面說了,大模型本質上還是個數學模型,所以需要把得到的很多詞組變成一個個向量它才能理解,然后基于它之前學到的知識,它會計算出下一個詞和這些輸入的詞組成的一個序列的概率有多大,挑選出來那些概率不小的,然后隨機選出來一個詞作為這個后面的輸出,因為是隨機選擇,所以很多時候我們會看到即時我們輸入同一個問題,大模型給出的回答也會不一樣
然后這個選出的詞又會繼續作為輸入序列,繼續上述的推理選詞和輸出,這個過程就可以叫做自回歸,像堆積木似的,選出來一個合適的積木,堆上去,然后基于現有的框架繼續選取比較合適的,最終等積木達到了一定高度或者說給出的答案長度達到限制大模型就會停止輸出了。
1.3: 參數的選擇
那么如果我們想讓大模型每次的輸出都大部分是一致的,應該如何呢?這里只說我們調用api可以控制的兩個參數,分別是temperature 和 對應的top_p 兩個參數,temperature 的意思是溫度,我突然想到了煉鐵所需的溫度,大家想想,如果煉鐵的溫度很高,鐵都變成鐵水了,是不是后期可以變成多種多樣的各種工具,溫度很低的時候,可能剛開始這個產出品就是固定的,所以溫度越低,產出就趨向于穩定;溫度越高,產出就越多樣;我們這里的這個temperature也一樣,最終大模型的輸出的多樣性也取決于這個temperateure,如下所示:
那么對應的top_p呢?top_p 字面上的意思可能會讓人理解錯誤,看的是頂級或者最大概率,但是實際上它是累積概率,是那些候選詞的累積概率的映射,如果這個top_p 越小,說明它對應的候選的token 的概率和就越小,它對應的候選token就越少,故而生成的token就相對越穩定,反之亦然,如下所示: