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