陳丹琦團(tuán)隊(duì)揭Transformer內(nèi)部原理:另辟蹊徑,從構(gòu)建初代聊天機(jī)器人入手
好家伙!為了揭秘Transformer內(nèi)部工作原理,陳丹琦團(tuán)隊(duì)直接復(fù)現(xiàn)——
第一個(gè)經(jīng)典聊天機(jī)器人ELIZA。
圖片
ELIZA編寫于20世紀(jì)60年代,主要用于心理治療,在當(dāng)時(shí)似乎已經(jīng)能“聽懂”人說話。
比如下面這個(gè)例子:
圖片
可以看出,ELIZA的對(duì)話方式“有點(diǎn)狡猾”,像極了看似認(rèn)真實(shí)則敷衍的好閨蜜好兄弟~
由于表現(xiàn)出了早期語(yǔ)言模型行為,且算法簡(jiǎn)單,團(tuán)隊(duì)通過成功“復(fù)現(xiàn)”ELIZA揭開了Transformer的神秘面紗。
他們?cè)谘芯恐邪l(fā)現(xiàn):
- Transformer模型傾向于使用注意力機(jī)制來識(shí)別和復(fù)制序列中的特定模式,而非嚴(yán)格按照詞的位置來復(fù)制
- 即使沒有特別為記憶設(shè)計(jì)的工具,模型也能通過自己的計(jì)算過程來實(shí)現(xiàn)記憶效果
更多詳情接下來一睹為快。
復(fù)現(xiàn)經(jīng)典聊天機(jī)器人ELIZA
動(dòng)手前第一步,先來簡(jiǎn)單了解下ELIZA算法。
ELIZA同時(shí)使用本地模式匹配和兩種長(zhǎng)期記憶機(jī)制(循環(huán)遍歷響應(yīng)和記憶隊(duì)列)。
圖片
簡(jiǎn)單來說,本地模式匹配是指ELIZA有一套關(guān)鍵詞和規(guī)則,當(dāng)它看到用戶說的話里包含這些關(guān)鍵詞時(shí),就能按照規(guī)則給出回應(yīng)。
而且,ELIZA會(huì)記住以前是怎么回答類似問題的,然后換著花樣給出不同的回答。
甚至它還有自己的小本本(記憶隊(duì)列),可以把用戶說過的重要事情記下來。當(dāng)用戶提到以前的事情時(shí),ELIZA就可以翻翻筆記本,然后根據(jù)記得的內(nèi)容給出回應(yīng)。
摸清了上述原理,團(tuán)隊(duì)通過4個(gè)子任務(wù)來實(shí)現(xiàn)ELIZA算法。
其核心是使用一組模式匹配規(guī)則(稱為分解模板)和相應(yīng)的轉(zhuǎn)換規(guī)則(稱為重組規(guī)則)來生成響應(yīng)。
圖片
第一步,將輸入分成多個(gè)段落。
這里輸入的是對(duì)話歷史,包括用戶的輸入(標(biāo)記為“u:”)和ELIZA的響應(yīng)(標(biāo)記為“e:”)。
在多輪對(duì)話中,用戶輸入和ELIZA響應(yīng)會(huì)形成一個(gè)連續(xù)的序列,然后Transformer模型使用自注意力機(jī)制來處理這些輸入。它能夠通過注意力權(quán)重來識(shí)別對(duì)話中的重要部分,并據(jù)此生成響應(yīng)。
接下來,團(tuán)隊(duì)利用無星號(hào)正則表達(dá)式(Star-Free Regular Expression)來構(gòu)建ELIZA的模板匹配機(jī)制。
左側(cè)為分解模板,告訴我們機(jī)器人如何識(shí)別用戶說的話。比如,如果規(guī)則是“你 0 我”,那么“你討厭我”和“你覺得我怎么樣”都會(huì)被識(shí)別。
右側(cè)為重組規(guī)則,告訴機(jī)器人如何回應(yīng)。比如,如果規(guī)則是“你 0 我”,那么機(jī)器人可能會(huì)回應(yīng)“你為什么認(rèn)為我討厭你?”這里的“0”會(huì)被替換成用戶實(shí)際說的話。
模型嘗試將每個(gè)用戶輸入與一個(gè)“分解模板”匹配。這個(gè)過程是并行進(jìn)行的,意味著模型會(huì)同時(shí)比較每個(gè)用戶輸入與所有可能的模板,以找到最合適的匹配。
第三步,模型識(shí)別出得分最高的模板。在選擇轉(zhuǎn)換規(guī)則時(shí),模型不僅考慮模板的匹配度,還會(huì)考慮這個(gè)模板在對(duì)話中較早匹配的次數(shù)。這可能有助于模型更準(zhǔn)確地理解對(duì)話的上下文。
最后,在識(shí)別出匹配的模板后,模型需要生成一個(gè)合適的響應(yīng)。
這一過程涉及到兩種主要的復(fù)制機(jī)制:基于內(nèi)容的注意力(感應(yīng)頭)和基于位置的注意力。前者通過識(shí)別輸入序列中的模式來復(fù)制詞,而后者則依賴于詞在輸入中的具體位置。
為了模擬ELIZA的長(zhǎng)期記憶功能,團(tuán)隊(duì)還引入了循環(huán)遍歷重組規(guī)則和記憶隊(duì)列機(jī)制。
比如前者,一種方法是通過計(jì)算模板被匹配的次數(shù),并使用模運(yùn)算來選擇重組規(guī)則(模塊化前綴和);另一種方法是通過檢查模型之前的輸出來決定下一次的回應(yīng)(中間輸出)。
再比如后者,一種實(shí)現(xiàn)記憶隊(duì)列的方法是使用一個(gè)自動(dòng)機(jī),它可以通過增加或減少狀態(tài)來跟蹤隊(duì)列中的記憶(Gridworld automaton);另一種方法是通過分析模型之前的輸出來確定何時(shí)從記憶隊(duì)列中檢索記憶(中間輸出)。
通過以上幾個(gè)步驟,團(tuán)隊(duì)成功復(fù)現(xiàn)了ELIZA模型。
實(shí)驗(yàn)結(jié)論
為了測(cè)試效果,團(tuán)隊(duì)用新模型生成了合成的ELIZA數(shù)據(jù)集,這些數(shù)據(jù)集包括多輪對(duì)話,每輪對(duì)話最多包含512個(gè)詞。
然后,基于這些合成數(shù)據(jù),團(tuán)隊(duì)使用GPT-2從頭訓(xùn)練了新的Transformer模型。
新模型包含8層解碼器,每層有12個(gè)注意力頭,隱藏維度為768。
通過觀察模型在學(xué)習(xí)過程中的表現(xiàn),團(tuán)隊(duì)進(jìn)一步分析Transformer模型在處理對(duì)話任務(wù)時(shí)的行為和學(xué)習(xí)機(jī)制。
研究顯示,Transformer模型能夠快速學(xué)會(huì)識(shí)別正確的重組規(guī)則,但需要更長(zhǎng)時(shí)間來正確實(shí)施轉(zhuǎn)換。特別是在多輪對(duì)話和內(nèi)存隊(duì)列示例中,準(zhǔn)確性略低。
圖片
另外,團(tuán)隊(duì)進(jìn)一步分析了模型的錯(cuò)誤,發(fā)現(xiàn)模型在精確復(fù)制方面存在困難,尤其是當(dāng)需要復(fù)制的標(biāo)記數(shù)量較多時(shí)。同時(shí),模型在處理內(nèi)存隊(duì)列時(shí)也遇到了挑戰(zhàn),尤其是當(dāng)前回合與目標(biāo)內(nèi)存之間的距離較遠(yuǎn)時(shí)。
圖片
最重要的是,研究發(fā)現(xiàn)Transformer模型傾向于根據(jù)對(duì)話內(nèi)容的相似性(Induction Head)來選擇回答,而非嚴(yán)格按照詞出現(xiàn)的位置來復(fù)制;而且,通過調(diào)整數(shù)據(jù)屬性可以影響模型學(xué)習(xí)的機(jī)制。
圖片
事實(shí)上,除了上述具體發(fā)現(xiàn),該項(xiàng)目最大貢獻(xiàn)是給研究自動(dòng)可解釋性提供了新思路。自動(dòng)可解釋性是指系統(tǒng)能夠自動(dòng)生成解釋其決策過程的能力,這對(duì)于提高人工智能系統(tǒng)的透明度和可信度非常重要。
在本研究中,團(tuán)隊(duì)通過模仿ELIZA這樣的經(jīng)典聊天機(jī)器人,采用了一種結(jié)構(gòu)化和系統(tǒng)化的方法來分析模型的行為。
這種方法包括生成特定的數(shù)據(jù)集、設(shè)計(jì)特定的模型架構(gòu)和訓(xùn)練策略。
這一切實(shí)現(xiàn)了:
為大語(yǔ)言模型研究提供一個(gè)受控的理想化環(huán)境。
目前相關(guān)研究已公開,具體可進(jìn)一步查閱論文。
論文:https://arxiv.org/abs/2407.10949