符合人類創(chuàng)作過程的AIGC:自動(dòng)生成長(zhǎng)故事的模型出現(xiàn)了
在今天的人工智能領(lǐng)域,AI 寫作神器層出不窮,技術(shù)和產(chǎn)品可謂日新月異。
如果說 OpenAI 兩年前發(fā)布的 GPT-3 在文筆上還稍欠火候,那么前段時(shí)間的 ChatGPT 的生成結(jié)果可以算是「文筆華麗、情節(jié)飽滿、邏輯自洽兼而有之」。
有人說,AI 要是動(dòng)起筆來,那真是沒人類什么事了。
但不管是人類還是 AI,一旦把「字?jǐn)?shù)要求」提高,文章就會(huì)變得更難「駕馭」。
近日,華人 AI 研究科學(xué)家田淵棟和其他幾位研究者最近一起發(fā)布了一個(gè)新的語言模型——Re^3,這項(xiàng)研究也入選了 EMNLP 2022。
論文鏈接:?https://arxiv.org/pdf/2210.06774.pdf?
田淵棟曾在知乎上介紹這個(gè)模型:
Re^3 的想法極為簡(jiǎn)單,通過設(shè)計(jì) prompt 讓它生成一致性強(qiáng)的故事,完全不需要微調(diào)大模型。我們跳出語言模型的逐詞生成的線性邏輯,改用層次化生成方式:先在 Plan 階段生成故事角色,角色的各種屬性和大綱,然后在 Draft 階段給定故事大綱和角色,反復(fù)生成具體的段落,這些具體段落由 Rewrite 階段篩選,挑出與前一段落高度相關(guān)的生成段落,而丟棄關(guān)系不大的(這需要訓(xùn)練一個(gè)小模型),最后在 Edit 階段修正一些明顯的事實(shí)錯(cuò)誤。
方法介紹
Re^3 的思路是通過遞歸 Reprompt 和調(diào)整生成更長(zhǎng)的故事,這更符合人類作家的創(chuàng)作過程。Re^3 將人類寫作過程分解為規(guī)劃、草稿、改寫和編輯 4 個(gè)模塊。
規(guī)劃(Plan)模塊?
如下圖 2 所示,規(guī)劃模塊會(huì)將故事前提(Premise)擴(kuò)展為背景、人物角色和故事大綱。首先,背景是故事前提簡(jiǎn)單的一句話擴(kuò)展,使用 GPT3-Instruct-175B (Ouyang et al.,2022) 獲得;然后,GPT3-Instruct175B 再生成角色名稱,并根據(jù)前提和背景生成角色描述;最后,該方法 prompt GPT3-Instruct175B,以編寫故事大綱。規(guī)劃模塊中的組件是通過 prompt 自己生成的,將被反復(fù)使用。
草稿(Draft)模塊
針對(duì)規(guī)劃模塊得到的每一條大綱,草稿模塊會(huì)繼續(xù)生成幾個(gè)故事段落。每個(gè)段落都是從結(jié)構(gòu)化 prompt 生成的固定長(zhǎng)度續(xù)寫,結(jié)構(gòu)化 prompt 由遞歸 reprompt 形成,草稿模塊如下圖 3 所示。
改寫(Rewrite)模塊
生成器的第一個(gè)輸出通常是低質(zhì)量的,就像人們完成的初稿,二稿可能需要在反饋的基礎(chǔ)上改寫一篇文章。
改寫模塊通過根據(jù)與先前段落的連貫性和與當(dāng)前大綱點(diǎn)的相關(guān)性對(duì)草稿模塊輸出重新排序來模擬改寫過程,如下圖 4 所示。
編輯(Edit)模塊?
與大幅改寫不同的是,編輯模塊是對(duì)通過規(guī)劃、草稿和改寫模塊生成的段落的局部編輯,進(jìn)一步完善生成內(nèi)容。具體來說,目標(biāo)是消除長(zhǎng)序列的事實(shí)不一致。當(dāng)人們?cè)谛?duì)時(shí)發(fā)現(xiàn)一個(gè)小的事實(shí)不連續(xù),可能只是簡(jiǎn)單地編輯一下有問題的細(xì)節(jié),而不是對(duì)高層次的文章規(guī)劃進(jìn)行重大修改或進(jìn)行實(shí)質(zhì)性的改寫。編輯模塊通過兩個(gè)步驟來模仿人類創(chuàng)作的這個(gè)過程:檢測(cè)事實(shí)的不一致,并對(duì)其進(jìn)行糾正,如下圖 5 所示。
評(píng)估
在評(píng)估環(huán)節(jié),研究者將任務(wù)設(shè)定為在一個(gè)簡(jiǎn)短的初始前情下生成一個(gè)故事。由于「故事」很難用基于規(guī)則的方式來定義,研究者沒有對(duì)可接受的輸出施加任何基于規(guī)則的約束,而是通過幾個(gè)人為注釋的指標(biāo)來評(píng)估。為了生成初始前提,研究者用 GPT3-Instruct-175B 進(jìn)行了 prompt,以獲得 100 個(gè)不同的前情。
Baseline
由于先前的方法與 Re^3 相比更側(cè)重于短故事,所以很難直接比較。于是研究者使用了以下兩個(gè)基于 GPT3-175B 的基線:
1. ROLLING,通過 GPT3-175B 一次生成 256 個(gè) token,使用前情和所有先前生成的故事文本作為 prompt,如果超過 768 個(gè) token,則左截?cái)?prompt。因此,「滾動(dòng)窗口」最大上下文長(zhǎng)度是 1024,與 RE^3 中使用的最大上下文長(zhǎng)度相同。在生成了 3072 個(gè) token 后,研究者使用了與 RE^3 相同的故事結(jié)束機(jī)制。
2. ROLLING-FT,與 ROLLING 相同,只是 GPT3-175B 首先會(huì)對(duì) WritingPrompts 故事中的幾百個(gè)段落進(jìn)行微調(diào),這些段落至少有 3000 個(gè) token。
指標(biāo)
研究者使用的幾個(gè)評(píng)估指標(biāo)包括:
1、有趣。對(duì)讀者來說是有趣的。
2、連貫性。情節(jié)連貫。
3、相關(guān)性。忠實(shí)于最初的前情。
4、類人。被判斷為是人類寫的。
此外,研究者還追蹤了生成的故事有多少次出現(xiàn)以下幾方面的寫作問題:
1、敘事。敘述或風(fēng)格上的令人震驚的變化。
2、不一致。與事實(shí)不符或包含非常奇怪的細(xì)節(jié)。
3、混亂。令人困惑或難以理解。
4、重復(fù)性。高度的重復(fù)性。
5、不流暢。頻繁的語法錯(cuò)誤。
結(jié)果?
如表 1 所示,Re^3 在根據(jù)預(yù)期前情寫一個(gè)較長(zhǎng)的故事方面非常有效,同時(shí)能保持連貫的總體情節(jié),驗(yàn)證了研究者受人類寫作過程啟發(fā)而做出的設(shè)計(jì)選擇,以及遞歸 reprompting 生成方法。與 ROLLING 和 ROLLING-FT 相比,Re^3 在連貫性和相關(guān)性方面都有明顯提高。注釋者還將 Re^3 的故事標(biāo)記為「具有明顯較少的冗雜寫作問題」。
Re^3 表現(xiàn)出了絕對(duì)意義上的強(qiáng)大性能:注釋者認(rèn)為在兩次對(duì)比中,Re^3 的故事分別有 83.3% 和 80.0% 是由人類寫的。表 2 顯示了 Re^3 的一個(gè)經(jīng)過大量刪節(jié)的故事實(shí)例,可以看出很強(qiáng)的連貫性和前情相關(guān)性:
?
盡管如此,研究者仍從質(zhì)量上觀察到 Re^3 仍有很大的改進(jìn)空間。
表 3 中顯示了兩個(gè)共同的問題。首先,盡管 Re^3 幾乎總是在某種程度上遵循故事前情,但與基線故事不同,它們可能無法捕捉到前提的所有部分,也可能無法遵循規(guī)劃模塊生成的部分大綱(例如,表 3 中前情和大綱的第一部分)。其次,由于改寫模塊,特別是編輯模塊的失敗,仍然有一些混亂的段落或矛盾的語句:例如,在表 3 中,人物 Jaxon 在某些地方有一個(gè)矛盾的身份。
不過,與滾動(dòng)窗口方法(rolling window)不同,Re^3 的規(guī)劃方法能夠「自我糾正」,回到最初的情節(jié)。表 3 中故事的后半部分說明了這種能力。
分析
消融實(shí)驗(yàn)?
研究者探討了 Re^3 的各個(gè)模塊的相對(duì)貢獻(xiàn):規(guī)劃、草稿、改寫和編輯,并依次對(duì)每個(gè)模塊進(jìn)行消融實(shí)驗(yàn)。Draft 模塊除外,因?yàn)樯胁磺宄]有它的話系統(tǒng)會(huì)如何運(yùn)行。
表 4 顯示,模仿人類規(guī)劃和改寫過程的「規(guī)劃」和「改寫」模塊對(duì)整體情節(jié)的連貫性和前提的相關(guān)性至關(guān)重要。然而,「編輯」模塊對(duì)這些指標(biāo)的貢獻(xiàn)很小。研究者還從質(zhì)量上觀察到,在 Re^3 的最終故事中仍然存在許多連貫性問題,這些問題沒有被編輯模塊所解決,但這些問題可以由一個(gè)細(xì)心的人類編輯來解決。
「編輯」模塊的進(jìn)一步分析?
研究者使用了一個(gè)可控的環(huán)境,以研究「編輯」模塊是否至少能檢測(cè)到基于角色的事實(shí)不一致。檢測(cè)子系統(tǒng)稱為 STRUCTURED-DETECT,避免與整個(gè)編輯模塊混為一談。
如表 5 所示,當(dāng)檢測(cè)基于角色的不一致時(shí),根據(jù)標(biāo)準(zhǔn)的 ROC-AUC 分類指標(biāo),STRUCTUREDDETECT 優(yōu)于兩個(gè)基線。ENTAILMENT 系統(tǒng)的 ROC-AUC 得分勉強(qiáng)優(yōu)于偶然表現(xiàn)(0.5),突出了核心挑戰(zhàn),即檢測(cè)系統(tǒng)必須是壓倒性的精確。此外,STRUCTURED-DETECT 的設(shè)計(jì)是為了擴(kuò)展到較長(zhǎng)的段落。研究者假設(shè),與基線相比,性能差距會(huì)在有較長(zhǎng)輸入的評(píng)估中擴(kuò)大。
即使在這種簡(jiǎn)化的環(huán)境中,所有系統(tǒng)的絕對(duì)性能仍然很低。此外,許多生成的完整故事包含非角色的不一致,例如背景與當(dāng)前場(chǎng)景的不一致。雖然研究者沒有正式分析 GPT-3 編輯 API 在檢測(cè)到不一致之處后的修正能力,但也觀察到它可以修正孤立的細(xì)節(jié),而在處理較大的變化時(shí)會(huì)很吃力。
綜上所述,來自檢測(cè)和修正子系統(tǒng)的復(fù)合錯(cuò)誤使得本研究目前的編輯模塊很難在數(shù)千字的范圍內(nèi)有效地改善事實(shí)的一致性,而不同時(shí)引入不必要的變化。