長文本生成更流暢,斯坦福引入時(shí)間控制方法,論文入選ICLR 2022
近年來,包括 GPT-2 在內(nèi)的大型語言模型在文本生成方面非常成功,然而,大型語言模型會生成不連貫的長文本。一個(gè)原因是不能提前計(jì)劃或表征長段文本動態(tài)。因此,它們常常產(chǎn)生游離的內(nèi)容,語篇結(jié)構(gòu)差,關(guān)聯(lián)性低 ; 文本在生成時(shí)似乎沒有錨定目標(biāo)。當(dāng)自回歸模型生成更長的文本時(shí),這些連貫性問題進(jìn)一步惡化,因?yàn)槟P秃茈y推斷超出其預(yù)期的文本終點(diǎn)。這些問題表明,大型語言模型目前無法正確捕捉文檔從開始到結(jié)束的演變過程,而這對于完成面向目標(biāo)的任務(wù)至關(guān)重要,例如故事、對話或菜譜生成。
但是,使用學(xué)習(xí)的局部動態(tài)去生成精準(zhǔn)的 goal-conditioned trajectories 是很難的,尤其是長跨度的 trajectories。
在近期的一項(xiàng)研究中,斯坦福大學(xué)的研究者探索了一種替代方案,該替代方案明確假設(shè)了具有 goal-conditioned 生成的簡單、固定動態(tài)模型。這種新穎的方法提高了長文本生成的性能,人類評估者對其輸出的評分比基線方法高 28.6%。
研究者提出了時(shí)間控制(Time Control),作為學(xué)習(xí)已知 goal-conditioned 動態(tài)的潛在空間的方法。他們假設(shè)非目標(biāo)導(dǎo)向生成的 meandering 文本在潛在空間內(nèi)可以表征為布朗運(yùn)動,這種運(yùn)動使得相鄰句子的嵌入變得更為相似,相距較遠(yuǎn)的句子相異。借助固定的開始和結(jié)束節(jié)點(diǎn),目標(biāo)導(dǎo)向的行為能夠合并進(jìn)該模型。在這種情況下,布朗運(yùn)動變?yōu)榱瞬祭蕵颍纱水a(chǎn)生的潛在軌跡遵循簡單的封閉式動態(tài)。
論文鏈接:https://arxiv.org/pdf/2203.11370.pdf
在時(shí)間控制中,研究者推導(dǎo)了一個(gè)新的對比目標(biāo),用于學(xué)習(xí)一個(gè)具有布朗橋動態(tài)的潛空間。然后,利用這個(gè)潛在空間來生成保持局部連貫性并提高全局連貫性的文本。為了完成文本生成,時(shí)間控制首先通過固定在起始點(diǎn)和終止點(diǎn)的布朗橋過程規(guī)劃一個(gè)潛在的軌跡。然后它有條件地使用這個(gè)潛在規(guī)劃生成句子。在本文中,研究者根據(jù)時(shí)間控制的潛在軌跡,通過微調(diào) GPT2 來解碼潛在規(guī)劃、生成文本。來自時(shí)間控制的軌跡作為文檔中的抽象語義位置,指導(dǎo)生成精細(xì)調(diào)整的語言模型。
總體來說,這項(xiàng)研究的貢獻(xiàn)包括:
- 推導(dǎo)了時(shí)間控制語言模型,該語言模型用一種新的對比目標(biāo)學(xué)習(xí)的布朗橋動態(tài)顯式地模擬潛在結(jié)構(gòu)。
- 在一系列文本域中,與針對具體任務(wù)的方法相比,時(shí)間控制能夠生成更多或同樣連貫的任務(wù)文本,包括文本填充和強(qiáng)制生成長文本。
- 驗(yàn)證了結(jié)論,潛在表征通過評估與人類實(shí)驗(yàn)的語篇一致性來競爭性地捕捉文本動態(tài)。
- 同時(shí)調(diào)整了方法,以理解對比目標(biāo)的重要性,強(qiáng)化了布朗橋動態(tài),并明確建立潛在動態(tài)模型。
時(shí)間控制(TIME CONTROL)
時(shí)間控制背后的洞察是學(xué)習(xí)一個(gè)具有平滑時(shí)間動態(tài)的潛在空間,用于建模和生成連貫的文本。研究者將時(shí)間控制分為三個(gè)部分。第一部分討論通過對比學(xué)習(xí)訓(xùn)練編碼器將句子映射到布朗橋的潛在空間。第二部分討論了訓(xùn)練解碼器從這個(gè)潛在空間重構(gòu)句子。第三部分討論了從時(shí)間控制生成文本。
使用布朗橋動態(tài)訓(xùn)練編碼器
這里的編碼器是一個(gè)從原始輸入空間到潛在空間的非線性映射,f_θ: X → Z。該編碼器的目標(biāo)是將高維順序數(shù)據(jù)映射到低維潛在隨機(jī)過程,在本文中是布朗橋過程。在 t = 0 的任意起點(diǎn) z_0 和 t = T 的終點(diǎn) z_T 之間的布朗橋過程的密度是:
這種密度很容易理解: 它就像 trajectory 起點(diǎn)和終點(diǎn)之間的一個(gè)嘈雜的線性插值,起點(diǎn)的 z_T 應(yīng)該更像 z_0,終點(diǎn)更像 z_T。不確定度在中間區(qū)域最高,在終點(diǎn)附近最低。
圖 1 展示了目標(biāo)如何轉(zhuǎn)換為訓(xùn)練編碼器的語言設(shè)置??陀^事實(shí)取材于文獻(xiàn)中的三句話。從同一文本中抽取的句子構(gòu)成了一個(gè)平滑的潛在 trajectory,它們應(yīng)該彼此接近,在潛在空間中遵循條件密度。從不同文本中抽取的句子不應(yīng)該構(gòu)成一個(gè)平穩(wěn)的 trajectory,也不太可能遵循橋動態(tài)。
圖 1
使用潛在規(guī)劃訓(xùn)練解碼器
這一部分討論了如何訓(xùn)練一個(gè)語言模型來解碼潛在的生成計(jì)劃。首先使用預(yù)訓(xùn)練的編碼器 f_θ 將訓(xùn)練數(shù)據(jù)集中的所有句子映射到學(xué)習(xí)的潛在空間。這給出了數(shù)據(jù)集文檔的句子級潛在代碼 (z0,. . . ,zT,. . ,zT) 的布朗橋軌跡。然后,并不從零開始學(xué)習(xí)解碼器,而是根據(jù)過去上下文和潛在計(jì)劃微調(diào) GPT2 生成文本。
在推理時(shí)間根據(jù)潛在規(guī)劃生成文本
圖 2 展示了經(jīng)過訓(xùn)練的解碼器如何在推理時(shí)生成文本。給定兩個(gè)端點(diǎn) z_0,z_T,從一個(gè)潛在的布朗橋中抽取 trajectory 樣本,然后由這個(gè)橋上的解碼器生成。在許多情況下,我們可能并不清楚布朗橋的結(jié)束點(diǎn)。在這種情況下,可以編碼一組對應(yīng)于開始點(diǎn)和結(jié)束點(diǎn)的句子(例如訓(xùn)練集的第一個(gè)和最后一個(gè)句子),并對這些點(diǎn)擬合高斯形成一個(gè)密度估計(jì)。在這種情況下,生成涉及到首先從高斯采樣,然后像以前一樣從橋生成。有關(guān)訓(xùn)練和生成的更多細(xì)節(jié),可以參閱附錄 b。
圖 2
實(shí)驗(yàn)
在實(shí)驗(yàn)部分,研究者評估了時(shí)間控制捕捉文本動態(tài)的能力。具體來說,可拆分為以下的研究問題:
1、時(shí)間控制能夠?yàn)榫植课谋緞討B(tài)建模嗎?第 4.1 節(jié)使用一個(gè)句子排序預(yù)測任務(wù)來研究這個(gè)問題: 給定來自同一文檔的兩個(gè)句子,評估不同的模型是否能夠預(yù)測它們的原始順序。
2、時(shí)間控制能生成局部連貫的文本嗎?第 4.2 節(jié)使用文本填充任務(wù)來研究這個(gè)問題: 給定前綴和后綴,評估不同模型之間填充的效果。
3、時(shí)間可以控制全局文本動態(tài)模型嗎?第 4.3 節(jié)通過檢查生成部分的長度來研究維基百科城市文章的文本生成問題。
4、時(shí)間控制可以生成長的連貫文檔嗎?第 4.4 節(jié)研究了強(qiáng)制長文本生成的這個(gè)問題: 評估模型在生成過程中被迫外推時(shí)如何保存全局文本統(tǒng)計(jì)數(shù)據(jù)(例如典型的部分順序和長度)。
研究者使用不同的潛在維度運(yùn)行時(shí)間控制(d = 8,16,32)。編碼器架構(gòu)是一個(gè)從 Huggingface 獲得的凍結(jié)的 GPT2 預(yù)訓(xùn)練模型和可訓(xùn)練的 MLP 網(wǎng)絡(luò)。研究者提取出與 EOS token 對應(yīng)的最后一層隱藏狀態(tài),并在隱藏狀態(tài)的頂部訓(xùn)練 4 層 MLP。該 MLP 網(wǎng)絡(luò)具有中級的 ReLU 激活,并且受到隨機(jī)梯度下降的訓(xùn)練,學(xué)習(xí)率為 1 e-4,動量為 0.9。
這里評價(jià)了時(shí)間控制在語篇連貫設(shè)置中對局部語篇動態(tài)的模擬效果(RQ1)。語篇連貫通常是通過測試線性分類器是否能夠檢測有序和無序句子對來衡量表征是否能夠捕獲語篇結(jié)構(gòu)。這里比較了時(shí)間控制的編碼器與 GPT2 的最后一層的隱藏狀態(tài)對應(yīng)的 EOS token(Radford et al., 2019), BERT (Devlin et al., 2019), ALBERT (Lan et al., 2019), Sentence BERT (Reimers et al., 2019), SimCSE (Gao et al., 2021)。后四種方法被設(shè)計(jì)為句子嵌入模型。如表 1 所示,也進(jìn)行了消融研究。
表 1: 語篇連貫的準(zhǔn)確率由訓(xùn)練過的線性分類器的測試準(zhǔn)確率來衡量。
RQ1 的答案是肯定的:時(shí)間控制可以對對話和文章中的局部文本動態(tài)進(jìn)行建模。
然后,實(shí)驗(yàn)了評估時(shí)間控制如何生成局部連貫文本 (RQ2) 的文本填充設(shè)置。文本填充需要一個(gè)模型,讓一個(gè)缺少句子的不完整文本變得完整。例如,「Patty 很高興她的朋友們能來。Patty 和她的朋友們玩得很開心?!惯@里文本填充的挑戰(zhàn)是生成一個(gè)與左右相鄰句子局部連貫的句子。
研究者在 BLEU (Papineni et al. ,2002) ,ROUGE (Lin,2004) ,BLEURT (Sellam et al. ,2020)和 BERTScore (Zhang et al. ,2019)上評估了生成句和 ground truth 填充句之間的語篇連貫性,如表 2 和表 17 所示。
此外還包括人類作為補(bǔ)充句子的生成結(jié)果連貫程度的評估。參與者被要求對 ILM、LM 和 Time Control 生成的填充句子進(jìn)行 1-5 的評分(從不合理到非常合理)。
RQ2 的答案是:由于明確了潛在動態(tài),時(shí)間控制可以生成局部連貫的文本。
通過評估這些方法是否模擬了 Wikisection 上的文檔結(jié)構(gòu),研究者評估了時(shí)間控制對全局文本動態(tài) (RQ3) 建模的效果。他們檢查了生成的區(qū)段長度是否與數(shù)據(jù)集中的平均長度匹配。Wikisection 的每份文檔都包含一個(gè)城市的摘要、歷史、地理和人口部分。
評估結(jié)果肯定了時(shí)間控制對于建模全局文本動態(tài)的重要性,例如匹配文檔結(jié)構(gòu),這回答了 RQ3。
在省略 EOS token 的情況下,研究者評估了時(shí)間控制生成全局連貫文本 (RQ4) 的效果,稱之為強(qiáng)制長文本生成設(shè)置,因?yàn)槟P捅仨氃谏蓵r(shí)外推到其自然的終點(diǎn)以外。作為參考,1000 個(gè) token 要比一般的 Wikisection 文檔(最長的文本域)長 50% 。在這項(xiàng)任務(wù)上,本文提出的方法也獲得了更好的表現(xiàn)。
總結(jié)來說,時(shí)間控制提高了文本填充和話語連貫性任務(wù)的性能,并在排序和文本長度一致性為長文本生成保留了文本結(jié)構(gòu),證明了本文提出的方法能夠生成更多局部和全局連貫的文本。團(tuán)隊(duì)認(rèn)為,時(shí)間控制還可以擴(kuò)展到具有順序數(shù)據(jù)的其他領(lǐng)域,例如視頻或音頻,或者在沒有已知固定起點(diǎn)和終點(diǎn)的情況下處理任意橋接過程。
更多詳情可參考原論文。