運用機率分佈預測詞彙 一窺AI生成文字步驟
記者/陳士勳
運用AI生成文字,已是現今人類社會相當普遍事宜,然而,又有多少人知道AI是如何產出及預測文字?智用研究院AI產品總監周奇民以GPT-4為例,只要給ChatGPT一段上下文,GPT會預測下個字中機率最高的那個字,然後根據生成的字,再為上下文預測下一個字,如果細分來看,可分為上下文編碼、詞彙表與嵌入層、上下文與詞彙表交互、Softmax函數及機率分佈(Probability distribution)等5大步驟。
將上下文資訊進行編碼
周奇民表示,以「今天天氣真好」這6個字來說,輸入「今天天氣真」這5個字給模型,GPT會去計算下一個字在幾千、幾萬個中文漢字中出現的機率最高,假設計算出來得知「好」為機率最高的字,就會把「好」這個字加進去,在生成文字之前,會先將上下文資訊進行編碼,上下文資訊也可包括前文的所有詞彙、句子,甚至前一段文字,取決於任務和模型的設計,編碼過程將上下文資訊轉換為向量或矩陣,以便模型利於處理。
上下文與詞彙表交互產生各詞彙的關聯性
接著,大型語言模型(Large Language Model,LLM)經由自身所擁有涵蓋動詞、名詞、形容詞等各種詞彙和標記的詞彙表,每個詞彙都與透過模型訓練過程學習得到的嵌入向量相關聯,再讓上下文資訊與詞彙表中詞彙互動,計算上下文編碼向量與詞彙表中每個詞彙嵌入向量之間的相似度或關聯度,相似度的高低也反映每個詞彙在給定上下文下的可能性。
運用Softmax函數將關聯程度轉成機率分佈
若計算出每個詞彙與上下文的關聯程度,接下來會藉「Softmax函數」將一系列關聯度分數轉化為機率,且確保所有分數總和等於1,以機率分佈呈現最終結果,使LLM能夠選擇最有可能的詞彙來產生連貫的文本。
瀏覽 725 次