寫在前面

 自從 OpenAI 發表 GPT-2以來,大型語言模型(Large Language Models, LLMs)「學人講話」的能力到達了一個全新的境界,而以 GPT-3.5 為核心的 ChatGPT 在 2022 年底問世之後,人們對沉寂多年的「通用人工智慧」(artificial general intelligence, AGI)又重新燃起了希望,當然,同時也包括了擔憂與恐慌。

從表現上來看,ChatGPT 在表達能力上可以說得上是頭頭是道,但在內容的「正確」程度上卻還有相當的進步空間。追究其根本,由於「語言模型」的本質是「模擬字詞依照特定順序出現的機率分布」,夠大的語言模型雖然可以在「語法」(syntax)、「語意」(semantics)和「語用」(pragmatics)上達到很高的水準,但背後並不存在有「判斷」、「推理」這些認知過程,也因此沒有辦法做到「事實查核」(fact check)。當然,單靠語言模型無法做到的事情,我們總是可以透過多個不同模型「接力」,或是導入人類互動來完成,不過這就是題外話了。

基於神經網路的大語言模型,我們很難分析它每個步驟的具體細節在做些什麼,但是我們知道的是:這樣的模型從大量文本中學到「詞語出現順序的潛在規則」。我們可以假設它是個小學中年級,普通程度的學生:它可以寫出文法正確,語意大致通順的短句,但是一旦要它寫長一點的篇幅,它的文意就會漸漸產生莫名其妙的偏移,直到跟前面的文意毫無關連。而從許多的研究結果中發現,當語言模型的規模變大(可以用參數的數量來表示),通常能夠維持「文意順暢」的長度就越長,甚至讓讀者產生「有邏輯性」的感覺。

雖然現在有很多公開的大語言模型,在各種應用上都展示出驚人的結果,但要部屬這樣的模型一般都需要付出相當高昂的成本。以 GPT-3 為例,依照 OpenAI 官方的說法,從模型架構研發到在 GPU instance 上訓練完成,總共花了 460萬美金(參考資料),這顯然不是隨便誰都可以玩得起的 side project。時隔兩年之後,即使有許多結構精簡化但效能接近 GPT-3 的新模型發佈,部屬大語言模型的成本依然相當可觀。

吾輩雖然玩不起 GPT-3,但也有一些替代的選擇:一是拿人家訓練好的語言模型來玩,例如直接使用 OpenAI 的 API;另一個選擇則是透過自行訓練小一點的模型,例如 GPT-2,進而更深入的理解大語言模型的能力與限制,進而搭配其他模型,透過堆疊來達到類似的效果。

這本小書的內容,基本上就是建立在上面所說的第二種選擇。我們使用 GPT-2 的模型架構,透過各種預訓練(pre-trained)和微調(fine-tuned)的模型,來生成具有各種不同「文字風格」的文句,然後透過另一個「接句成詩」的模型,來將語言模型生成的語句組合成類似詩的文體。我們經由各式各樣的模型設定,來生成不同型態的「詩」,然後透過對這些成品的賞析,再回過頭去檢驗我們對「詩為何物」的假設是否合理。

換言之,這是一個把「文學」作為「實驗科學」的嘗試。

在後續內文裡,我們會簡單的介紹語言模型的概念,並透過實際的例子,來看看各種模型生成的詩篇。

留言